God of Humility Posted May 6, 2013 Share Posted May 6, 2013 Okay so I need to make it so characters other than the main lord are forced to be deployed in a chapter. I did a bit of research and found Nintenlord's Character Forcer Patch which I applied to my ROM but then the Readme says I should find a table at offset DF1000 to set which chapter forces which unit. When I go there, its full of 00, so empty data. I tried it on a clean ROM as well with the same result so I know its not my ROM that's the problem. Seeing this, I can only assume I'm going to have to build that pointer table myself. The thing is I have no idea how to do that or format it and my research has not given anything on this process. So basically, I need to know how to build a pointer table at that offset and how to set up the data its pointing to so I can force characters to be deployed in certain chapters. Quote Link to comment Share on other sites More sharing options...
Agro Posted May 6, 2013 Share Posted May 6, 2013 (edited) if i recall correctly it points to a pointer table, so you need to make more pointers there basically a pointer table is like 02 23 43 08 21 AB 67 08 and so on the pointers correspond to a chapter each, so the first four bytes are for the Prologue, the next four for chapter 1, etc, etc. So if you wanted to force characters 0x11, 0x13 and 0x1B in the prologue, you would do this at DF1000: 00 00 DB 08 then go to 0xDB0000 and write in 11 13 1B 00 (00 is the way that you say "STOP READING HERE") and that should force those three characters Likewise, if you wanted to do the same for chapter 1, you could just go: 00 00 00 00 00 00 DB 08 and do the same or for chapter 2: 00 00 00 00 00 00 00 00 00 00 DB 08 and so on of course, if you were forcing characters for the prologue and chapter 1 you would fill in those 00's accordingly The position of the pointer corresponds to whatever it is in the Chapter Data Editor, mind you. So if for some crazy reason your Chapter 1 was at 0x5B, then to get to where you have to write the pointer, you can go 0x5B * 4 + DF1000 and write 00 00 DB 08 there. Of course, you don't have to put anything at DB0000, but that's just an example. did that help at all? Edited May 6, 2013 by Agro Quote Link to comment Share on other sites More sharing options...
God of Humility Posted May 6, 2013 Author Share Posted May 6, 2013 Very much so. Thanks a lot. So this means that the chapter it references is linked to the pointer's position in relation to the beginning of the table. (For example: If I wanted to do this for Ch. 13, since it is the 16th chapter in the data, I would write the pointer at the 16th position on the table, so DF103C.) Just making sure I get this right. Quote Link to comment Share on other sites More sharing options...
Agro Posted May 6, 2013 Share Posted May 6, 2013 Actually, I think the 16th pointer would be DF1040 (use windows calculator!). If you're ever in doubt, it's never a bad idea to count them out, I guess. Just remember to start at 0, not 1. Or just give it a try, and if it stuffs up, you can just revert it back to what it was before. Quote Link to comment Share on other sites More sharing options...
CT075 Posted May 6, 2013 Share Posted May 6, 2013 take the chapter ID as determined by the chapter data editor (for example 0x10) the corresponding slot is determined by 0xDF1000 + 4*ID Quote Link to comment Share on other sites More sharing options...
God of Humility Posted May 6, 2013 Author Share Posted May 6, 2013 All right, thanks to both of you. This is actually much simpler than I thought it would be. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.