About the world map, do you know where is the draw points data please ?
Section35:Offset | Size | Description |
0x00 | 0x2C | Unused - skipped in ASM |
0x2C + (drawID * 4) | 4 | DrawPointVariable |
DrawPointVariable:Offset | Size | Description |
0x00 | short | Probably X |
0x02 | short | Probably Y |
The X and Y calculation example (FF8 2000 english):
ECX: 020409FC
ESI: 020400AC
EDX: 0204095C
X == EDX
Y == ((*ECX - *ESI) - 4 ) >> 4 [just gets pointer variable from ECX and substracts it from ESI, then substracts 4 and shifts right 4, pretty simple]
I'm still not sure how to calculate it to world map position. Magic IDs are probably coded inside EXE as field draw points are
http://forums.qhimm.com/index.php?topic=16980.0EDIT:
Yes, it gets data from the same DrawMagicArray as fields, just adds 0x80 to drawID. Therefore every drawmagic bigger than 0x80 is world-map only I think.
The magicID to draw is simple counted as draw entry. So, the first draw magic entry is magic ID = 0, second is magicID=1 and etc... [like autoincrement database]
EDIT2:
Okay, EDX = 0 if top left corner on map and 2FFF if bottom right corner.
but X makes no sense...

Zoom in if you don't see variables