android: fix garbled names in the game list
This commit is contained in:
parent
843225af03
commit
1b1a6903b0
@ -51,32 +51,31 @@ std::vector<u8> GetSMDHData(std::string physical_name) {
|
||||
return smdh;
|
||||
}
|
||||
|
||||
char16_t* GetTitle(std::string physical_name) {
|
||||
std::u16string GetTitle(std::string physical_name) {
|
||||
Loader::SMDH::TitleLanguage language = Loader::SMDH::TitleLanguage::English;
|
||||
std::vector<u8> smdh_data = GetSMDHData(physical_name);
|
||||
|
||||
if (!Loader::IsValidSMDH(smdh_data)) {
|
||||
// SMDH is not valid, return null
|
||||
return nullptr;
|
||||
return {};
|
||||
}
|
||||
|
||||
Loader::SMDH smdh;
|
||||
memcpy(&smdh, smdh_data.data(), sizeof(Loader::SMDH));
|
||||
|
||||
// Get the title from SMDH in UTF-16 format
|
||||
char16_t* title;
|
||||
title = reinterpret_cast<char16_t*>(smdh.titles[static_cast<int>(language)].long_title.data());
|
||||
std::u16string title{reinterpret_cast<char16_t*>(smdh.titles[static_cast<int>(language)].long_title.data())};
|
||||
|
||||
return title;
|
||||
}
|
||||
|
||||
char16_t* GetPublisher(std::string physical_name) {
|
||||
std::u16string GetPublisher(std::string physical_name) {
|
||||
Loader::SMDH::TitleLanguage language = Loader::SMDH::TitleLanguage::English;
|
||||
std::vector<u8> smdh_data = GetSMDHData(physical_name);
|
||||
|
||||
if (!Loader::IsValidSMDH(smdh_data)) {
|
||||
// SMDH is not valid, return null
|
||||
return nullptr;
|
||||
return {};
|
||||
}
|
||||
|
||||
Loader::SMDH smdh;
|
||||
|
@ -10,9 +10,9 @@
|
||||
namespace GameInfo {
|
||||
std::vector<u8> GetSMDHData(std::string physical_name);
|
||||
|
||||
char16_t* GetTitle(std::string physical_name);
|
||||
std::u16string GetTitle(std::string physical_name);
|
||||
|
||||
char16_t* GetPublisher(std::string physical_name);
|
||||
std::u16string GetPublisher(std::string physical_name);
|
||||
|
||||
std::string GetRegions(std::string physical_name);
|
||||
|
||||
|
@ -345,13 +345,7 @@ jintArray Java_org_citra_citra_1emu_NativeLibrary_GetIcon(JNIEnv* env,
|
||||
jstring Java_org_citra_citra_1emu_NativeLibrary_GetTitle(JNIEnv* env, [[maybe_unused]] jclass clazz,
|
||||
jstring j_filename) {
|
||||
std::string filepath = GetJString(env, j_filename);
|
||||
|
||||
char16_t* Title = GameInfo::GetTitle(filepath);
|
||||
|
||||
if (!Title) {
|
||||
return env->NewStringUTF("");
|
||||
}
|
||||
|
||||
auto Title = GameInfo::GetTitle(filepath);
|
||||
return env->NewStringUTF(Common::UTF16ToUTF8(Title).data());
|
||||
}
|
||||
|
||||
@ -381,13 +375,7 @@ jstring Java_org_citra_citra_1emu_NativeLibrary_GetCompany(JNIEnv* env,
|
||||
[[maybe_unused]] jclass clazz,
|
||||
jstring j_filename) {
|
||||
std::string filepath = GetJString(env, j_filename);
|
||||
|
||||
char16_t* publisher = GameInfo::GetPublisher(filepath);
|
||||
|
||||
if (!publisher) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto publisher = GameInfo::GetPublisher(filepath);
|
||||
return env->NewStringUTF(Common::UTF16ToUTF8(publisher).data());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user