commit
2c29c2b8dd
|
@ -104,7 +104,7 @@ object FileUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference: https://stackoverflow.com/questions/42186820/documentfile-is-very-slow
|
* Reference: https://stackoverflow.com/questions/42186820/documentfile-is-very-slow
|
||||||
* This function will be faster than DoucmentFile.listFiles
|
* This function will be faster than DocumentFile.listFiles
|
||||||
* @param uri Directory uri.
|
* @param uri Directory uri.
|
||||||
* @return CheapDocument lists.
|
* @return CheapDocument lists.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -205,7 +205,7 @@ jboolean Java_org_yuzu_yuzu_1emu_utils_NativeConfig_getIsRuntimeModifiable(JNIEn
|
||||||
jstring jkey) {
|
jstring jkey) {
|
||||||
auto setting = getSetting<std::string>(env, jkey);
|
auto setting = getSetting<std::string>(env, jkey);
|
||||||
if (setting != nullptr) {
|
if (setting != nullptr) {
|
||||||
return setting->RuntimeModfiable();
|
return setting->RuntimeModifiable();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<item>@string/language_dutch</item>
|
<item>@string/language_dutch</item>
|
||||||
<item>@string/language_english</item>
|
<item>@string/language_english</item>
|
||||||
<item>@string/language_french</item>
|
<item>@string/language_french</item>
|
||||||
<item>@string/langauge_german</item>
|
<item>@string/language_german</item>
|
||||||
<item>@string/language_italian</item>
|
<item>@string/language_italian</item>
|
||||||
<item>@string/language_japanese</item>
|
<item>@string/language_japanese</item>
|
||||||
<item>@string/language_korean</item>
|
<item>@string/language_korean</item>
|
||||||
|
|
|
@ -410,7 +410,7 @@
|
||||||
<string name="language_japanese" translatable="false">日本語</string>
|
<string name="language_japanese" translatable="false">日本語</string>
|
||||||
<string name="language_english" translatable="false">English</string>
|
<string name="language_english" translatable="false">English</string>
|
||||||
<string name="language_french" translatable="false">Français</string>
|
<string name="language_french" translatable="false">Français</string>
|
||||||
<string name="langauge_german" translatable="false">Deutsch</string>
|
<string name="language_german" translatable="false">Deutsch</string>
|
||||||
<string name="language_italian" translatable="false">Italiano</string>
|
<string name="language_italian" translatable="false">Italiano</string>
|
||||||
<string name="language_spanish" translatable="false">Español</string>
|
<string name="language_spanish" translatable="false">Español</string>
|
||||||
<string name="language_chinese" translatable="false">简体中文</string>
|
<string name="language_chinese" translatable="false">简体中文</string>
|
||||||
|
|
|
@ -11,7 +11,7 @@ ADSP::ADSP(Core::System& system, Sink::Sink& sink) {
|
||||||
opus_decoder = std::make_unique<OpusDecoder::OpusDecoder>(system);
|
opus_decoder = std::make_unique<OpusDecoder::OpusDecoder>(system);
|
||||||
opus_decoder->Send(Direction::DSP, OpusDecoder::Message::Start);
|
opus_decoder->Send(Direction::DSP, OpusDecoder::Message::Start);
|
||||||
if (opus_decoder->Receive(Direction::Host) != OpusDecoder::Message::StartOK) {
|
if (opus_decoder->Receive(Direction::Host) != OpusDecoder::Message::StartOK) {
|
||||||
LOG_ERROR(Service_Audio, "OpusDeocder failed to initialize.");
|
LOG_ERROR(Service_Audio, "OpusDecoder failed to initialize.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ void CommandGenerator::GenerateDataSourceCommand(VoiceInfo& voice_info,
|
||||||
const VoiceState& voice_state, const s8 channel) {
|
const VoiceState& voice_state, const s8 channel) {
|
||||||
if (voice_info.mix_id == UnusedMixId) {
|
if (voice_info.mix_id == UnusedMixId) {
|
||||||
if (voice_info.splitter_id != UnusedSplitterId) {
|
if (voice_info.splitter_id != UnusedSplitterId) {
|
||||||
auto destination{splitter_context.GetDesintationData(voice_info.splitter_id, 0)};
|
auto destination{splitter_context.GetDestinationData(voice_info.splitter_id, 0)};
|
||||||
u32 dest_id{0};
|
u32 dest_id{0};
|
||||||
while (destination != nullptr) {
|
while (destination != nullptr) {
|
||||||
if (destination->IsConfigured()) {
|
if (destination->IsConfigured()) {
|
||||||
|
@ -55,7 +55,7 @@ void CommandGenerator::GenerateDataSourceCommand(VoiceInfo& voice_info,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dest_id++;
|
dest_id++;
|
||||||
destination = splitter_context.GetDesintationData(voice_info.splitter_id, dest_id);
|
destination = splitter_context.GetDestinationData(voice_info.splitter_id, dest_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -234,7 +234,7 @@ void CommandGenerator::GenerateVoiceCommand(VoiceInfo& voice_info) {
|
||||||
if (voice_info.mix_id == UnusedMixId) {
|
if (voice_info.mix_id == UnusedMixId) {
|
||||||
if (voice_info.splitter_id != UnusedSplitterId) {
|
if (voice_info.splitter_id != UnusedSplitterId) {
|
||||||
auto i{channel};
|
auto i{channel};
|
||||||
auto destination{splitter_context.GetDesintationData(voice_info.splitter_id, i)};
|
auto destination{splitter_context.GetDestinationData(voice_info.splitter_id, i)};
|
||||||
while (destination != nullptr) {
|
while (destination != nullptr) {
|
||||||
if (destination->IsConfigured()) {
|
if (destination->IsConfigured()) {
|
||||||
const auto mix_id{destination->GetMixId()};
|
const auto mix_id{destination->GetMixId()};
|
||||||
|
@ -249,7 +249,7 @@ void CommandGenerator::GenerateVoiceCommand(VoiceInfo& voice_info) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
i += voice_info.channel_count;
|
i += voice_info.channel_count;
|
||||||
destination = splitter_context.GetDesintationData(voice_info.splitter_id, i);
|
destination = splitter_context.GetDestinationData(voice_info.splitter_id, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -591,7 +591,7 @@ void CommandGenerator::GenerateMixCommands(MixInfo& mix_info) {
|
||||||
if (mix_info.dst_splitter_id != UnusedSplitterId) {
|
if (mix_info.dst_splitter_id != UnusedSplitterId) {
|
||||||
s16 dest_id{0};
|
s16 dest_id{0};
|
||||||
auto destination{
|
auto destination{
|
||||||
splitter_context.GetDesintationData(mix_info.dst_splitter_id, dest_id)};
|
splitter_context.GetDestinationData(mix_info.dst_splitter_id, dest_id)};
|
||||||
while (destination != nullptr) {
|
while (destination != nullptr) {
|
||||||
if (destination->IsConfigured()) {
|
if (destination->IsConfigured()) {
|
||||||
auto splitter_mix_id{destination->GetMixId()};
|
auto splitter_mix_id{destination->GetMixId()};
|
||||||
|
@ -612,7 +612,7 @@ void CommandGenerator::GenerateMixCommands(MixInfo& mix_info) {
|
||||||
}
|
}
|
||||||
dest_id++;
|
dest_id++;
|
||||||
destination =
|
destination =
|
||||||
splitter_context.GetDesintationData(mix_info.dst_splitter_id, dest_id);
|
splitter_context.GetDestinationData(mix_info.dst_splitter_id, dest_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -93,7 +93,7 @@ bool MixInfo::UpdateConnection(EdgeMatrix& edge_matrix, const InParameter& in_pa
|
||||||
|
|
||||||
for (u32 i = 0; i < destination_count; i++) {
|
for (u32 i = 0; i < destination_count; i++) {
|
||||||
auto destination{
|
auto destination{
|
||||||
splitter_context.GetDesintationData(in_params.dest_splitter_id, i)};
|
splitter_context.GetDestinationData(in_params.dest_splitter_id, i)};
|
||||||
|
|
||||||
if (destination) {
|
if (destination) {
|
||||||
const auto destination_id{destination->GetMixId()};
|
const auto destination_id{destination->GetMixId()};
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
namespace AudioCore::Renderer {
|
namespace AudioCore::Renderer {
|
||||||
|
|
||||||
SplitterDestinationData* SplitterContext::GetDesintationData(const s32 splitter_id,
|
SplitterDestinationData* SplitterContext::GetDestinationData(const s32 splitter_id,
|
||||||
const s32 destination_id) {
|
const s32 destination_id) {
|
||||||
return splitter_infos[splitter_id].GetData(destination_id);
|
return splitter_infos[splitter_id].GetData(destination_id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ public:
|
||||||
* @param destination_id - Destination index within the splitter.
|
* @param destination_id - Destination index within the splitter.
|
||||||
* @return Pointer to the found destination. May be nullptr.
|
* @return Pointer to the found destination. May be nullptr.
|
||||||
*/
|
*/
|
||||||
SplitterDestinationData* GetDesintationData(s32 splitter_id, s32 destination_id);
|
SplitterDestinationData* GetDestinationData(s32 splitter_id, s32 destination_id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a splitter from the given index.
|
* Get a splitter from the given index.
|
||||||
|
|
|
@ -35,7 +35,7 @@ bool BasicSetting::Save() const {
|
||||||
return save;
|
return save;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BasicSetting::RuntimeModfiable() const {
|
bool BasicSetting::RuntimeModifiable() const {
|
||||||
return runtime_modifiable;
|
return runtime_modifiable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* @returns true if the current setting can be changed while the guest is running.
|
* @returns true if the current setting can be changed while the guest is running.
|
||||||
*/
|
*/
|
||||||
[[nodiscard]] bool RuntimeModfiable() const;
|
[[nodiscard]] bool RuntimeModifiable() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns A unique number corresponding to the setting.
|
* @returns A unique number corresponding to the setting.
|
||||||
|
|
|
@ -509,11 +509,11 @@ void EmulatedController::ReloadInput() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
turbo_button_state = 0;
|
turbo_button_state = 0;
|
||||||
is_initalized = true;
|
is_initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmulatedController::UnloadInput() {
|
void EmulatedController::UnloadInput() {
|
||||||
is_initalized = false;
|
is_initialized = false;
|
||||||
for (auto& button : button_devices) {
|
for (auto& button : button_devices) {
|
||||||
button.reset();
|
button.reset();
|
||||||
}
|
}
|
||||||
|
@ -1209,7 +1209,7 @@ void EmulatedController::SetNfc(const Common::Input::CallbackStatus& callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::SetVibration(std::size_t device_index, VibrationValue vibration) {
|
bool EmulatedController::SetVibration(std::size_t device_index, VibrationValue vibration) {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (device_index >= output_devices.size()) {
|
if (device_index >= output_devices.size()) {
|
||||||
|
@ -1247,7 +1247,7 @@ bool EmulatedController::IsVibrationEnabled(std::size_t device_index) {
|
||||||
const auto player_index = Service::HID::NpadIdTypeToIndex(npad_id_type);
|
const auto player_index = Service::HID::NpadIdTypeToIndex(npad_id_type);
|
||||||
const auto& player = Settings::values.players.GetValue()[player_index];
|
const auto& player = Settings::values.players.GetValue()[player_index];
|
||||||
|
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1270,7 +1270,7 @@ Common::Input::DriverResult EmulatedController::SetPollingMode(
|
||||||
EmulatedDeviceIndex device_index, Common::Input::PollingMode polling_mode) {
|
EmulatedDeviceIndex device_index, Common::Input::PollingMode polling_mode) {
|
||||||
LOG_INFO(Service_HID, "Set polling mode {}, device_index={}", polling_mode, device_index);
|
LOG_INFO(Service_HID, "Set polling mode {}, device_index={}", polling_mode, device_index);
|
||||||
|
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return Common::Input::DriverResult::InvalidHandle;
|
return Common::Input::DriverResult::InvalidHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1319,7 +1319,7 @@ bool EmulatedController::SetCameraFormat(
|
||||||
Core::IrSensor::ImageTransferProcessorFormat camera_format) {
|
Core::IrSensor::ImageTransferProcessorFormat camera_format) {
|
||||||
LOG_INFO(Service_HID, "Set camera format {}", camera_format);
|
LOG_INFO(Service_HID, "Set camera format {}", camera_format);
|
||||||
|
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1347,7 +1347,7 @@ void EmulatedController::SetRingParam(Common::ParamPackage param) {
|
||||||
|
|
||||||
bool EmulatedController::HasNfc() const {
|
bool EmulatedController::HasNfc() const {
|
||||||
|
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1388,7 +1388,7 @@ bool EmulatedController::RemoveNfcHandle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::StartNfcPolling() {
|
bool EmulatedController::StartNfcPolling() {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1403,7 +1403,7 @@ bool EmulatedController::StartNfcPolling() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::StopNfcPolling() {
|
bool EmulatedController::StopNfcPolling() {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1418,7 +1418,7 @@ bool EmulatedController::StopNfcPolling() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::ReadAmiiboData(std::vector<u8>& data) {
|
bool EmulatedController::ReadAmiiboData(std::vector<u8>& data) {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1434,7 +1434,7 @@ bool EmulatedController::ReadAmiiboData(std::vector<u8>& data) {
|
||||||
|
|
||||||
bool EmulatedController::ReadMifareData(const Common::Input::MifareRequest& request,
|
bool EmulatedController::ReadMifareData(const Common::Input::MifareRequest& request,
|
||||||
Common::Input::MifareRequest& out_data) {
|
Common::Input::MifareRequest& out_data) {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1450,7 +1450,7 @@ bool EmulatedController::ReadMifareData(const Common::Input::MifareRequest& requ
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::WriteMifareData(const Common::Input::MifareRequest& request) {
|
bool EmulatedController::WriteMifareData(const Common::Input::MifareRequest& request) {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1465,7 +1465,7 @@ bool EmulatedController::WriteMifareData(const Common::Input::MifareRequest& req
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmulatedController::WriteNfc(const std::vector<u8>& data) {
|
bool EmulatedController::WriteNfc(const std::vector<u8>& data) {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1480,7 +1480,7 @@ bool EmulatedController::WriteNfc(const std::vector<u8>& data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmulatedController::SetLedPattern() {
|
void EmulatedController::SetLedPattern() {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1508,8 +1508,8 @@ void EmulatedController::SetGyroscopeZeroDriftMode(GyroscopeZeroDriftMode mode)
|
||||||
motion.emulated.SetGyroThreshold(motion.emulated.ThresholdLoose);
|
motion.emulated.SetGyroThreshold(motion.emulated.ThresholdLoose);
|
||||||
break;
|
break;
|
||||||
case GyroscopeZeroDriftMode::Tight:
|
case GyroscopeZeroDriftMode::Tight:
|
||||||
motion_sensitivity = motion.emulated.IsAtRestThight;
|
motion_sensitivity = motion.emulated.IsAtRestTight;
|
||||||
motion.emulated.SetGyroThreshold(motion.emulated.ThresholdThight);
|
motion.emulated.SetGyroThreshold(motion.emulated.ThresholdTight);
|
||||||
break;
|
break;
|
||||||
case GyroscopeZeroDriftMode::Standard:
|
case GyroscopeZeroDriftMode::Standard:
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -559,7 +559,7 @@ private:
|
||||||
NpadStyleTag supported_style_tag{NpadStyleSet::All};
|
NpadStyleTag supported_style_tag{NpadStyleSet::All};
|
||||||
bool is_connected{false};
|
bool is_connected{false};
|
||||||
bool is_configuring{false};
|
bool is_configuring{false};
|
||||||
bool is_initalized{false};
|
bool is_initialized{false};
|
||||||
bool system_buttons_enabled{true};
|
bool system_buttons_enabled{true};
|
||||||
f32 motion_sensitivity{Core::HID::MotionInput::IsAtRestStandard};
|
f32 motion_sensitivity{Core::HID::MotionInput::IsAtRestStandard};
|
||||||
u32 turbo_button_state{0};
|
u32 turbo_button_state{0};
|
||||||
|
|
|
@ -13,12 +13,12 @@ class MotionInput {
|
||||||
public:
|
public:
|
||||||
static constexpr float ThresholdLoose = 0.01f;
|
static constexpr float ThresholdLoose = 0.01f;
|
||||||
static constexpr float ThresholdStandard = 0.007f;
|
static constexpr float ThresholdStandard = 0.007f;
|
||||||
static constexpr float ThresholdThight = 0.002f;
|
static constexpr float ThresholdTight = 0.002f;
|
||||||
|
|
||||||
static constexpr float IsAtRestRelaxed = 0.05f;
|
static constexpr float IsAtRestRelaxed = 0.05f;
|
||||||
static constexpr float IsAtRestLoose = 0.02f;
|
static constexpr float IsAtRestLoose = 0.02f;
|
||||||
static constexpr float IsAtRestStandard = 0.01f;
|
static constexpr float IsAtRestStandard = 0.01f;
|
||||||
static constexpr float IsAtRestThight = 0.005f;
|
static constexpr float IsAtRestTight = 0.005f;
|
||||||
|
|
||||||
static constexpr float GyroMaxValue = 5.0f;
|
static constexpr float GyroMaxValue = 5.0f;
|
||||||
static constexpr float AccelMaxValue = 7.0f;
|
static constexpr float AccelMaxValue = 7.0f;
|
||||||
|
|
|
@ -15,7 +15,7 @@ constexpr Result ResultVibrationNotInitialized{ErrorModule::HID, 121};
|
||||||
constexpr Result ResultVibrationInvalidStyleIndex{ErrorModule::HID, 122};
|
constexpr Result ResultVibrationInvalidStyleIndex{ErrorModule::HID, 122};
|
||||||
constexpr Result ResultVibrationInvalidNpadId{ErrorModule::HID, 123};
|
constexpr Result ResultVibrationInvalidNpadId{ErrorModule::HID, 123};
|
||||||
constexpr Result ResultVibrationDeviceIndexOutOfRange{ErrorModule::HID, 124};
|
constexpr Result ResultVibrationDeviceIndexOutOfRange{ErrorModule::HID, 124};
|
||||||
constexpr Result ResultVibrationStrenghtOutOfRange{ErrorModule::HID, 126};
|
constexpr Result ResultVibrationStrengthOutOfRange{ErrorModule::HID, 126};
|
||||||
constexpr Result ResultVibrationArraySizeMismatch{ErrorModule::HID, 131};
|
constexpr Result ResultVibrationArraySizeMismatch{ErrorModule::HID, 131};
|
||||||
|
|
||||||
constexpr Result InvalidSixAxisFusionRange{ErrorModule::HID, 423};
|
constexpr Result InvalidSixAxisFusionRange{ErrorModule::HID, 423};
|
||||||
|
|
|
@ -106,8 +106,8 @@ enum class HandAnalysisMode : u32 {
|
||||||
None,
|
None,
|
||||||
Silhouette,
|
Silhouette,
|
||||||
Image,
|
Image,
|
||||||
SilhoueteAndImage,
|
SilhouetteAndImage,
|
||||||
SilhuetteOnly,
|
SilhouetteOnly,
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is nn::irsensor::IrSensorFunctionLevel
|
// This is nn::irsensor::IrSensorFunctionLevel
|
||||||
|
|
|
@ -14,7 +14,7 @@ void HidFirmwareSettings::Reload() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HidFirmwareSettings::LoadSettings(bool reload_config) {
|
void HidFirmwareSettings::LoadSettings(bool reload_config) {
|
||||||
if (is_initalized && !reload_config) {
|
if (is_initialized && !reload_config) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ void HidFirmwareSettings::LoadSettings(bool reload_config) {
|
||||||
is_handheld_forced = true;
|
is_handheld_forced = true;
|
||||||
features_per_id_disabled = {};
|
features_per_id_disabled = {};
|
||||||
is_touch_firmware_auto_update_disabled = false;
|
is_touch_firmware_auto_update_disabled = false;
|
||||||
is_initalized = true;
|
is_initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HidFirmwareSettings::IsDebugPadEnabled() {
|
bool HidFirmwareSettings::IsDebugPadEnabled() {
|
||||||
|
|
|
@ -33,7 +33,7 @@ public:
|
||||||
FeaturesPerId FeaturesDisabledPerId();
|
FeaturesPerId FeaturesDisabledPerId();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool is_initalized{};
|
bool is_initialized{};
|
||||||
|
|
||||||
// Debug settings
|
// Debug settings
|
||||||
bool is_debug_pad_enabled{};
|
bool is_debug_pad_enabled{};
|
||||||
|
|
|
@ -318,7 +318,7 @@ struct InternalFlags {
|
||||||
BitField<1, 1, u32> is_connected;
|
BitField<1, 1, u32> is_connected;
|
||||||
BitField<2, 1, u32> is_battery_low_ovln_required;
|
BitField<2, 1, u32> is_battery_low_ovln_required;
|
||||||
BitField<3, 1, u32> is_battery_low_ovln_delay_required;
|
BitField<3, 1, u32> is_battery_low_ovln_delay_required;
|
||||||
BitField<4, 1, u32> is_sample_recieved;
|
BitField<4, 1, u32> is_sample_received;
|
||||||
BitField<5, 1, u32> is_virtual_input;
|
BitField<5, 1, u32> is_virtual_input;
|
||||||
BitField<6, 1, u32> is_wired;
|
BitField<6, 1, u32> is_wired;
|
||||||
BitField<8, 1, u32> use_center_clamp;
|
BitField<8, 1, u32> use_center_clamp;
|
||||||
|
|
|
@ -15,7 +15,7 @@ Result NpadVibration::Activate() {
|
||||||
|
|
||||||
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
||||||
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
||||||
// return ResultVibrationStrenghtOutOfRange;
|
// return ResultVibrationStrengthOutOfRange;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
volume = master_volume;
|
volume = master_volume;
|
||||||
|
@ -30,7 +30,7 @@ Result NpadVibration::SetVibrationMasterVolume(f32 master_volume) {
|
||||||
std::scoped_lock lock{mutex};
|
std::scoped_lock lock{mutex};
|
||||||
|
|
||||||
if (master_volume < 0.0f && master_volume > 1.0f) {
|
if (master_volume < 0.0f && master_volume > 1.0f) {
|
||||||
return ResultVibrationStrenghtOutOfRange;
|
return ResultVibrationStrengthOutOfRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
volume = master_volume;
|
volume = master_volume;
|
||||||
|
@ -50,7 +50,7 @@ Result NpadVibration::GetVibrationMasterVolume(f32& out_volume) const {
|
||||||
|
|
||||||
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
||||||
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
||||||
// return ResultVibrationStrenghtOutOfRange;
|
// return ResultVibrationStrengthOutOfRange;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
out_volume = master_volume;
|
out_volume = master_volume;
|
||||||
|
@ -69,7 +69,7 @@ Result NpadVibration::EndPermitVibrationSession() {
|
||||||
|
|
||||||
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
const f32 master_volume = 1.0f; // nn::settings::system::GetVibrationMasterVolume();
|
||||||
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
// if (master_volume < 0.0f || master_volume > 1.0f) {
|
||||||
// return ResultVibrationStrenghtOutOfRange;
|
// return ResultVibrationStrengthOutOfRange;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
volume = master_volume;
|
volume = master_volume;
|
||||||
|
|
|
@ -249,7 +249,7 @@ Result SixAxis::EnableSixAxisSensorUnalteredPassthrough(
|
||||||
}
|
}
|
||||||
|
|
||||||
auto& sixaxis = GetSixaxisState(sixaxis_handle);
|
auto& sixaxis = GetSixaxisState(sixaxis_handle);
|
||||||
sixaxis.unaltered_passtrough = is_enabled;
|
sixaxis.unaltered_passthrough = is_enabled;
|
||||||
return ResultSuccess;
|
return ResultSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -262,7 +262,7 @@ Result SixAxis::IsSixAxisSensorUnalteredPassthroughEnabled(
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto& sixaxis = GetSixaxisState(sixaxis_handle);
|
const auto& sixaxis = GetSixaxisState(sixaxis_handle);
|
||||||
is_enabled = sixaxis.unaltered_passtrough;
|
is_enabled = sixaxis.unaltered_passthrough;
|
||||||
return ResultSuccess;
|
return ResultSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ private:
|
||||||
|
|
||||||
struct SixaxisParameters {
|
struct SixaxisParameters {
|
||||||
bool is_fusion_enabled{true};
|
bool is_fusion_enabled{true};
|
||||||
bool unaltered_passtrough{false};
|
bool unaltered_passthrough{false};
|
||||||
Core::HID::SixAxisSensorFusionParameters fusion{};
|
Core::HID::SixAxisSensorFusionParameters fusion{};
|
||||||
Core::HID::SixAxisSensorCalibrationParameter calibration{};
|
Core::HID::SixAxisSensorCalibrationParameter calibration{};
|
||||||
Core::HID::SixAxisSensorIcInformation ic_information{};
|
Core::HID::SixAxisSensorIcInformation ic_information{};
|
||||||
|
|
|
@ -451,11 +451,11 @@ ButtonMapping GCAdapter::GetButtonMappingForDevice(const Common::ParamPackage& p
|
||||||
std::tuple{Settings::NativeButton::ZL, PadButton::TriggerL, PadAxes::TriggerLeft},
|
std::tuple{Settings::NativeButton::ZL, PadButton::TriggerL, PadAxes::TriggerLeft},
|
||||||
{Settings::NativeButton::ZR, PadButton::TriggerR, PadAxes::TriggerRight},
|
{Settings::NativeButton::ZR, PadButton::TriggerR, PadAxes::TriggerRight},
|
||||||
};
|
};
|
||||||
for (const auto& [switch_button, gcadapter_buton, gcadapter_axis] : switch_to_gcadapter_axis) {
|
for (const auto& [switch_button, gcadapter_button, gcadapter_axis] : switch_to_gcadapter_axis) {
|
||||||
Common::ParamPackage button_params{};
|
Common::ParamPackage button_params{};
|
||||||
button_params.Set("engine", GetEngineName());
|
button_params.Set("engine", GetEngineName());
|
||||||
button_params.Set("port", params.Get("port", 0));
|
button_params.Set("port", params.Get("port", 0));
|
||||||
button_params.Set("button", static_cast<s32>(gcadapter_buton));
|
button_params.Set("button", static_cast<s32>(gcadapter_button));
|
||||||
button_params.Set("axis", static_cast<s32>(gcadapter_axis));
|
button_params.Set("axis", static_cast<s32>(gcadapter_axis));
|
||||||
button_params.Set("threshold", 0.5f);
|
button_params.Set("threshold", 0.5f);
|
||||||
button_params.Set("range", 1.9f);
|
button_params.Set("range", 1.9f);
|
||||||
|
|
|
@ -236,9 +236,9 @@ Common::Input::DriverResult IrsProtocol::WriteRegistersStep2() {
|
||||||
.number_of_registers = 0x8,
|
.number_of_registers = 0x8,
|
||||||
.registers =
|
.registers =
|
||||||
{
|
{
|
||||||
IrsRegister{IrRegistersAddress::LedIntensitiyMSB,
|
IrsRegister{IrRegistersAddress::LedIntensityMSB,
|
||||||
static_cast<u8>(led_intensity >> 8)},
|
static_cast<u8>(led_intensity >> 8)},
|
||||||
{IrRegistersAddress::LedIntensitiyLSB, static_cast<u8>(led_intensity & 0xff)},
|
{IrRegistersAddress::LedIntensityLSB, static_cast<u8>(led_intensity & 0xff)},
|
||||||
{IrRegistersAddress::ImageFlip, static_cast<u8>(image_flip)},
|
{IrRegistersAddress::ImageFlip, static_cast<u8>(image_flip)},
|
||||||
{IrRegistersAddress::DenoiseSmoothing, static_cast<u8>((denoise >> 16) & 0xff)},
|
{IrRegistersAddress::DenoiseSmoothing, static_cast<u8>((denoise >> 16) & 0xff)},
|
||||||
{IrRegistersAddress::DenoiseEdge, static_cast<u8>((denoise >> 8) & 0xff)},
|
{IrRegistersAddress::DenoiseEdge, static_cast<u8>((denoise >> 8) & 0xff)},
|
||||||
|
|
|
@ -282,7 +282,7 @@ enum class NFCCommand : u8 {
|
||||||
CancelAll = 0x00,
|
CancelAll = 0x00,
|
||||||
StartPolling = 0x01,
|
StartPolling = 0x01,
|
||||||
StopPolling = 0x02,
|
StopPolling = 0x02,
|
||||||
StartWaitingRecieve = 0x04,
|
StartWaitingReceive = 0x04,
|
||||||
ReadNtag = 0x06,
|
ReadNtag = 0x06,
|
||||||
WriteNtag = 0x08,
|
WriteNtag = 0x08,
|
||||||
Mifare = 0x0F,
|
Mifare = 0x0F,
|
||||||
|
@ -382,8 +382,8 @@ enum class IrRegistersAddress : u16 {
|
||||||
FinalizeConfig = 0x0700,
|
FinalizeConfig = 0x0700,
|
||||||
LedFilter = 0x0e00,
|
LedFilter = 0x0e00,
|
||||||
Leds = 0x1000,
|
Leds = 0x1000,
|
||||||
LedIntensitiyMSB = 0x1100,
|
LedIntensityMSB = 0x1100,
|
||||||
LedIntensitiyLSB = 0x1200,
|
LedIntensityLSB = 0x1200,
|
||||||
ImageFlip = 0x2d00,
|
ImageFlip = 0x2d00,
|
||||||
Resolution = 0x2e00,
|
Resolution = 0x2e00,
|
||||||
DigitalGainLSB = 0x2e01,
|
DigitalGainLSB = 0x2e01,
|
||||||
|
|
|
@ -519,13 +519,13 @@ Common::Input::DriverResult NfcProtocol::GetMifareData(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output.mcu_report == MCUReport::NFCState && output.mcu_data[1] == 0x10) {
|
if (output.mcu_report == MCUReport::NFCState && output.mcu_data[1] == 0x10) {
|
||||||
constexpr std::size_t DATA_LENGHT = 0x10 + 1;
|
constexpr std::size_t DATA_LENGTH = 0x10 + 1;
|
||||||
constexpr std::size_t DATA_START = 11;
|
constexpr std::size_t DATA_START = 11;
|
||||||
const u8 number_of_elements = output.mcu_data[10];
|
const u8 number_of_elements = output.mcu_data[10];
|
||||||
for (std::size_t i = 0; i < number_of_elements; i++) {
|
for (std::size_t i = 0; i < number_of_elements; i++) {
|
||||||
out_data[i].sector = output.mcu_data[DATA_START + (i * DATA_LENGHT)];
|
out_data[i].sector = output.mcu_data[DATA_START + (i * DATA_LENGTH)];
|
||||||
memcpy(out_data[i].data.data(),
|
memcpy(out_data[i].data.data(),
|
||||||
output.mcu_data.data() + DATA_START + 1 + (i * DATA_LENGHT),
|
output.mcu_data.data() + DATA_START + 1 + (i * DATA_LENGTH),
|
||||||
sizeof(MifareReadData::data));
|
sizeof(MifareReadData::data));
|
||||||
}
|
}
|
||||||
package_index++;
|
package_index++;
|
||||||
|
@ -659,7 +659,7 @@ Common::Input::DriverResult NfcProtocol::SendStopPollingRequest(MCUCommandRespon
|
||||||
Common::Input::DriverResult NfcProtocol::SendNextPackageRequest(MCUCommandResponse& output,
|
Common::Input::DriverResult NfcProtocol::SendNextPackageRequest(MCUCommandResponse& output,
|
||||||
u8 packet_id) {
|
u8 packet_id) {
|
||||||
NFCRequestState request{
|
NFCRequestState request{
|
||||||
.command_argument = NFCCommand::StartWaitingRecieve,
|
.command_argument = NFCCommand::StartWaitingReceive,
|
||||||
.block_id = {},
|
.block_id = {},
|
||||||
.packet_id = packet_id,
|
.packet_id = packet_id,
|
||||||
.packet_flag = MCUPacketFlag::LastCommandPacket,
|
.packet_flag = MCUPacketFlag::LastCommandPacket,
|
||||||
|
|
|
@ -67,7 +67,7 @@ u8 RumbleProtocol::EncodeHighAmplitude(f32 amplitude) const {
|
||||||
// More information about these values can be found here:
|
// More information about these values can be found here:
|
||||||
// https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/rumble_data_table.md
|
// https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/rumble_data_table.md
|
||||||
|
|
||||||
static constexpr std::array<std::pair<f32, int>, 101> high_fequency_amplitude{
|
static constexpr std::array<std::pair<f32, int>, 101> high_frequency_amplitude{
|
||||||
std::pair<f32, int>{0.0f, 0x0},
|
std::pair<f32, int>{0.0f, 0x0},
|
||||||
{0.01f, 0x2},
|
{0.01f, 0x2},
|
||||||
{0.012f, 0x4},
|
{0.012f, 0x4},
|
||||||
|
@ -171,20 +171,20 @@ u8 RumbleProtocol::EncodeHighAmplitude(f32 amplitude) const {
|
||||||
{1.003f, 0xc8},
|
{1.003f, 0xc8},
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto& [amplitude_value, code] : high_fequency_amplitude) {
|
for (const auto& [amplitude_value, code] : high_frequency_amplitude) {
|
||||||
if (amplitude <= amplitude_value) {
|
if (amplitude <= amplitude_value) {
|
||||||
return static_cast<u8>(code);
|
return static_cast<u8>(code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return static_cast<u8>(high_fequency_amplitude[high_fequency_amplitude.size() - 1].second);
|
return static_cast<u8>(high_frequency_amplitude[high_frequency_amplitude.size() - 1].second);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 RumbleProtocol::EncodeLowAmplitude(f32 amplitude) const {
|
u16 RumbleProtocol::EncodeLowAmplitude(f32 amplitude) const {
|
||||||
// More information about these values can be found here:
|
// More information about these values can be found here:
|
||||||
// https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/rumble_data_table.md
|
// https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/rumble_data_table.md
|
||||||
|
|
||||||
static constexpr std::array<std::pair<f32, int>, 101> high_fequency_amplitude{
|
static constexpr std::array<std::pair<f32, int>, 101> high_frequency_amplitude{
|
||||||
std::pair<f32, int>{0.0f, 0x0040},
|
std::pair<f32, int>{0.0f, 0x0040},
|
||||||
{0.01f, 0x8040},
|
{0.01f, 0x8040},
|
||||||
{0.012f, 0x0041},
|
{0.012f, 0x0041},
|
||||||
|
@ -288,13 +288,13 @@ u16 RumbleProtocol::EncodeLowAmplitude(f32 amplitude) const {
|
||||||
{1.003f, 0x0072},
|
{1.003f, 0x0072},
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto& [amplitude_value, code] : high_fequency_amplitude) {
|
for (const auto& [amplitude_value, code] : high_frequency_amplitude) {
|
||||||
if (amplitude <= amplitude_value) {
|
if (amplitude <= amplitude_value) {
|
||||||
return static_cast<u16>(code);
|
return static_cast<u16>(code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return static_cast<u16>(high_fequency_amplitude[high_fequency_amplitude.size() - 1].second);
|
return static_cast<u16>(high_frequency_amplitude[high_frequency_amplitude.size() - 1].second);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace InputCommon::Joycon
|
} // namespace InputCommon::Joycon
|
||||||
|
|
|
@ -78,7 +78,7 @@ namespace Request {
|
||||||
enum RegisterFlags : u8 {
|
enum RegisterFlags : u8 {
|
||||||
AllPads,
|
AllPads,
|
||||||
PadID,
|
PadID,
|
||||||
PadMACAdddress,
|
PadMACAddress,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Version {};
|
struct Version {};
|
||||||
|
|
|
@ -724,7 +724,7 @@ RoomMember::CallbackHandle<RoomInformation> RoomMember::BindOnRoomInformationCha
|
||||||
return room_member_impl->Bind(callback);
|
return room_member_impl->Bind(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
RoomMember::CallbackHandle<ChatEntry> RoomMember::BindOnChatMessageRecieved(
|
RoomMember::CallbackHandle<ChatEntry> RoomMember::BindOnChatMessageReceived(
|
||||||
std::function<void(const ChatEntry&)> callback) {
|
std::function<void(const ChatEntry&)> callback) {
|
||||||
return room_member_impl->Bind(callback);
|
return room_member_impl->Bind(callback);
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,7 +254,7 @@ public:
|
||||||
* @param callback The function to call
|
* @param callback The function to call
|
||||||
* @return A handle used for removing the function from the registered list
|
* @return A handle used for removing the function from the registered list
|
||||||
*/
|
*/
|
||||||
CallbackHandle<ChatEntry> BindOnChatMessageRecieved(
|
CallbackHandle<ChatEntry> BindOnChatMessageReceived(
|
||||||
std::function<void(const ChatEntry&)> callback);
|
std::function<void(const ChatEntry&)> callback);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -608,8 +608,8 @@ std::string EmitContext::DefineGlobalMemoryFunctions() {
|
||||||
const auto aligned_low_addr{fmt::format("{}&{}", addr_xy[0], ssbo_align_mask)};
|
const auto aligned_low_addr{fmt::format("{}&{}", addr_xy[0], ssbo_align_mask)};
|
||||||
const auto aligned_addr{fmt::format("uvec2({},{})", aligned_low_addr, addr_xy[1])};
|
const auto aligned_addr{fmt::format("uvec2({},{})", aligned_low_addr, addr_xy[1])};
|
||||||
const auto addr_pack{fmt::format("packUint2x32({})", aligned_addr)};
|
const auto addr_pack{fmt::format("packUint2x32({})", aligned_addr)};
|
||||||
const auto addr_statment{fmt::format("uint64_t {}={};", ssbo_addr, addr_pack)};
|
const auto addr_statement{fmt::format("uint64_t {}={};", ssbo_addr, addr_pack)};
|
||||||
func += addr_statment;
|
func += addr_statement;
|
||||||
|
|
||||||
const auto size_vec{fmt::format("uvec2({},{})", size_xy[0], size_xy[1])};
|
const auto size_vec{fmt::format("uvec2({},{})", size_xy[0], size_xy[1])};
|
||||||
const auto comp_lhs{fmt::format("(addr>={})", ssbo_addr)};
|
const auto comp_lhs{fmt::format("(addr>={})", ssbo_addr)};
|
||||||
|
|
|
@ -55,7 +55,7 @@ public:
|
||||||
/// Requests to begin a renderpass.
|
/// Requests to begin a renderpass.
|
||||||
void RequestRenderpass(const Framebuffer* framebuffer);
|
void RequestRenderpass(const Framebuffer* framebuffer);
|
||||||
|
|
||||||
/// Requests the current executino context to be able to execute operations only allowed outside
|
/// Requests the current execution context to be able to execute operations only allowed outside
|
||||||
/// of a renderpass.
|
/// of a renderpass.
|
||||||
void RequestOutsideRenderPassOperationContext();
|
void RequestOutsideRenderPassOperationContext();
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ QtAmiiboSettingsDialog::QtAmiiboSettingsDialog(QWidget* parent,
|
||||||
QtAmiiboSettingsDialog::~QtAmiiboSettingsDialog() = default;
|
QtAmiiboSettingsDialog::~QtAmiiboSettingsDialog() = default;
|
||||||
|
|
||||||
int QtAmiiboSettingsDialog::exec() {
|
int QtAmiiboSettingsDialog::exec() {
|
||||||
if (!is_initalized) {
|
if (!is_initialized) {
|
||||||
return QDialog::Rejected;
|
return QDialog::Rejected;
|
||||||
}
|
}
|
||||||
return QDialog::exec();
|
return QDialog::exec();
|
||||||
|
@ -66,7 +66,7 @@ void QtAmiiboSettingsDialog::LoadInfo() {
|
||||||
QString::fromStdString(input_subsystem->GetVirtualAmiibo()->GetLastFilePath()));
|
QString::fromStdString(input_subsystem->GetVirtualAmiibo()->GetLastFilePath()));
|
||||||
|
|
||||||
SetSettingsDescription();
|
SetSettingsDescription();
|
||||||
is_initalized = true;
|
is_initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QtAmiiboSettingsDialog::LoadAmiiboInfo() {
|
void QtAmiiboSettingsDialog::LoadAmiiboInfo() {
|
||||||
|
|
|
@ -58,7 +58,7 @@ private:
|
||||||
Core::Frontend::CabinetParameters parameters;
|
Core::Frontend::CabinetParameters parameters;
|
||||||
|
|
||||||
// If false amiibo settings failed to load
|
// If false amiibo settings failed to load
|
||||||
bool is_initalized{};
|
bool is_initialized{};
|
||||||
};
|
};
|
||||||
|
|
||||||
class QtAmiiboSettings final : public QObject, public Core::Frontend::CabinetApplet {
|
class QtAmiiboSettings final : public QObject, public Core::Frontend::CabinetApplet {
|
||||||
|
|
|
@ -170,7 +170,7 @@ public:
|
||||||
|
|
||||||
void resizeEvent(QResizeEvent* event) override;
|
void resizeEvent(QResizeEvent* event) override;
|
||||||
|
|
||||||
/// Converts a Qt keybard key into NativeKeyboard key
|
/// Converts a Qt keyboard key into NativeKeyboard key
|
||||||
static int QtKeyToSwitchKey(Qt::Key qt_keys);
|
static int QtKeyToSwitchKey(Qt::Key qt_keys);
|
||||||
|
|
||||||
/// Converts a Qt modifier keys into NativeKeyboard modifier keys
|
/// Converts a Qt modifier keys into NativeKeyboard modifier keys
|
||||||
|
|
|
@ -845,12 +845,12 @@ void PlayerControlPreview::DrawProController(QPainter& p, const QPointF center)
|
||||||
DrawSymbol(p, face_center + QPoint(-face_distance, 1), Symbol::Y, text_size);
|
DrawSymbol(p, face_center + QPoint(-face_distance, 1), Symbol::Y, text_size);
|
||||||
|
|
||||||
// D-pad buttons
|
// D-pad buttons
|
||||||
const QPointF dpad_postion = center + QPoint(-61, 0);
|
const QPointF dpad_position = center + QPoint(-61, 0);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Up, button_values[DUp]);
|
DrawArrowButton(p, dpad_position, Direction::Up, button_values[DUp]);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Left, button_values[DLeft]);
|
DrawArrowButton(p, dpad_position, Direction::Left, button_values[DLeft]);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Right, button_values[DRight]);
|
DrawArrowButton(p, dpad_position, Direction::Right, button_values[DRight]);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Down, button_values[DDown]);
|
DrawArrowButton(p, dpad_position, Direction::Down, button_values[DDown]);
|
||||||
DrawArrowButtonOutline(p, dpad_postion);
|
DrawArrowButtonOutline(p, dpad_position);
|
||||||
|
|
||||||
// ZL and ZR buttons
|
// ZL and ZR buttons
|
||||||
p.setPen(colors.outline);
|
p.setPen(colors.outline);
|
||||||
|
@ -935,13 +935,13 @@ void PlayerControlPreview::DrawGCController(QPainter& p, const QPointF center) {
|
||||||
DrawSymbol(p, center + QPoint(100, -83), Symbol::Y, text_size);
|
DrawSymbol(p, center + QPoint(100, -83), Symbol::Y, text_size);
|
||||||
|
|
||||||
// D-pad buttons
|
// D-pad buttons
|
||||||
const QPointF dpad_postion = center + QPoint(-61, 37);
|
const QPointF dpad_position = center + QPoint(-61, 37);
|
||||||
const float dpad_size = 0.8f;
|
const float dpad_size = 0.8f;
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Up, button_values[DUp], dpad_size);
|
DrawArrowButton(p, dpad_position, Direction::Up, button_values[DUp], dpad_size);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Left, button_values[DLeft], dpad_size);
|
DrawArrowButton(p, dpad_position, Direction::Left, button_values[DLeft], dpad_size);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Right, button_values[DRight], dpad_size);
|
DrawArrowButton(p, dpad_position, Direction::Right, button_values[DRight], dpad_size);
|
||||||
DrawArrowButton(p, dpad_postion, Direction::Down, button_values[DDown], dpad_size);
|
DrawArrowButton(p, dpad_position, Direction::Down, button_values[DDown], dpad_size);
|
||||||
DrawArrowButtonOutline(p, dpad_postion, dpad_size);
|
DrawArrowButtonOutline(p, dpad_position, dpad_size);
|
||||||
|
|
||||||
// Minus and Plus buttons
|
// Minus and Plus buttons
|
||||||
p.setPen(colors.outline);
|
p.setPen(colors.outline);
|
||||||
|
|
|
@ -121,7 +121,7 @@ void ConfigureSystem::Setup(const ConfigurationShared::Builder& builder) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setting->Id() == Settings::values.region_index.Id()) {
|
if (setting->Id() == Settings::values.region_index.Id()) {
|
||||||
// Keep track of the region_index (and langauge_index) combobox to validate the selected
|
// Keep track of the region_index (and language_index) combobox to validate the selected
|
||||||
// settings
|
// settings
|
||||||
combo_region = widget->combobox;
|
combo_region = widget->combobox;
|
||||||
} else if (setting->Id() == Settings::values.language_index.Id()) {
|
} else if (setting->Id() == Settings::values.language_index.Id()) {
|
||||||
|
|
|
@ -750,12 +750,12 @@ Widget::Widget(Settings::BasicSetting* setting_, const TranslationMap& translati
|
||||||
}
|
}
|
||||||
|
|
||||||
apply_funcs.push_back([load_func, setting_](bool powered_on) {
|
apply_funcs.push_back([load_func, setting_](bool powered_on) {
|
||||||
if (setting_->RuntimeModfiable() || !powered_on) {
|
if (setting_->RuntimeModifiable() || !powered_on) {
|
||||||
load_func();
|
load_func();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
bool enable = runtime_lock || setting.RuntimeModfiable();
|
bool enable = runtime_lock || setting.RuntimeModifiable();
|
||||||
if (setting.Switchable() && Settings::IsConfiguringGlobal() && !runtime_lock) {
|
if (setting.Switchable() && Settings::IsConfiguringGlobal() && !runtime_lock) {
|
||||||
enable &= setting.UsingGlobal();
|
enable &= setting.UsingGlobal();
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ void ChatRoom::Initialize(Network::RoomNetwork* room_network_) {
|
||||||
room_network = room_network_;
|
room_network = room_network_;
|
||||||
// setup the callbacks for network updates
|
// setup the callbacks for network updates
|
||||||
if (auto member = room_network->GetRoomMember().lock()) {
|
if (auto member = room_network->GetRoomMember().lock()) {
|
||||||
member->BindOnChatMessageRecieved(
|
member->BindOnChatMessageReceived(
|
||||||
[this](const Network::ChatEntry& chat) { emit ChatReceived(chat); });
|
[this](const Network::ChatEntry& chat) { emit ChatReceived(chat); });
|
||||||
member->BindOnStatusMessageReceived(
|
member->BindOnStatusMessageReceived(
|
||||||
[this](const Network::StatusMessageEntry& status_message) {
|
[this](const Network::StatusMessageEntry& status_message) {
|
||||||
|
|
|
@ -401,7 +401,7 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
if (use_multiplayer) {
|
if (use_multiplayer) {
|
||||||
if (auto member = system.GetRoomNetwork().GetRoomMember().lock()) {
|
if (auto member = system.GetRoomNetwork().GetRoomMember().lock()) {
|
||||||
member->BindOnChatMessageRecieved(OnMessageReceived);
|
member->BindOnChatMessageReceived(OnMessageReceived);
|
||||||
member->BindOnStatusMessageReceived(OnStatusMessageReceived);
|
member->BindOnStatusMessageReceived(OnStatusMessageReceived);
|
||||||
member->BindOnStateChanged(OnStateChanged);
|
member->BindOnStateChanged(OnStateChanged);
|
||||||
member->BindOnError(OnNetworkError);
|
member->BindOnError(OnNetworkError);
|
||||||
|
|
Reference in New Issue