diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/service/am/applets/controller.cpp | 26 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/controller.h | 4 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/core/hle/service/am/applets/controller.cpp b/src/core/hle/service/am/applets/controller.cpp index 4da10dd38..a0152b4ea 100644 --- a/src/core/hle/service/am/applets/controller.cpp +++ b/src/core/hle/service/am/applets/controller.cpp | |||
| @@ -62,7 +62,7 @@ void Controller::Initialize() { | |||
| 62 | common_args.play_startup_sound, common_args.size, common_args.system_tick, | 62 | common_args.play_startup_sound, common_args.size, common_args.system_tick, |
| 63 | common_args.theme_color); | 63 | common_args.theme_color); |
| 64 | 64 | ||
| 65 | library_applet_version = LibraryAppletVersion{common_args.library_version}; | 65 | controller_applet_version = ControllerAppletVersion{common_args.library_version}; |
| 66 | 66 | ||
| 67 | const auto private_arg_storage = broker.PopNormalDataToApplet(); | 67 | const auto private_arg_storage = broker.PopNormalDataToApplet(); |
| 68 | ASSERT(private_arg_storage != nullptr); | 68 | ASSERT(private_arg_storage != nullptr); |
| @@ -73,7 +73,7 @@ void Controller::Initialize() { | |||
| 73 | std::memcpy(&controller_private_arg, private_arg.data(), private_arg.size()); | 73 | std::memcpy(&controller_private_arg, private_arg.data(), private_arg.size()); |
| 74 | ASSERT_MSG(controller_private_arg.arg_private_size == sizeof(ControllerSupportArgPrivate), | 74 | ASSERT_MSG(controller_private_arg.arg_private_size == sizeof(ControllerSupportArgPrivate), |
| 75 | "Unknown ControllerSupportArgPrivate revision={} with size={}", | 75 | "Unknown ControllerSupportArgPrivate revision={} with size={}", |
| 76 | library_applet_version, controller_private_arg.arg_private_size); | 76 | controller_applet_version, controller_private_arg.arg_private_size); |
| 77 | 77 | ||
| 78 | // Some games such as Cave Story+ set invalid values for the ControllerSupportMode. | 78 | // Some games such as Cave Story+ set invalid values for the ControllerSupportMode. |
| 79 | // Defer to arg_size to set the ControllerSupportMode. | 79 | // Defer to arg_size to set the ControllerSupportMode. |
| @@ -112,20 +112,20 @@ void Controller::Initialize() { | |||
| 112 | ASSERT(user_arg_storage != nullptr); | 112 | ASSERT(user_arg_storage != nullptr); |
| 113 | 113 | ||
| 114 | const auto& user_arg = user_arg_storage->GetData(); | 114 | const auto& user_arg = user_arg_storage->GetData(); |
| 115 | switch (library_applet_version) { | 115 | switch (controller_applet_version) { |
| 116 | case LibraryAppletVersion::Version3: | 116 | case ControllerAppletVersion::Version3: |
| 117 | case LibraryAppletVersion::Version4: | 117 | case ControllerAppletVersion::Version4: |
| 118 | case LibraryAppletVersion::Version5: | 118 | case ControllerAppletVersion::Version5: |
| 119 | ASSERT(user_arg.size() == sizeof(ControllerSupportArgOld)); | 119 | ASSERT(user_arg.size() == sizeof(ControllerSupportArgOld)); |
| 120 | std::memcpy(&controller_user_arg_old, user_arg.data(), user_arg.size()); | 120 | std::memcpy(&controller_user_arg_old, user_arg.data(), user_arg.size()); |
| 121 | break; | 121 | break; |
| 122 | case LibraryAppletVersion::Version7: | 122 | case ControllerAppletVersion::Version7: |
| 123 | ASSERT(user_arg.size() == sizeof(ControllerSupportArgNew)); | 123 | ASSERT(user_arg.size() == sizeof(ControllerSupportArgNew)); |
| 124 | std::memcpy(&controller_user_arg_new, user_arg.data(), user_arg.size()); | 124 | std::memcpy(&controller_user_arg_new, user_arg.data(), user_arg.size()); |
| 125 | break; | 125 | break; |
| 126 | default: | 126 | default: |
| 127 | UNIMPLEMENTED_MSG("Unknown ControllerSupportArg revision={} with size={}", | 127 | UNIMPLEMENTED_MSG("Unknown ControllerSupportArg revision={} with size={}", |
| 128 | library_applet_version, controller_private_arg.arg_size); | 128 | controller_applet_version, controller_private_arg.arg_size); |
| 129 | ASSERT(user_arg.size() >= sizeof(ControllerSupportArgNew)); | 129 | ASSERT(user_arg.size() >= sizeof(ControllerSupportArgNew)); |
| 130 | std::memcpy(&controller_user_arg_new, user_arg.data(), sizeof(ControllerSupportArgNew)); | 130 | std::memcpy(&controller_user_arg_new, user_arg.data(), sizeof(ControllerSupportArgNew)); |
| 131 | break; | 131 | break; |
| @@ -165,10 +165,10 @@ void Controller::Execute() { | |||
| 165 | switch (controller_private_arg.mode) { | 165 | switch (controller_private_arg.mode) { |
| 166 | case ControllerSupportMode::ShowControllerSupport: { | 166 | case ControllerSupportMode::ShowControllerSupport: { |
| 167 | const auto parameters = [this] { | 167 | const auto parameters = [this] { |
| 168 | switch (library_applet_version) { | 168 | switch (controller_applet_version) { |
| 169 | case LibraryAppletVersion::Version3: | 169 | case ControllerAppletVersion::Version3: |
| 170 | case LibraryAppletVersion::Version4: | 170 | case ControllerAppletVersion::Version4: |
| 171 | case LibraryAppletVersion::Version5: | 171 | case ControllerAppletVersion::Version5: |
| 172 | return ConvertToFrontendParameters( | 172 | return ConvertToFrontendParameters( |
| 173 | controller_private_arg, controller_user_arg_old.header, | 173 | controller_private_arg, controller_user_arg_old.header, |
| 174 | controller_user_arg_old.enable_explain_text, | 174 | controller_user_arg_old.enable_explain_text, |
| @@ -177,7 +177,7 @@ void Controller::Execute() { | |||
| 177 | controller_user_arg_old.identification_colors.end()), | 177 | controller_user_arg_old.identification_colors.end()), |
| 178 | std::vector<ExplainText>(controller_user_arg_old.explain_text.begin(), | 178 | std::vector<ExplainText>(controller_user_arg_old.explain_text.begin(), |
| 179 | controller_user_arg_old.explain_text.end())); | 179 | controller_user_arg_old.explain_text.end())); |
| 180 | case LibraryAppletVersion::Version7: | 180 | case ControllerAppletVersion::Version7: |
| 181 | default: | 181 | default: |
| 182 | return ConvertToFrontendParameters( | 182 | return ConvertToFrontendParameters( |
| 183 | controller_private_arg, controller_user_arg_new.header, | 183 | controller_private_arg, controller_user_arg_new.header, |
diff --git a/src/core/hle/service/am/applets/controller.h b/src/core/hle/service/am/applets/controller.h index dfc52da58..a7a1f2b65 100644 --- a/src/core/hle/service/am/applets/controller.h +++ b/src/core/hle/service/am/applets/controller.h | |||
| @@ -21,7 +21,7 @@ namespace Service::AM::Applets { | |||
| 21 | using IdentificationColor = std::array<u8, 4>; | 21 | using IdentificationColor = std::array<u8, 4>; |
| 22 | using ExplainText = std::array<char, 0x81>; | 22 | using ExplainText = std::array<char, 0x81>; |
| 23 | 23 | ||
| 24 | enum class LibraryAppletVersion : u32_le { | 24 | enum class ControllerAppletVersion : u32_le { |
| 25 | Version3 = 0x3, // 1.0.0 - 2.3.0 | 25 | Version3 = 0x3, // 1.0.0 - 2.3.0 |
| 26 | Version4 = 0x4, // 3.0.0 - 5.1.0 | 26 | Version4 = 0x4, // 3.0.0 - 5.1.0 |
| 27 | Version5 = 0x5, // 6.0.0 - 7.0.1 | 27 | Version5 = 0x5, // 6.0.0 - 7.0.1 |
| @@ -121,7 +121,7 @@ public: | |||
| 121 | private: | 121 | private: |
| 122 | const Core::Frontend::ControllerApplet& frontend; | 122 | const Core::Frontend::ControllerApplet& frontend; |
| 123 | 123 | ||
| 124 | LibraryAppletVersion library_applet_version; | 124 | ControllerAppletVersion controller_applet_version; |
| 125 | ControllerSupportArgPrivate controller_private_arg; | 125 | ControllerSupportArgPrivate controller_private_arg; |
| 126 | ControllerSupportArgOld controller_user_arg_old; | 126 | ControllerSupportArgOld controller_user_arg_old; |
| 127 | ControllerSupportArgNew controller_user_arg_new; | 127 | ControllerSupportArgNew controller_user_arg_new; |