Looking for pointer tables:
* Pointer table for mini character sets: 0x118000, 3 byte pointers (4 bytes? but the last one is always 00) to:
0x108000
0x1081be
0x108306
[…]
0x1095fe <—- Charset for Intanya’s dialog
This table goes all the way to 0x11808c for individual charsets, then it seems to begin using shared charsets (0x10ce6a, 0x10cfce for instance). It ends at 0x1181f0 (125 entries)
We may end up replacing pointers on all entries for an unified roman charset, or otherwise hacking the place where this is used in order to reference the charset directly instead of using the table (?).
So, this gives us an indication there *might* be 125 dialogs in total, probably.
* “Pointers” to the actual dialogs
Now I’m not entirely sure we’ll find pointers, since the dialogs seem to be code instead of raw data… however there should be some sort of jumptable somewhere
For conversations:
0C0000: Lower 16-bits of conversation script pointers (2 bytes each)
0C00FA: bank bytes of conversation script pointers (1-byte each)
The actual start of Intanya’s script code for example, is at 0x160D02.
Wow! How did you know? I was just scratching my head looking at a tracelog trying to find that code in the bsnes disassembler … no luck 😛
So Intanya’s script is the 16th dialog…
And the 2nd dialog script is at 0x1590b1…
And the dialog scripts seem to end with 0x88… (gotta confirm this)
So I might obtain the script for each dialog, the trim out all commands but the character loading one.. that might be a good start
The remaining command I guess are meant to load the picture, or the name
Thanks again!