summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applets/controller.cpp26
-rw-r--r--src/core/hle/service/am/applets/controller.h4
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 {
21using IdentificationColor = std::array<u8, 4>; 21using IdentificationColor = std::array<u8, 4>;
22using ExplainText = std::array<char, 0x81>; 22using ExplainText = std::array<char, 0x81>;
23 23
24enum class LibraryAppletVersion : u32_le { 24enum 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:
121private: 121private:
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;