my_wiki>Halkun |
my_wiki>Halkun |
Line 151: |
Line 151: |
| | | |
| | | |
− | === Section 9: Materia data format ===
| |
| | | |
− | This contains the Materia data. Each record is 20 bytes long.
| |
− |
| |
− | {| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
| |
− | ! style="background:rgb(204,204,204); width=50px;" align="center" | Offset
| |
− | ! style="background:rgb(204,204,204); width=50px;" | Length
| |
− | ! style="background:rgb(204,204,204); width:350px;" colspan="2" | Description
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x00
| |
− | |style="background:rgb(255,255,255);" | 8 bytes
| |
− | |style="background:rgb(255,255,255);width:150px;" | Level-up AP limits
| |
− | |style="background:rgb(255,255,255);width:200px;" | Multiples of 100 (4x WORD)
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x08
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Equip Effect
| |
− | |style="background:rgb(255,255,255);" | [See table below]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x09
| |
− | |style="background:rgb(255,255,255);" | 3 bytes
| |
− | |style="background:rgb(255,255,255);" colspan="2" | Status Bitmask
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0C
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" colspan="2" | Element
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0D
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" colspan="2" | Materia Type
| |
− | |-
| |
− | |style="background:rgb(204,204,255);" colspan="2" rowspan="15" |
| |
− | |style="background:rgb(255,255,255);" | 0x00
| |
− | |style="background:rgb(255,255,255);" | Unknown
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x08
| |
− | |style="background:rgb(255,255,255);" | Master Command: All commands are available
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0A
| |
− | |style="background:rgb(255,255,255);" | Master Magic: All spells are available
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0C
| |
− | |style="background:rgb(255,255,255);" | Master Summon: All summons are available
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x12
| |
− | |style="background:rgb(255,255,255);" | Command: Command at offset 0x0E to 0x12 is <br />available, depending on AP level
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x16
| |
− | |style="background:rgb(255,255,255);" | Command: Commands at offset 0x0E to 0x12 <br />become available as you level up
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x19
| |
− | |style="background:rgb(255,255,255);" | Magic: Spells 0x0E to 0x11 become available<br />as you level up
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x20
| |
− | |style="background:rgb(255,255,255);" | Booster%: 0x0E is boosted by offset 0x0F to <br />0x13 depending on AP level
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x21
| |
− | |style="background:rgb(255,255,255);" | Unknown
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x25
| |
− | |style="background:rgb(255,255,255);" | Unknown
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x30
| |
− | |style="background:rgb(255,255,255);" | Unknown
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x33
| |
− | |style="background:rgb(255,255,255);" | W-Command: Command at 0x0E is added to <br />the battle menu
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x35
| |
− | |style="background:rgb(255,255,255);" | Unknown
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x3B
| |
− | |style="background:rgb(255,255,255);" | Summon: Summon: Spell at 0x0E can be used from<br />offset 0x0F to 0x13 times depending on AP level
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x57
| |
− | |style="background:rgb(255,255,255);" | Enemy Skill: Enables command 'Enemy Skill'
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0E
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x0F
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x10
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x11
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x12
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |-
| |
− | |style="background:rgb(255,255,255);" | 0x13
| |
− | |style="background:rgb(255,255,255);" | 1 byte
| |
− | |style="background:rgb(255,255,255);" | Materia attributes
| |
− | |style="background:rgb(255,255,255);" | [See Above]
| |
− | |}
| |
− |
| |
− | ==== Equip Effects ====
| |
− |
| |
− | {| border="0" cellpadding="5" cellspacing="1" style="background: rgb(0,0,0)" align="center"
| |
− | ! style="background:rgb(204,204,204);" align="center" | Byte
| |
− | ! style="background:rgb(204,204,204);" align="center" | STR
| |
− | ! style="background:rgb(204,204,204);" align="center" | VIT
| |
− | ! style="background:rgb(204,204,204);" align="center" | MAG
| |
− | ! style="background:rgb(204,204,204);" align="center" | MDEF
| |
− | ! style="background:rgb(204,204,204);" align="center" | MAXHP
| |
− | ! style="background:rgb(204,204,204);" align="center" | MAXMP
| |
− | ! style="background:rgb(204,204,204);" align="center" | LUCK
| |
− | ! style="background:rgb(204,204,204);" align="center" | DEX
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x00
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x01
| |
− | |style="background:rgb(255,255,255);" align="center" | -02
| |
− | |style="background:rgb(255,255,255);" align="center" | -01
| |
− | |style="background:rgb(255,255,255);" align="center" | +02
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" | -05%
| |
− | |style="background:rgb(255,255,255);" align="center" | +05%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x02
| |
− | |style="background:rgb(255,255,255);" align="center" | -04
| |
− | |style="background:rgb(255,255,255);" align="center" | -04
| |
− | |style="background:rgb(255,255,255);" align="center" | +04
| |
− | |style="background:rgb(255,255,255);" align="center" | +02
| |
− | |style="background:rgb(255,255,255);" align="center" | -10%
| |
− | |style="background:rgb(255,255,255);" align="center" | +10%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x06
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x07
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x08
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0A
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +02
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0B
| |
− | |style="background:rgb(255,255,255);" align="center" | -01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | -02%
| |
− | |style="background:rgb(255,255,255);" align="center" | +02%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0C
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | -02%
| |
− | |style="background:rgb(255,255,255);" align="center" | +02%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0D
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" | +01
| |
− | |style="background:rgb(255,255,255);" align="center" | -05%
| |
− | |style="background:rgb(255,255,255);" align="center" | +05%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0E
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +02
| |
− | |style="background:rgb(255,255,255);" align="center" | +02
| |
− | |style="background:rgb(255,255,255);" align="center" | -10%
| |
− | |style="background:rgb(255,255,255);" align="center" | +10%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x0F
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +04
| |
− | |style="background:rgb(255,255,255);" align="center" | +04
| |
− | |style="background:rgb(255,255,255);" align="center" | -10%
| |
− | |style="background:rgb(255,255,255);" align="center" | +15%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |-
| |
− | ! style="background:rgb(204,204,204);" align="center" | 0x10
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" | +08
| |
− | |style="background:rgb(255,255,255);" align="center" | +08
| |
− | |style="background:rgb(255,255,255);" align="center" | -10%
| |
− | |style="background:rgb(255,255,255);" align="center" | +20%
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |style="background:rgb(255,255,255);" align="center" |
| |
− | |}
| |
| | | |
| == The KERNEL2.BIN Archive == | | == The KERNEL2.BIN Archive == |
| | | |
| On the PC version there exists a secondary kernel archive called KERNEL2.BIN. This archive contains only sections 10-27 (Text data) of KERNEL.BIN. The data was ungzipped from the original archive, concatenated together, and then LZSed into a single archive with a 4 byte header giving the length of the file. See the section on BIN types and LZS compression later in this document for more information. | | On the PC version there exists a secondary kernel archive called KERNEL2.BIN. This archive contains only sections 10-27 (Text data) of KERNEL.BIN. The data was ungzipped from the original archive, concatenated together, and then LZSed into a single archive with a 4 byte header giving the length of the file. See the section on BIN types and LZS compression later in this document for more information. |