diff --git a/src/app/editor/message/message_data.cc b/src/app/editor/message/message_data.cc index dc0d269a..4e00286d 100644 --- a/src/app/editor/message/message_data.cc +++ b/src/app/editor/message/message_data.cc @@ -145,6 +145,38 @@ std::vector ParseMessageToData(std::string str) { return bytes; } +std::vector BuildDictionaryEntries(app::Rom* rom) { + std::vector AllDictionaries; + for (int i = 0; i < kNumDictionaryEntries; i++) { + std::vector bytes; + std::stringstream stringBuilder; + + int address = core::SnesToPc( + kTextData + (rom->data()[kPointersDictionaries + (i * 2) + 1] << 8) + + rom->data()[kPointersDictionaries + (i * 2)]); + + int temppush_backress = core::SnesToPc( + kTextData + + (rom->data()[kPointersDictionaries + ((i + 1) * 2) + 1] << 8) + + rom->data()[kPointersDictionaries + ((i + 1) * 2)]); + + while (address < temppush_backress) { + uint8_t uint8_tDictionary = rom->data()[address++]; + bytes.push_back(uint8_tDictionary); + stringBuilder << ParseTextDataByte(uint8_tDictionary); + } + + AllDictionaries.push_back(DictionaryEntry{(uint8_t)i, stringBuilder.str()}); + } + + std::sort(AllDictionaries.begin(), AllDictionaries.end(), + [](const DictionaryEntry& a, const DictionaryEntry& b) { + return a.Contents.size() > b.Contents.size(); + }); + + return AllDictionaries; +} + } // namespace editor } // namespace app } // namespace yaze \ No newline at end of file