Closed scawful closed 1 month ago
ZS does not clear old data from the game when dialogue bank shrinks in size, which results in the loop writing the 0x80 bank change byte at the end of junk data rather than the actual end of the dialogue space.
Clearing the data or hardcoding the position of the bank change byte fixes the issue and successfully loads additional message data in a new ID. The main thing to be mindful of is if the text data is changed in ZS again, these hotfixes will need to be adjusted or a new loop should be designed to detect the last message, perhaps with some custom command as the "expanded message bank" byte.
https://github.com/scawful/Oracle-of-Secrets/blob/master/Core/message.asm provided by @Zarby89
Currently does not seem to work for dialogue IDs above 0x18C the way it did for Zarby when testing on vanilla. Needs to be investigated urgently as the game is low on dialogue space.