From eaba53a1b853e54e780b0509c1e49e9b74545ce0 Mon Sep 17 00:00:00 2001 From: Gliniak Date: Wed, 11 Dec 2019 19:54:38 +0100 Subject: [PATCH] [Kernel] Added few elemenmts to xeExGetXConfigSetting This will allow to go inside "Console Settings" in NXE Dashboard and fixes stability on older dashboards --- src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc index f751b5ed1..809c034c6 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc @@ -85,6 +85,10 @@ X_STATUS xeExGetXConfigSetting(uint16_t category, uint16_t setting, // TODO(benvanik): get this value. xe::store_and_swap(value, 0); break; + case 0x0008: // XCONFIG_DEFAULT_PROFILE + setting_size = 8; + xe::store_and_swap(value, 0); + break; case 0x0009: // XCONFIG_USER_LANGUAGE setting_size = 4; xe::store_and_swap(value, cvars::user_language); @@ -119,6 +123,30 @@ X_STATUS xeExGetXConfigSetting(uint16_t category, uint16_t setting, return X_STATUS_INVALID_PARAMETER_2; } break; + case 0x0007: + // XCONFIG_CONSOLE_SETTINGS + switch (setting) { + case 0x0001: // XCONFIG_SCREENSAVER + setting_size = 2; + xe::store_and_swap(value, 0); + break; + case 0x0002: // XCONFIG_AUTO_SHUTDOWN + setting_size = 2; + xe::store_and_swap(value, 0); + break; + case 0x0004: // XCONFIG_CAMERA_SETTINGS + setting_size = 4; + xe::store_and_swap(value, 0); + break; + case 0x000B: + setting_size = 4; + xe::store_and_swap(value, 0); + break; + default: + assert_unhandled_case(setting); + return X_STATUS_INVALID_PARAMETER_2; + } + break; default: assert_unhandled_case(category); return X_STATUS_INVALID_PARAMETER_1;