summaryrefslogtreecommitdiff
path: root/src/core/hle/service/set
diff options
context:
space:
mode:
authorGravatar FrozenAra2023-11-01 01:09:33 +0100
committerGravatar FrozenAra2023-11-19 18:38:58 +0100
commitcb004d1ba1bde740ba10418ac3f3cfd2db8ffac7 (patch)
treedfcff7952ed84cea825e1144284d82505ec09731 /src/core/hle/service/set
parentMerge pull request #12055 from german77/activate (diff)
downloadyuzu-cb004d1ba1bde740ba10418ac3f3cfd2db8ffac7.tar.gz
yuzu-cb004d1ba1bde740ba10418ac3f3cfd2db8ffac7.tar.xz
yuzu-cb004d1ba1bde740ba10418ac3f3cfd2db8ffac7.zip
Implemented qlaunch version of the controller applet
Diffstat (limited to 'src/core/hle/service/set')
-rw-r--r--src/core/hle/service/set/set_sys.cpp30
-rw-r--r--src/core/hle/service/set/set_sys.h12
2 files changed, 38 insertions, 4 deletions
diff --git a/src/core/hle/service/set/set_sys.cpp b/src/core/hle/service/set/set_sys.cpp
index ec3af80af..19c667b42 100644
--- a/src/core/hle/service/set/set_sys.cpp
+++ b/src/core/hle/service/set/set_sys.cpp
@@ -431,8 +431,7 @@ void SET_SYS::GetAutoUpdateEnableFlag(HLERequestContext& ctx) {
431void SET_SYS::GetBatteryPercentageFlag(HLERequestContext& ctx) { 431void SET_SYS::GetBatteryPercentageFlag(HLERequestContext& ctx) {
432 u8 battery_percentage_flag{1}; 432 u8 battery_percentage_flag{1};
433 433
434 LOG_WARNING(Service_SET, "(STUBBED) called, battery_percentage_flag={}", 434 LOG_DEBUG(Service_SET, "(STUBBED) called, battery_percentage_flag={}", battery_percentage_flag);
435 battery_percentage_flag);
436 435
437 IPC::ResponseBuilder rb{ctx, 3}; 436 IPC::ResponseBuilder rb{ctx, 3};
438 rb.Push(ResultSuccess); 437 rb.Push(ResultSuccess);
@@ -492,6 +491,29 @@ void SET_SYS::GetChineseTraditionalInputMethod(HLERequestContext& ctx) {
492 rb.PushEnum(ChineseTraditionalInputMethod::Unknown0); 491 rb.PushEnum(ChineseTraditionalInputMethod::Unknown0);
493} 492}
494 493
494void SET_SYS::GetHomeMenuScheme(HLERequestContext& ctx) {
495 LOG_DEBUG(Service_SET, "(STUBBED) called");
496
497 const HomeMenuScheme default_color = {
498 .main = 0xFF323232,
499 .back = 0xFF323232,
500 .sub = 0xFFFFFFFF,
501 .bezel = 0xFFFFFFFF,
502 .extra = 0xFF000000,
503 };
504
505 IPC::ResponseBuilder rb{ctx, 7};
506 rb.Push(ResultSuccess);
507 rb.PushRaw(default_color);
508}
509
510void SET_SYS::GetHomeMenuSchemeModel(HLERequestContext& ctx) {
511 LOG_WARNING(Service_SET, "(STUBBED) called");
512
513 IPC::ResponseBuilder rb{ctx, 3};
514 rb.Push(ResultSuccess);
515 rb.Push(0);
516}
495void SET_SYS::GetFieldTestingFlag(HLERequestContext& ctx) { 517void SET_SYS::GetFieldTestingFlag(HLERequestContext& ctx) {
496 LOG_WARNING(Service_SET, "(STUBBED) called"); 518 LOG_WARNING(Service_SET, "(STUBBED) called");
497 519
@@ -674,7 +696,7 @@ SET_SYS::SET_SYS(Core::System& system_) : ServiceFramework{system_, "set:sys"} {
674 {171, nullptr, "SetChineseTraditionalInputMethod"}, 696 {171, nullptr, "SetChineseTraditionalInputMethod"},
675 {172, nullptr, "GetPtmCycleCountReliability"}, 697 {172, nullptr, "GetPtmCycleCountReliability"},
676 {173, nullptr, "SetPtmCycleCountReliability"}, 698 {173, nullptr, "SetPtmCycleCountReliability"},
677 {174, nullptr, "GetHomeMenuScheme"}, 699 {174, &SET_SYS::GetHomeMenuScheme, "GetHomeMenuScheme"},
678 {175, nullptr, "GetThemeSettings"}, 700 {175, nullptr, "GetThemeSettings"},
679 {176, nullptr, "SetThemeSettings"}, 701 {176, nullptr, "SetThemeSettings"},
680 {177, nullptr, "GetThemeKey"}, 702 {177, nullptr, "GetThemeKey"},
@@ -685,7 +707,7 @@ SET_SYS::SET_SYS(Core::System& system_) : ServiceFramework{system_, "set:sys"} {
685 {182, nullptr, "SetT"}, 707 {182, nullptr, "SetT"},
686 {183, nullptr, "GetPlatformRegion"}, 708 {183, nullptr, "GetPlatformRegion"},
687 {184, nullptr, "SetPlatformRegion"}, 709 {184, nullptr, "SetPlatformRegion"},
688 {185, nullptr, "GetHomeMenuSchemeModel"}, 710 {185, &SET_SYS::GetHomeMenuSchemeModel, "GetHomeMenuSchemeModel"},
689 {186, nullptr, "GetMemoryUsageRateFlag"}, 711 {186, nullptr, "GetMemoryUsageRateFlag"},
690 {187, nullptr, "GetTouchScreenMode"}, 712 {187, nullptr, "GetTouchScreenMode"},
691 {188, nullptr, "SetTouchScreenMode"}, 713 {188, nullptr, "SetTouchScreenMode"},
diff --git a/src/core/hle/service/set/set_sys.h b/src/core/hle/service/set/set_sys.h
index c7dba2a9e..93023c6dd 100644
--- a/src/core/hle/service/set/set_sys.h
+++ b/src/core/hle/service/set/set_sys.h
@@ -269,6 +269,16 @@ private:
269 }; 269 };
270 static_assert(sizeof(EulaVersion) == 0x30, "EulaVersion is incorrect size"); 270 static_assert(sizeof(EulaVersion) == 0x30, "EulaVersion is incorrect size");
271 271
272 /// This is nn::settings::system::HomeMenuScheme
273 struct HomeMenuScheme {
274 u32 main;
275 u32 back;
276 u32 sub;
277 u32 bezel;
278 u32 extra;
279 };
280 static_assert(sizeof(HomeMenuScheme) == 0x14, "HomeMenuScheme is incorrect size");
281
272 void SetLanguageCode(HLERequestContext& ctx); 282 void SetLanguageCode(HLERequestContext& ctx);
273 void GetFirmwareVersion(HLERequestContext& ctx); 283 void GetFirmwareVersion(HLERequestContext& ctx);
274 void GetFirmwareVersion2(HLERequestContext& ctx); 284 void GetFirmwareVersion2(HLERequestContext& ctx);
@@ -305,6 +315,8 @@ private:
305 void GetKeyboardLayout(HLERequestContext& ctx); 315 void GetKeyboardLayout(HLERequestContext& ctx);
306 void GetChineseTraditionalInputMethod(HLERequestContext& ctx); 316 void GetChineseTraditionalInputMethod(HLERequestContext& ctx);
307 void GetFieldTestingFlag(HLERequestContext& ctx); 317 void GetFieldTestingFlag(HLERequestContext& ctx);
318 void GetHomeMenuScheme(HLERequestContext& ctx);
319 void GetHomeMenuSchemeModel(HLERequestContext& ctx);
308 320
309 AccountSettings account_settings{ 321 AccountSettings account_settings{
310 .flags = {}, 322 .flags = {},