Difference between revisions of "FF7/Battle and growth data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>M4v3R
m (Scene.bin Look-up file)
my_wiki>M4v3R
m (Scene.bin Look-up file)
Line 113: Line 113:
 
As you may know, [[FF7/Battle/Battle_scenes|scene.bin]] file is divided into banks or sections. There are 33 total sections, and each one is 8192 long. Each section contains 5 - 20 files, based on their length. If archive is modified and one of the files is bigger than before, it must be put in the next section, which'll probably cause last file in this section to be put in next one, etc. This look-up table contains data about how many files are in each section. It begins like this:
 
As you may know, [[FF7/Battle/Battle_scenes|scene.bin]] file is divided into banks or sections. There are 33 total sections, and each one is 8192 long. Each section contains 5 - 20 files, based on their length. If archive is modified and one of the files is bigger than before, it must be put in the next section, which'll probably cause last file in this section to be put in next one, etc. This look-up table contains data about how many files are in each section. It begins like this:
  
    00 0C 12 19 21 27 2D ...
+
00 0C 12 19 21 27 2D ...
  
 
Which means:
 
Which means:
  
- Section 1 contains 0x0C - 0x00 = 12 files
+
Section 1 contains 0x0C - 0x00 = 12 files
- Section 2 contains 0x12 - 0x0C = 6 files
+
Section 2 contains 0x12 - 0x0C = 6 files
- Section 3 contains 0x19 - 0x12 = 7 files
+
Section 3 contains 0x19 - 0x12 = 7 files
- ... etc.
+
... and so on.
  
 
Everytime you modify scene.bin file, you must also keep this table updated, or you'll end with VERY random encounters (wrong battles in wrong places).
 
Everytime you modify scene.bin file, you must also keep this table updated, or you'll end with VERY random encounters (wrong battles in wrong places).

Revision as of 00:59, 18 October 2007

Kernel.bin section 3

This file contains a bunch of information about character growth and battles. Table below explains it all (credits go to Terence F. for this).

General data layout

Table 1: Section 3 of kernel.bin description
Offset Length Description
0x0000 56 bytes Character data: Cloud (see below)
0x0038 56 bytes Character data: Barret
0x0070 56 bytes Character data: Tifa
0x00A8 56 bytes Character data: Aeris
0x00E0 56 bytes Character data: Red XIII
0x0118 56 bytes Character data: Yuffie
0x0150 56 bytes Character data: Cait Sith
0x0188 56 bytes Character data: Vincent
0x01C0 56 bytes Character data: Cid
0x01F8 12 x 1 byte Random bonus to primary stats
0x0204 12 x 1 byte Random bonus % to HP
0x0210 12 x 1 byte Random bonus % to MP
0x021C 37 x 16 bytes Primary stat curve 0 - 36 (see below)
0x046C 9 x 16 bytes HP stat curve 37 - 45 (Base * 40)
0x04FC 9 x 16 bytes MP stat curve 46 - 54 (Base * 2)
0x058C 9 x 16 bytes EXP stat curve 55 - 63 (Gradient is quadratic, no Base)
0x61C 1508 bytes Character AI data (see below)
0xC00 540 bytes FF padding
0xE1C 256 bytes Random number look-up table (all numbers from 0-256 are here)
0xF1C 64 bytes Scene.bin look-up table (see below)
0xF5C 56 bytes Spell order from Magic menu in battles

Character data record

- Placeholder -

Stat curve record

- Placeholder -

Character AI data

- Placeholder -

Scene.bin Look-up file

As you may know, scene.bin file is divided into banks or sections. There are 33 total sections, and each one is 8192 long. Each section contains 5 - 20 files, based on their length. If archive is modified and one of the files is bigger than before, it must be put in the next section, which'll probably cause last file in this section to be put in next one, etc. This look-up table contains data about how many files are in each section. It begins like this:

00 0C 12 19 21 27 2D ...

Which means:

Section 1 contains 0x0C - 0x00 = 12 files
Section 2 contains 0x12 - 0x0C = 6 files
Section 3 contains 0x19 - 0x12 = 7 files
... and so on.

Everytime you modify scene.bin file, you must also keep this table updated, or you'll end with VERY random encounters (wrong battles in wrong places).