Tutorial:Finding .zmap offsets
|This article or section needs improvement.|
Page covers the basics for parsing Scenes and Rooms
This tutorial tells you how to find .zmap files using a hex editor. Of course the OoT's .zmap locations are already mapped, but MM's map offsets aren't mapped yet because MM has no Filename table.
To find your map pointer (The place that tells the offset(Address) of the map), you have to go to the scene file that belongs to the .Zmap your finding...
How to(example is how to find Hyrules .zmap pointer): Hyrule zscene's filestart
To find the map pointer, just look for the 04, which can be found on the first or the second line of your scene (All indoor maps uses the first line, and all outdoor maps uses the second line). In this case, it's the second line, as you can see here With the bold text:
0x00: 1800 0000 0200 0068 1502 0000 0000 0002 0x10: 0401 0000 0200 0040 1900 0000 0000 0000 0x20: 0300 0000 0200 8464 0600 0000 0200 01C0 0x30: 0701 0000 0000 0002 0D00 0000 0200 0400 0x40: 0280 1000 0281 6230 654F 84CD 4F0D 4D28
Now, the value that reveals the location of the .zmap pointer is ALWAYS 4 bytes after the "04" like here, it says "0040"(also bold):
0x10: 0401 0000 0200 0040 1900 0000 0000 0000
That means that you can find the map's offset at 0x40.
And at 0040, we can see:
0x40: 0280 1000 0281 6230 654F 84CD 4F0D 4D28
And the first 8 bytes on this line are the start and the end offsets for your map file. 02801000-02816230 654F 84CD 4F0D 4D28
So the .zmap offsets are 02801000-02816230.