11 March 2016 - Forum Rules
Started by nintendo_nerd85, October 19, 2011, 10:46:23 PM
Quote from: Ryusui on October 20, 2011, 05:52:31 AMJust find the DTE table and dump it with Cartographer. Then it's a cinch to just convert it into a table, or part of one, anyway.
Quote from: nintendo_nerd85 on October 20, 2011, 11:39:19 AMWhat does a table have to do with the actual dialogue/script?
Quote from: Ryusui on October 20, 2011, 03:13:38 PMEverything, really. The script's not fully ASCII-coded; you'll need to create a table to fill in the gaps. These would include the DTE codes.
Quote from: nintendo_nerd85 on October 20, 2011, 07:43:45 PMAlright, I'll use WindHex and search for those offsets, as well as Cartographer. Thanks!
Quote from: nintendo_nerd85 on October 20, 2011, 08:53:00 PMTo be honest, I don't need an easier method, as this alone will help me get better at ROM hacking. It'll be challenging, sure, but not impossible.So, if I understand you correctly, I look up specific phrases/words using a wildcard, dump the tables with Monkey Moore, and then open up the tables with WindHex, right? And then from there, use WindHex to dump the script? What did you mean by "normal entries"?
Quote from: Klarth on October 21, 2011, 04:25:08 PMNormal (maybe basic entry is more appropriate) entries like: 10=a 11=b 12=c, etc. DTE and dictionary entries like 80=de or 10F0=sword are not "basic" entries because they depend upon the 10=a 11=b, etc entries for their encoding. So find the basic entries of your table first, then the DTE/dictionary entries.You can dump partial tables with Monkey Moore...personally, I construct my tables by hand (except kanji tables). Open up the table with Windhex (this allows you to see what's missing from your table). You can use Windhex to dump the script for verification purposes.But if you want to dump a script that you can insert, then find the pointers and use Cartographer. It has more of a learning curve, but it'll save you much time in the end.
Quote from: Klarth on October 21, 2011, 10:08:29 PMOk, I'm going to give you a big hint in starting out. I loaded up the ROM and looked for a word all lowercase (this is important) and several characters long. I chose "perish" from the intro because it's not a common word (so it wouldn't be in a dictionary if there's dictionary compression...but even if it were, relsearch would find it in the dictionary, but not the script). If you have a game with DTE, you often have to check many words before you get a correct result.So I loaded up the ROM in Monkey Moore and searched for "perish" and came up with a good result (A=61 a=81 and "perish" at 0x60038 in the ROM). I generated the table (keep in mind your A=61 will quite likely be wrong since we didn't relsearch for an upper case word...so 61 is just a guess by the program) and loaded the game+table into Windhex. I went to 0x60038 in Windhex and you can see part of the text. Try to complete the table on your own for practice. You'll do most of this by hand (punctuation, identifying control codes, etc)...but for the dictionary entries, find where the dictionary is stored in-game and that'll make things much quicker.
Page created in 0.088 seconds with 19 queries.