From 01649d2d2f2d38eb86e89732339992ca3ce3fb8e Mon Sep 17 00:00:00 2001 From: Philippe Symons Date: Wed, 18 Dec 2024 13:05:43 +0100 Subject: [PATCH] Also fix Japanese pokemon name retrieval in gen I --- src/gen1/Gen1GameReader.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gen1/Gen1GameReader.cpp b/src/gen1/Gen1GameReader.cpp index 07d92f3..f3126af 100644 --- a/src/gen1/Gen1GameReader.cpp +++ b/src/gen1/Gen1GameReader.cpp @@ -69,6 +69,7 @@ const char *Gen1GameReader::getPokemonName(uint8_t index) const static char result[20]; uint8_t encodedText[0xA]; uint32_t numRead; + const uint16_t entrySize = (localization_ != (uint8_t)Gen1LocalizationLanguage::JAPANESE) ? 0xA : 0x6; const uint32_t romOffset = gen1_getRomOffsets(gameType_, (Gen1LocalizationLanguage)localization_).names; if(!romOffset) @@ -78,10 +79,10 @@ const char *Gen1GameReader::getPokemonName(uint8_t index) const } romReader_.seek(romOffset); - romReader_.advance((index - 1) * 0xA); + romReader_.advance((index - 1) * entrySize); // max 10 bytes - numRead = romReader_.readUntil(encodedText, 0x50, 0xA); + numRead = romReader_.readUntil(encodedText, 0x50, entrySize); gen1_decodePokeText(encodedText, numRead, result, sizeof(result), (Gen1LocalizationLanguage)localization_); return result;