summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/CMakeLists.txt1
-rw-r--r--src/yuzu/configuration/config.cpp2
-rw-r--r--src/yuzu/configuration/configure_system.cpp36
-rw-r--r--src/yuzu/configuration/configure_system.ui12
-rw-r--r--src/yuzu/debugger/controller.cpp10
5 files changed, 52 insertions, 9 deletions
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 4a7d35617..dfc675cc8 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -5,7 +5,6 @@ set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
# Set the RPATH for Qt Libraries
# This must be done before the `yuzu` target is created
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 2ea4f367b..3e51426c8 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -941,7 +941,6 @@ void Config::ReadValues() {
ReadRendererValues();
ReadAudioValues();
ReadSystemValues();
- ReadMultiplayerValues();
}
void Config::SavePlayerValue(std::size_t player_index) {
@@ -1099,7 +1098,6 @@ void Config::SaveValues() {
SaveRendererValues();
SaveAudioValues();
SaveSystemValues();
- SaveMultiplayerValues();
}
void Config::SaveAudioValues() {
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index 9b14e5903..94049f2f4 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -14,6 +14,26 @@
#include "yuzu/configuration/configuration_shared.h"
#include "yuzu/configuration/configure_system.h"
+constexpr std::array<u32, 7> LOCALE_BLOCKLIST{
+ // pzzefezrpnkzeidfej
+ // thhsrnhutlohsternp
+ // BHH4CG U
+ // Raa1AB S
+ // nn9
+ // ts
+ 0b0100011100001100000, // Japan
+ 0b0000001101001100100, // Americas
+ 0b0100110100001000010, // Europe
+ 0b0100110100001000010, // Australia
+ 0b0000000000000000000, // China
+ 0b0100111100001000000, // Korea
+ 0b0100111100001000000, // Taiwan
+};
+
+static bool IsValidLocale(u32 region_index, u32 language_index) {
+ return ((LOCALE_BLOCKLIST.at(region_index) >> language_index) & 1) == 0;
+}
+
ConfigureSystem::ConfigureSystem(Core::System& system_, QWidget* parent)
: QWidget(parent), ui{std::make_unique<Ui::ConfigureSystem>()}, system{system_} {
ui->setupUi(this);
@@ -34,6 +54,22 @@ ConfigureSystem::ConfigureSystem(Core::System& system_, QWidget* parent)
}
});
+ const auto locale_check = [this](int index) {
+ const bool valid_locale =
+ IsValidLocale(ui->combo_region->currentIndex(), ui->combo_language->currentIndex());
+ ui->label_warn_invalid_locale->setVisible(!valid_locale);
+ if (!valid_locale) {
+ ui->label_warn_invalid_locale->setText(
+ tr("Warning: \"%1\" is not a valid language for region \"%2\"")
+ .arg(ui->combo_language->currentText())
+ .arg(ui->combo_region->currentText()));
+ }
+ };
+
+ connect(ui->combo_language, qOverload<int>(&QComboBox::currentIndexChanged), this,
+ locale_check);
+ connect(ui->combo_region, qOverload<int>(&QComboBox::currentIndexChanged), this, locale_check);
+
ui->label_console_id->setVisible(Settings::IsConfiguringGlobal());
ui->button_regenerate_console_id->setVisible(Settings::IsConfiguringGlobal());
diff --git a/src/yuzu/configuration/configure_system.ui b/src/yuzu/configuration/configure_system.ui
index 46892f5c1..0459cd924 100644
--- a/src/yuzu/configuration/configure_system.ui
+++ b/src/yuzu/configuration/configure_system.ui
@@ -326,7 +326,7 @@
</item>
<item>
<property name="text">
- <string>English</string>
+ <string>American English</string>
</property>
</item>
<item>
@@ -546,6 +546,16 @@
</spacer>
</item>
<item>
+ <widget class="QLabel" name="label_warn_invalid_locale">
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QLabel" name="label_disable_info">
<property name="text">
<string>System settings are available only when game is not running.</string>
diff --git a/src/yuzu/debugger/controller.cpp b/src/yuzu/debugger/controller.cpp
index e4bf16a04..19f3775a3 100644
--- a/src/yuzu/debugger/controller.cpp
+++ b/src/yuzu/debugger/controller.cpp
@@ -93,7 +93,7 @@ void ControllerDialog::ControllerUpdate(Core::HID::ControllerTriggerType type) {
case Core::HID::ControllerTriggerType::Button:
case Core::HID::ControllerTriggerType::Stick: {
const auto buttons_values = controller->GetButtonsValues();
- const auto stick_values = controller->GetSticksValues();
+ const auto stick_values = controller->GetSticks();
u64 buttons = 0;
std::size_t index = 0;
for (const auto& button : buttons_values) {
@@ -101,12 +101,12 @@ void ControllerDialog::ControllerUpdate(Core::HID::ControllerTriggerType type) {
index++;
}
const InputCommon::TasInput::TasAnalog left_axis = {
- .x = stick_values[Settings::NativeAnalog::LStick].x.value,
- .y = stick_values[Settings::NativeAnalog::LStick].y.value,
+ .x = stick_values.left.x / 32767.f,
+ .y = stick_values.left.y / 32767.f,
};
const InputCommon::TasInput::TasAnalog right_axis = {
- .x = stick_values[Settings::NativeAnalog::RStick].x.value,
- .y = stick_values[Settings::NativeAnalog::RStick].y.value,
+ .x = stick_values.right.x / 32767.f,
+ .y = stick_values.right.y / 32767.f,
};
input_subsystem->GetTas()->RecordInput(buttons, left_axis, right_axis);
break;