1
Scripting and Reverse Engineering / FF:Origins Doc
« on: 2003-08-10 12:23:11 »
Hey Guys,
well I figured I may as well post what findings I have so far
with ff:origins. If anyone sees anything that they think may
be glaring errors, or know why something would be stored in
a certain way, then please feel free to tell me.
well I figured I may as well post what findings I have so far
with ff:origins. If anyone sees anything that they think may
be glaring errors, or know why something would be stored in
a certain way, then please feel free to tell me.
Code: [Select]
FF: ORIGINS Monster Stats Document
By: TimeSlave
File: DATA.BIN
Monster Stats Chunks
Address Range: 0x3472800 - 0x36f2800
Number of Chunks: 128
size: 20480 (0x5000) bytes
sections:
header - 12 bytes
Monster IDs - 4*4= 16 bytes
Monster Image headers - 4*16= 64 bytes
Monster Stats - 4*26= 104 bytes
Mystery Section - 32 bytes
Image Palletes - 4*512= 2048 bytes
Image Data Section - 18204 bytes
Info: Each monster chunk can contain up to four monsters
Numerous entries can be found for the same monster
I believe this is due to the fact that you can play the
game through twice. However that would still not account
for the amount of entries. After I dump all of the monsters
contained in these chunks. I'll be able to see what the
hell is going on.
*************Header****************
12 bytes
byte 01 - M
byte 02 - S
bytes 03 - 12:
uh... no fucking clue
**********Monster IDs**************
4 bytes
4 monsters
byte 01 - Monster ID
byte 02 - Unknown
byte 03 - Unknown
byte 04 - Unknown
*******Monster Image Headers*******
16 bytes
4 monsters
byte 01 - Unknown
byte 02 - Unknown
byte 03 - Unknown
byte 04 - Unknown
byte 05 - scanline size in 16 bit words (low byte)
byte 06 - scanline size in 16 bit words (high byte)
byte 07 - number of scanlines (low byte)
byte 08 - number of scanlines (high byte)
byte 09 - blit x coor
byte 10 - blit y coor
byte 11 - blit width
byte 12 - blit height
byte 13 - Unknown
byte 14 - Unknown
byte 15 - Unknown
byte 16 - Unknown
*********Monster Stats*************
26 bytes:
byte 01 - Unknown
byte 02 - Unknown
byte 03 - Unknown
byte 04 - Unknown
byte 05 - HP Low
byte 06 - HP High
byte 07 - MP Low
byte 08 - MP High
byte 09 - Number of Hits
byte 10 - % Chance to Hit
byte 11 - HitPower
byte 12 - Level
byte 13 - Number of Blocks (Def Count)
byte 14 - Evade %
byte 15 - DefensePower
byte 16 - MDefPwr
byte 17 - MEvade %
byte 18 - Unknown (possibly Elemental Strength)
byte 19 - Unknown (99% sure it is weakness)
byte 20 - Unknown
byte 21 - Cowardice
byte 22 - Unknown
byte 23 - Unknown
byte 24 - Unknown
byte 25 - Unknown
byte 26 - Unknown
**********Mystery Section**********
32 bytes, no clue yet as to what they are
**********Image Palettes***********
4*512 bytes
colors stored in 16 bit format:
TRRR RRGG GGGB BBBB
T = Translucency
R = Red Saturation
G = Green Saturation
B = Blue Saturation
Room for a 256 color palette
However for the majority of entries
the image contained is a 4-bit paletted image
therefore only 16 colors are used in
each of the palette spaces.
********Image Data Section*********
18204 bytes
4 bit images - 256 x 140 image
with 28 bytes left
over
whether or not an 8-bit or 16-bit
image can be stored here is still
unknown
***********************************