Difference between pages "FF8/Menu m000 m004" and "FIELD.TBL"

From Final Fantasy Inside
< FF8(Difference between pages)
Jump to navigation Jump to search
my_wiki>Sebanisu
(m002.bin: reformated data to table added headings.)
 
 
Line 1: Line 1:
Info from [http://forums.qhimm.com/index.php?topic=17120.0 FF8 - Cards & Menu Text by Sega Cheif] and [http://forums.qhimm.com/index.php?topic=17099.0 FF8 - mngrp.bin by JWP]
 
=BIN=
 
Location of strings maybe
 
and actual values for refine.
 
  
==m000.bin==
+
== General ==
===Data===
 
8 abilities
 
{| class="wikitable"
 
|-
 
! Ability
 
! # of Entries
 
! mngrp.bin Location
 
! Offset
 
! Description
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/t-mag-rf T Mag-RF]
 
|7 entries
 
|(mngrp.bin loc: 0x21F000)
 
| 0x0
 
|Item to Thunder/Wind Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/i-mag-rf I Mag-RF]
 
|7 entries
 
|(mngrp.bin loc: 0x21F038)
 
| 0x38
 
|Item to Ice/Water Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/f-mag-rf F Mag-RF]
 
|10 entries
 
|(mngrp.bin loc: 0x21F070)
 
| 0x70
 
|Item to Fire/Flare Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/L-mag-rf L Mag-RF]
 
|21 entries
 
|(mngrp.bin loc: 0x21F0C0)
 
|0xC0
 
|Item to Life Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/time-mag-rf Time Mag-RF]
 
|14 entries
 
|(mngrp.bin loc: 0x21F168)
 
|0x168
 
|Item to Time Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/st-mag-rf ST Mag-RF]
 
|17 entries
 
|(mngrp.bin loc: 0x21F1D8)
 
|0x1D8
 
|Item to Status Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/supt-mag-rf Supt Mag-RF]
 
|20 entries
 
|(mngrp.bin loc: 0x21F260)
 
|0x260
 
|Items to Support Magic
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/forbid-mag-rf Forbid Mag-RF]
 
|6 entries
 
|(mngrp.bin loc: 0x21F300)
 
|0x300
 
|Items to Forbidden Magic
 
|}
 
===Entry===
 
8 bytes
 
{| class="wikitable"
 
|-
 
! Type
 
! Size
 
! Value
 
! Description
 
|-
 
| UInt16
 
| 2
 
| [[FF8/Menu_m000_m004#m002.msg|Offset]]
 
| Text Offset
 
(little-endian)
 
|-
 
| Byte
 
| 1
 
| Received
 
| Amount received
 
|-
 
| UInt16
 
| 2
 
| UNK
 
| {0x0001}
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Input_Item_ID]
 
| Input: Item id value
 
'''0x00'''-'''0xC6'''
 
|-
 
| Byte
 
| 1
 
| Required
 
| Amount needed
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=11137.msg166280#msg166280 Output_Spell_ID]
 
| Output: Spell id value
 
'''0x01'''-'''0x38'''
 
|}
 
  
==m001.bin==
+
This file contains 64 records of 24 bytes each, they correspond to the 64 WM* fields, but they work in the opposite direction. Each 24 byte record contains 2 scenarios, which are 12 bytes a piece, and indicated by the second parameter. Each scenario contains the Field Id for the field that it should jump to, this is at offset 0x6. For instance, when walking into North Corel, there are two possible fields that it can jump to; if you fail the Corel Train mission, it will jump to ncorel2 map instead of ncorel. The other data in this record is unknown, but does contains coordinates within the field to which your character will be initiated. For instance, the Chocobo Farm can be entered from the bottom or from the side, depending on certain flags set within your file game save.
  
===Data===
+
Offset to scenario record = (Field Table Id) * 24 + (Scenario * 12) Length = ALWAYS 12 bytes
7 abilities
 
{| class="wikitable"
 
|-
 
! Ability
 
! # of Entries
 
! mngrp.bin Location
 
! Offset
 
! Description
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/recov-med-rf Recov Med-RF]
 
|9 Entries
 
|(mngrp.bin loc: 0x21F800)
 
|0x0
 
|Item to Recovery Items
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/st-med-rf ST Med-RF]
 
|12 Entries
 
|(mngrp.bin loc: 0x21F848)
 
|0x48
 
|Item to Status Removal Items
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/ammo-rf Ammo-RF]
 
|16 Entries
 
|(mngrp.bin loc: 0x21F8A8)
 
|0xA8
 
|Item to Ammo Item
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/forbid-med-rf Forbid Med-RF]
 
|20 Entries
 
|(mngrp.bin loc: 0x21F928)
 
|0x128
 
|Item to Forbidden Medicine
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/gfrecov-med-rf GFRecov Med-RF]
 
|12 Entries
 
|(mngrp.bin loc: 0x21F9C8)
 
|0x1C8
 
|Item to GF Recovery Items
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/gfabl-med-rf GFAbl Med-RF]
 
|42 Entries
 
|(mngrp.bin loc: 0x21FA28)
 
|0x228
 
|Item to GF Ability Medicine Items
 
|-
 
|Tool-RF
 
|32 Entries
 
|(mngrp.bin loc: 0x21FB78)
 
|0x378
 
|Item to Tool Items
 
|}
 
===Entry===
 
8 bytes
 
{| class="wikitable"
 
|-
 
! Type
 
! Size
 
! Value
 
! Description
 
|-
 
| UInt16
 
| 2
 
| [[FF8/Menu_m000_m004#m002.msg|Offset]]
 
| Text Offset
 
(little-endian)
 
|-
 
| Byte
 
| 1
 
| Received
 
| Amount received
 
|-
 
| UInt16
 
| 2
 
| UNK
 
| {0x0001}
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Input_Item_ID]
 
| Input: Item id value
 
'''0x00'''-'''0xC6'''
 
|-
 
| Byte
 
| 1
 
| Required
 
| Amount needed
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Output_Item_ID]
 
| Output: Item id value
 
'''0x00'''-'''0xC6'''
 
|}
 
  
==m002.bin==
+
Another note of interest: As mentioned, there are 64 entries in FIELD.TBL, which correspond with the 64 WM fields. As known, when transitioning from field maps to the world map, the game uses 64 dummy-type fields to indicate 64 different points of entry (per coordinates) to the world map (some of which are relative coordinates to where you last were on the world map). The coordinates that it transports to are currently unknown, but likely contained within FIELD.TBL. It is also important to note that all entry points map exactly to the exit points; that is, when you leave Midgar, you are in map mds5_5 and it MAPJUMPs to wm0, which puts you on the south side of Midgar, but when you walk into Midgar from the world map, it'll be record 0 in FIELD.TBL, which directs the game to jump to mds5_5.
===Data===
 
2 abilities
 
{| class="wikitable"
 
|-
 
! Ability
 
! # of Entries
 
! mngrp.bin Location
 
! Offset
 
! Description
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/mid-mag-rf Mid-Mag-RF]
 
|4 entries
 
|(mngrp.bin loc: 0x2200000)
 
|0x0
 
|Upgrade Magic from low level to mid level
 
|-
 
|[https://guides.gamercorner.net/ffviii/abilities/high-mag-rf High-Mag-RF]
 
|6 entries
 
|(mngrp.bin loc: 0x2200020)
 
|0x20
 
|Upgrade Magic from mid level to high level
 
|}
 
===Entry===
 
8 bytes
 
{| class="wikitable"
 
|-
 
! Type
 
! Size
 
! Value
 
! Description
 
|-
 
| UInt16
 
| 2
 
| [[FF8/Menu_m000_m004#m002.msg|Offset]]
 
| Text Offset
 
(little-endian)
 
|-
 
| Byte
 
| 1
 
| Received
 
| Amount received
 
|-
 
| UInt16
 
| 2
 
| UNK
 
| {0x0001}
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=11137.msg166280#msg166280 Input_Spell_ID]
 
| Input: Spell id value
 
'''0x01'''-'''0x38'''
 
|-
 
| Byte
 
| 1
 
| Required
 
| Amount needed
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=11137.msg166280#msg166280 Output_Spell_ID]
 
| Output: Spell id value
 
'''0x01'''-'''0x38'''
 
|}
 
 
 
==m003.bin==
 
[https://guides.gamercorner.net/ffviii/abilities/med-lv-up Med LV Up]
 
{| class="wikitable"
 
|-
 
! Type
 
! Size
 
! Value
 
! Description
 
|-
 
| UInt16
 
| 2
 
| [[FF8/Menu_m000_m004#m003.msg|Offset]]
 
| Text Offset
 
(little-endian)
 
|-
 
| Byte
 
| 1
 
| Received
 
| Amount received
 
|-
 
| UInt16
 
| 2
 
| UNK
 
| {0x0001}
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Input_Item_ID]
 
| Input: Item id value
 
'''0x00'''-'''0xC6'''
 
|-
 
| Byte
 
| 1
 
| Required
 
| Amount needed
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Output_Item_ID]
 
| Output: Item id value
 
'''0x00'''-'''0xC6'''
 
|}
 
 
 
==m004.bin==
 
[https://guides.gamercorner.net/ffviii/abilities/card-mod Card Mod]
 
{| class="wikitable"
 
|-
 
! Type
 
! Size
 
! Value
 
! Description
 
|-
 
| UInt16
 
| 2
 
| [[FF8/Menu_m000_m004#m004.msg|Offset]]
 
| Text Offset
 
(little-endian)
 
|-
 
| Byte
 
| 1
 
| Received
 
| Amount received
 
|-
 
| UInt16
 
| 2
 
| UNK
 
| {0x0001}
 
|-
 
| Byte
 
| 1
 
| Card_ID
 
| Card id value
 
'''0x00'''-'''0x6D'''
 
|-
 
| Byte
 
| 1
 
| Required
 
| Amount needed
 
|-
 
| Byte
 
| 1
 
| [http://forums.qhimm.com/index.php?topic=17034.msg242332#msg242332 Item_ID]
 
| Item id value
 
'''0x00'''-'''0xC6'''
 
|}
 
 
 
=MSG=
 
Text offsets are in bin files. Strings end with '''0x00'''. [https://sourceforge.net/p/ifrit/code-0/HEAD/tree/trunk%20ifrit-code-0/Resources/textformat.ifr Strings are encoded].
 
 
 
==m003.msg==
 
Example:<br/>
 
''Elixir:\n10 will refine \ninto 1 Megalixir\0'' <br/>
 
When '''Elixir''' Card is selected only "'''10 will refine into 1 Megalixir'''" shows up above in help box<br/>
 
When choose the a box shows up with entire string. With: <br/>
 
'''Elixir''' ''(Number remaining)''<br/>
 
'''Number to refine''' ''10''<br/>
 
'''Megalixir''' ''(Total amount)''<br/>
 
==m004.msg==
 
Example:<br/>
 
''Geezard Card:\n1 will refine \ninto 5 Screws\0'' <br/>
 
When '''Geezard''' Card is selected only "'''1 will refine into 5 Screws'''" shows up above in help box<br/>
 
When choose the a box shows up with entire string. With: <br/>
 
'''Geezard''' ''(Number remaining)''<br/>
 
'''Number to refine''' ''1''<br/>
 
'''Screws''' ''(Total amount)''<br/>
 

Latest revision as of 01:16, 15 July 2019

General

This file contains 64 records of 24 bytes each, they correspond to the 64 WM* fields, but they work in the opposite direction. Each 24 byte record contains 2 scenarios, which are 12 bytes a piece, and indicated by the second parameter. Each scenario contains the Field Id for the field that it should jump to, this is at offset 0x6. For instance, when walking into North Corel, there are two possible fields that it can jump to; if you fail the Corel Train mission, it will jump to ncorel2 map instead of ncorel. The other data in this record is unknown, but does contains coordinates within the field to which your character will be initiated. For instance, the Chocobo Farm can be entered from the bottom or from the side, depending on certain flags set within your file game save.

Offset to scenario record = (Field Table Id) * 24 + (Scenario * 12) Length = ALWAYS 12 bytes

Another note of interest: As mentioned, there are 64 entries in FIELD.TBL, which correspond with the 64 WM fields. As known, when transitioning from field maps to the world map, the game uses 64 dummy-type fields to indicate 64 different points of entry (per coordinates) to the world map (some of which are relative coordinates to where you last were on the world map). The coordinates that it transports to are currently unknown, but likely contained within FIELD.TBL. It is also important to note that all entry points map exactly to the exit points; that is, when you leave Midgar, you are in map mds5_5 and it MAPJUMPs to wm0, which puts you on the south side of Midgar, but when you walk into Midgar from the world map, it'll be record 0 in FIELD.TBL, which directs the game to jump to mds5_5.