The tools are now open source, you can find them here, they contain an automation of all the findings so far, taking mostly Vehek’s and DDS input along with a lot of experimentation and fiddling.
Unlike most SNES RPGs (?), dialog in the game is a bit complex because the options the player can choose depends on things he has done in the game or things he has already talked about with someone. This is all represented with a set of flags. I have been trying to complete the list as well as adding comments to the disassembled code in order to have a complete understanding of all of the conversations’ flow.
There seems to be a total of 36 “dialogs” into the game (either that or there’s a different set of rules for other dialogs).
- Dialogs 11 and 35 seems to have a lot of blank space in the end
- Dialogs 20, 23, 27 and 36 generate errors when loading the dialog options
- Dialogs 22, 23, 24, 25 and 26 seems to be loading dialog options from other place since I’m unable to read them
These dialogs have been analyzed for flags completely:
- 15, Inara Chief of the Pindiro
- 16, Inatnya from the Kurak
- 21, Mosagan from the Yolaru
- Still not sure if the text extraction is 100% accurate; specially on the final lines on each conversation things starts going a bit crazy. Can only confirm this by inspecting the dialogs inside the ROM. DDS already pointed out a possible inaccuracy, I may have to check if our assumptions about the ShiftJIS encoding and the charset loading are correct all the times.
- Need to find an way to hack the ROM to test the dialogs quickly, somehow pointing Intanya to any dialog I need.
- Still not sure about the termination sequence I’m using for each dialog; basically I’m assuming a 0xB8 (LOAD_DIALOG_OPTIONS) means the current dialog has ended and the next one has begun. The thing is not all dialogs ends the same but that might be ok.
- Gotta solve the issue of dialog options loading for dialogs 20+
There’s still a long way ahead, but at least we are doing some progress 🙂