set.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2018 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "core/hle/service/service.h"
  6. namespace Core {
  7. class System;
  8. }
  9. namespace Service::Set {
  10. /// This is "nn::settings::LanguageCode", which is a NUL-terminated string stored in a u64.
  11. enum class LanguageCode : u64 {
  12. JA = 0x000000000000616A,
  13. EN_US = 0x00000053552D6E65,
  14. FR = 0x0000000000007266,
  15. DE = 0x0000000000006564,
  16. IT = 0x0000000000007469,
  17. ES = 0x0000000000007365,
  18. ZH_CN = 0x0000004E432D687A,
  19. KO = 0x0000000000006F6B,
  20. NL = 0x0000000000006C6E,
  21. PT = 0x0000000000007470,
  22. RU = 0x0000000000007572,
  23. ZH_TW = 0x00000057542D687A,
  24. EN_GB = 0x00000042472D6E65,
  25. FR_CA = 0x00000041432D7266,
  26. ES_419 = 0x00003931342D7365,
  27. ZH_HANS = 0x00736E61482D687A,
  28. ZH_HANT = 0x00746E61482D687A,
  29. PT_BR = 0x00000052422D7470,
  30. };
  31. LanguageCode GetLanguageCodeFromIndex(std::size_t idx);
  32. class SET final : public ServiceFramework<SET> {
  33. public:
  34. explicit SET(Core::System& system_);
  35. ~SET() override;
  36. private:
  37. void GetLanguageCode(Kernel::HLERequestContext& ctx);
  38. void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx);
  39. void MakeLanguageCode(Kernel::HLERequestContext& ctx);
  40. void GetAvailableLanguageCodes2(Kernel::HLERequestContext& ctx);
  41. void GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx);
  42. void GetAvailableLanguageCodeCount2(Kernel::HLERequestContext& ctx);
  43. void GetQuestFlag(Kernel::HLERequestContext& ctx);
  44. void GetRegionCode(Kernel::HLERequestContext& ctx);
  45. void GetKeyCodeMap(Kernel::HLERequestContext& ctx);
  46. void GetKeyCodeMap2(Kernel::HLERequestContext& ctx);
  47. };
  48. } // namespace Service::Set