set.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 Service::Set {
  7. /// This is "nn::settings::LanguageCode", which is a NUL-terminated string stored in a u64.
  8. enum class LanguageCode : u64 {
  9. JA = 0x000000000000616A,
  10. EN_US = 0x00000053552D6E65,
  11. FR = 0x0000000000007266,
  12. DE = 0x0000000000006564,
  13. IT = 0x0000000000007469,
  14. ES = 0x0000000000007365,
  15. ZH_CN = 0x0000004E432D687A,
  16. KO = 0x0000000000006F6B,
  17. NL = 0x0000000000006C6E,
  18. PT = 0x0000000000007470,
  19. RU = 0x0000000000007572,
  20. ZH_TW = 0x00000057542D687A,
  21. EN_GB = 0x00000042472D6E65,
  22. FR_CA = 0x00000041432D7266,
  23. ES_419 = 0x00003931342D7365,
  24. ZH_HANS = 0x00736E61482D687A,
  25. ZH_HANT = 0x00746E61482D687A,
  26. };
  27. LanguageCode GetLanguageCodeFromIndex(std::size_t idx);
  28. class SET final : public ServiceFramework<SET> {
  29. public:
  30. explicit SET();
  31. ~SET() override;
  32. private:
  33. void GetLanguageCode(Kernel::HLERequestContext& ctx);
  34. void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx);
  35. void MakeLanguageCode(Kernel::HLERequestContext& ctx);
  36. void GetAvailableLanguageCodes2(Kernel::HLERequestContext& ctx);
  37. void GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx);
  38. void GetAvailableLanguageCodeCount2(Kernel::HLERequestContext& ctx);
  39. void GetQuestFlag(Kernel::HLERequestContext& ctx);
  40. void GetRegionCode(Kernel::HLERequestContext& ctx);
  41. };
  42. } // namespace Service::Set