diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/set/set.cpp | 53 | ||||
| -rw-r--r-- | src/core/hle/service/set/set.h | 1 | 
2 files changed, 31 insertions, 23 deletions
| diff --git a/src/core/hle/service/set/set.cpp b/src/core/hle/service/set/set.cpp index 886133b74..4195c9067 100644 --- a/src/core/hle/service/set/set.cpp +++ b/src/core/hle/service/set/set.cpp @@ -11,44 +11,51 @@  namespace Service::Set { +constexpr std::array<LanguageCode, 17> available_language_codes = {{ +    LanguageCode::JA, +    LanguageCode::EN_US, +    LanguageCode::FR, +    LanguageCode::DE, +    LanguageCode::IT, +    LanguageCode::ES, +    LanguageCode::ZH_CN, +    LanguageCode::KO, +    LanguageCode::NL, +    LanguageCode::PT, +    LanguageCode::RU, +    LanguageCode::ZH_TW, +    LanguageCode::EN_GB, +    LanguageCode::FR_CA, +    LanguageCode::ES_419, +    LanguageCode::ZH_HANS, +    LanguageCode::ZH_HANT, +}}; +  void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) { -    static constexpr std::array<LanguageCode, 17> available_language_codes = {{ -        LanguageCode::JA, -        LanguageCode::EN_US, -        LanguageCode::FR, -        LanguageCode::DE, -        LanguageCode::IT, -        LanguageCode::ES, -        LanguageCode::ZH_CN, -        LanguageCode::KO, -        LanguageCode::NL, -        LanguageCode::PT, -        LanguageCode::RU, -        LanguageCode::ZH_TW, -        LanguageCode::EN_GB, -        LanguageCode::FR_CA, -        LanguageCode::ES_419, -        LanguageCode::ZH_HANS, -        LanguageCode::ZH_HANT, -    }};      ctx.WriteBuffer(available_language_codes); -    IPC::ResponseBuilder rb{ctx, 4}; +    IPC::ResponseBuilder rb{ctx, 3};      rb.Push(RESULT_SUCCESS); -    rb.Push(static_cast<u64>(available_language_codes.size())); +    rb.Push(static_cast<u32>(available_language_codes.size()));      LOG_DEBUG(Service_SET, "called");  } +void SET::GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx) { +    IPC::ResponseBuilder rb{ctx, 3}; +    rb.Push(RESULT_SUCCESS); +    rb.Push(static_cast<u32>(available_language_codes.size())); +} +  SET::SET() : ServiceFramework("set") {      static const FunctionInfo functions[] = {          {0, nullptr, "GetLanguageCode"},          {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},          {2, nullptr, "MakeLanguageCode"}, -        {3, nullptr, "GetAvailableLanguageCodeCount"}, +        {3, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount"},          {4, nullptr, "GetRegionCode"},          {5, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes2"}, -        {6, nullptr, "GetAvailableLanguageCodeCount2"}, +        {6, &SET::GetAvailableLanguageCodeCount, "GetAvailableLanguageCodeCount2"},          {7, nullptr, "GetKeyCodeMap"},          {8, nullptr, "GetQuestFlag"},      }; diff --git a/src/core/hle/service/set/set.h b/src/core/hle/service/set/set.h index ec0df0152..a2472ec4c 100644 --- a/src/core/hle/service/set/set.h +++ b/src/core/hle/service/set/set.h @@ -36,6 +36,7 @@ public:  private:      void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx); +    void GetAvailableLanguageCodeCount(Kernel::HLERequestContext& ctx);  };  } // namespace Service::Set | 
