|
Post by Cinnamon on Aug 22, 2011 23:32:39 GMT -5
Yes, I know there's a tut for that, but I don't get it, it doesn't explain how/where to find certain offsets in relation to certain areas, or specific location for putting data, could someone please write me a short, understandable, working tut? It would be much appreciated!
|
|
|
Post by Arcaith on Aug 23, 2011 8:12:12 GMT -5
In short:
1- Check if there's empty space (padding) after the map that you want to add actors to. 2- Note down the start and end offsets of the map's data. 3- In the map's header, there will be a set of data which tells the game engine how many actors there are, and where they are relative to the beginning of the map's header. It is formatted as below. 01xx0000yyyyyyyy x is the number of actors y is the offset of that list (including the bank). Follows the actors list format. 4- Find the beginning of the actor data, and copy the whole block to the end of the map file, and recalculate the pointer, adding however many actors you want or can fit into the padding after the existing actor data is copied into place. It is best to align the bytes to the beginning of a row. 5- Work out where the new end offset of the map is. 6- Go to the scene file for that map, and search for the original offsets of the map. Replace the end offset with the new end offset. 7- It is also advisable to go to the filetable, and replace the old end offset with the new one.
That's more or less it. Hope that helps.
|
|
|
Post by Cinnamon on Aug 23, 2011 21:47:51 GMT -5
can I get the advanced info on "how" to do steps 1-7?
|
|
|
Post by Arcaith on Aug 24, 2011 1:43:21 GMT -5
Okay. First step. Get a Hex editor. XVI32 is probably my preferred editor of choice, as you can easily adjust the width of the window to display the data in 16 columns; this ensures that each new line begins with 0 as its end digit. It makes it easier to manually count offsets if needs must.
To find an address, you use Goto in the Address menu. Ctrl+G. $1266C9C Is the format you use for the offset when searching in hex. That will take you to the address 1266C9C regardless of what address is highlighted if you use the 'absolute' Go mode. Using 'relative down' or 'relative up' will take you that offset forward or backward respectively from the address that is selected.
So, for this: 01xx0000yyyyyyyy x is the number of actors y is the offset of that list (including the bank). Follows the actors list format.
If you wanted to find the beginning of the list, you would select the beginning of the map header (Goto absolute for the offset in the maps list if you're editing the ROM) and then use 'relative down' with whatever the offset listed in yyyyyyyy is, ignoring any extra 0s (ie: 000000C2 / $C2).
Is this helping so far?
|
|
|
Post by Cinnamon on Aug 24, 2011 14:31:09 GMT -5
A little, I'll try out some things now.
|
|