mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-28 22:55:31 +03:00
Use the first available language entry in NACPs rather than hardcoding
American English Without this, if an NACP didn't contain a title for a US english it would show in the UI as blank.
This commit is contained in:
parent
26025d9adf
commit
7114ad1734
@ -8,8 +8,14 @@ namespace skyline::vfs {
|
|||||||
backing->Read(&nacpContents);
|
backing->Read(&nacpContents);
|
||||||
|
|
||||||
// TODO: Select based on language settings, complete struct, yada yada
|
// TODO: Select based on language settings, complete struct, yada yada
|
||||||
ApplicationTitle &languageEntry = nacpContents.titleEntries[0];
|
|
||||||
applicationName = std::string(languageEntry.applicationName.data(), languageEntry.applicationName.size());
|
// Iterate till we get to the first populated entry
|
||||||
applicationPublisher = std::string(languageEntry.applicationPublisher.data(), languageEntry.applicationPublisher.size());
|
for (auto &entry : nacpContents.titleEntries) {
|
||||||
|
if (entry.applicationName.front() == '\0')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
applicationName = std::string(entry.applicationName.data(), entry.applicationName.size());
|
||||||
|
applicationPublisher = std::string(entry.applicationPublisher.data(), entry.applicationPublisher.size());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -26,7 +26,7 @@ namespace skyline::vfs {
|
|||||||
* @brief This struct encapsulates all the data within an NACP file
|
* @brief This struct encapsulates all the data within an NACP file
|
||||||
*/
|
*/
|
||||||
struct NacpData {
|
struct NacpData {
|
||||||
ApplicationTitle titleEntries[0x10]; //!< Title entries for each language
|
std::array<ApplicationTitle, 0x10> titleEntries; //!< Title entries for each language
|
||||||
u8 _pad_[0x4000 - (0x10 * 0x300)];
|
u8 _pad_[0x4000 - (0x10 * 0x300)];
|
||||||
} nacpContents{};
|
} nacpContents{};
|
||||||
static_assert(sizeof(NacpData) == 0x4000);
|
static_assert(sizeof(NacpData) == 0x4000);
|
||||||
|
Loading…
Reference in New Issue
Block a user