Difference between revisions of "FF7/Savemap"
Jump to navigation
Jump to search
Qhimm>M4v3R m (Changed wiki tables format to more editable) |
Qhimm>Dziugo |
||
Line 142: | Line 142: | ||
| colspan="2" | Party Materia stock, 4 bytes per materia, 200 materia max [See materia list] | | colspan="2" | Party Materia stock, 4 bytes per materia, 200 materia max [See materia list] | ||
|- | |- | ||
|style="background:rgb(255,255,204)" | | | 0x0A9C | ||
|style="background:rgb(255,255,204)" | | | 192 bytes | ||
| colspan="2" | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See materia list] | |||
|- | |||
|style="background:rgb(255,255,204)" | 0x0B5C | |||
|style="background:rgb(255,255,204)" | 32 bytes | |||
|style="background:rgb(255,255,204)" colspan="2" | Unknown | |style="background:rgb(255,255,204)" colspan="2" | Unknown | ||
|- | |- | ||
Line 752: | Line 756: | ||
|- | |- | ||
| 0x1F | | 0x1F | ||
| | | 1 byte | ||
| Character flags | | Character flags - 0x10-Sadness, 0x20-Fury | ||
|- | |||
| 0x20 | |||
| 1 byte | |||
| Char order - 0xFF-Normal, 0xFE-Back row | |||
|- | |||
| 0x21 | |||
| 1 byte | |||
| Level progress bar | |||
|- | |- | ||
| 0x22 | | 0x22 | ||
Line 808: | Line 820: | ||
|- | |- | ||
| 0x40 | | 0x40 | ||
| | | 4 bytes | ||
| Weapon materia slot number 1 | | Weapon materia slot number 1 | ||
|- | |- | ||
| | | 0x44 | ||
| | | 4 bytes | ||
| Weapon materia slot number 2 | | Weapon materia slot number 2 | ||
|- | |- | ||
| | | 0x48 | ||
| | | 4 bytes | ||
| Weapon materia slot number 3 | | Weapon materia slot number 3 | ||
|- | |- | ||
| | | 0x4C | ||
| | | 4 bytes | ||
| Weapon materia slot number 4 | | Weapon materia slot number 4 | ||
|- | |- | ||
| | | 0x50 | ||
| | | 4 bytes | ||
| Weapon materia slot number 5 | | Weapon materia slot number 5 | ||
|- | |- | ||
| | | 0x54 | ||
| | | 4 bytes | ||
| Weapon materia slot number 6 | | Weapon materia slot number 6 | ||
|- | |- | ||
| | | 0x58 | ||
| | | 4 bytes | ||
| Weapon materia slot number 7 | | Weapon materia slot number 7 | ||
|- | |- | ||
| | | 0x5C | ||
| | | 4 bytes | ||
| Weapon materia slot number 8 | | Weapon materia slot number 8 | ||
|- | |- | ||
| | | 0x60 | ||
| | | 4 bytes | ||
| Armor materia slot number 1 | | Armor materia slot number 1 | ||
|- | |- | ||
| | | 0x64 | ||
| | | 4 bytes | ||
| Armor materia slot number 2 | | Armor materia slot number 2 | ||
|- | |- | ||
| | | 0x68 | ||
| | | 4 bytes | ||
| Armor materia slot number 3 | | Armor materia slot number 3 | ||
|- | |- | ||
| | | 0x6C | ||
| | | 4 bytes | ||
| Armor materia slot number 4 | | Armor materia slot number 4 | ||
|- | |- | ||
| | | 0x70 | ||
| | | 4 bytes | ||
| Armor materia slot number 5 | | Armor materia slot number 5 | ||
|- | |- | ||
| | | 0x74 | ||
| | | 4 bytes | ||
| Armor materia slot number 6 | | Armor materia slot number 6 | ||
|- | |- | ||
| | | 0x78 | ||
| | | 4 bytes | ||
| Armor materia slot number 7 | | Armor materia slot number 7 | ||
|- | |- | ||
| | | 0x7C | ||
| | | 4 bytes | ||
| Armor materia slot number 8 | | Armor materia slot number 8 | ||
|- | |- |
Revision as of 19:57, 4 April 2006
The Savemap
The following is the general save format for the game. This data excludes the header data that differs between the PSX and PC version.
Note: For the preview descriptions below, changing these values does not change any in-game values. These are only used so a player can preview the data within the save file when viewing the Save menu.
Offset | Length | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 2 bytes | Checksum | |||||||||||
0x0004 | 1 byte | Preview: Lead character's level | |||||||||||
0x0005 | 1 byte | Preview: Lead character's portrait | |||||||||||
0x00: Cloud 0x01: Barret 0x02: Tifa 0x03: Aeris 0x04: Red XIII 0x05: Yuffie 0x06: Cait Sith |
0x07: Vincent 0x08: Cid 0x09: Young Cloud 0x0A: Sephiroth 0x0B: Chocobo 0xFF: None | ||||||||||||
0x0006 | 1 byte | Preview: 2nd character's portrait | |||||||||||
0x0007 | 1 byte | Preview: 3rd character's portrait | |||||||||||
0x0008 | 16 bytes | Preview: Lead character's name, terminated with 0xFF | |||||||||||
0x0018 | 2 bytes | Preview: Lead character's current HP | |||||||||||
0x001A | 2 bytes | Preview: Lead character's max HP | |||||||||||
0x001C | 2 bytes | Preview: Lead character's current MP | |||||||||||
0x001E | 2 bytes | Preview: Lead character's max MP | |||||||||||
0x0020 | 4 bytes | Preview: Amount of Gil | |||||||||||
0x0024 | 4 bytes | Preview: Total number of seconds played | |||||||||||
0x0028 | 32 bytes | Preview: Save location, FF Text format, terminated with 0xFF | |||||||||||
0x0048 | 3 bytes | RGB value for upper left corner of window | |||||||||||
0x004B | 3 bytes | RGB value for upper right corner of window | |||||||||||
0x004E | 3 bytes | RGB value for lower left corner of window | |||||||||||
0x0051 | 3 bytes | RGB value for lower right corner of window | |||||||||||
0x0054 | 132 bytes | Character record: Cloud [see below for Character record format] | |||||||||||
0x00D8 | 132 bytes | Character record: Barret | |||||||||||
0x015C | 132 bytes | Character record: Tifa | |||||||||||
0x01E0 | 132 bytes | Character record: Aeris | |||||||||||
0x0264 | 132 bytes | Character record: Red XIII | |||||||||||
0x02E8 | 132 bytes | Character record: Yuffie | |||||||||||
0x036C | 132 bytes | Character record: Cait Sith | |||||||||||
0x03F0 | 132 bytes | Character record: Vincent | |||||||||||
0x0474 | 132 bytes | Character record: Cid | |||||||||||
0x04F8 | 1 byte | Party member in slot 1 [uses same format as character portrait above] | |||||||||||
0x04F9 | 1 byte | Party member in slot 2 | |||||||||||
0x04FA | 1 byte | Party member in slot 3 | |||||||||||
0x04FB | 1 byte | 0xFF | |||||||||||
0x04FC | 640 bytes | Party Item stock, 2 bytes per item, 320 item slots max [See save item list below] | |||||||||||
0x077C | 800 bytes | Party Materia stock, 4 bytes per materia, 200 materia max [See materia list] | |||||||||||
0x0A9C | 192 bytes | Materia stolen by Yuffie, 4 bytes per materia, 48 materia max [See materia list] | |||||||||||
0x0B5C | 32 bytes | Unknown | |||||||||||
0x0B7C | 4 bytes | Party's Gil amount | |||||||||||
0x0B80 | 4 bytes | Total number of seconds played | |||||||||||
0x0B84 | 16 bytes | Unknown | |||||||||||
0x0B94 | 2 bytes | Current map | |||||||||||
0x0B96 | 2 bytes | Current location | |||||||||||
0x0B98 | 2 bytes | Unknown | |||||||||||
0x0B9A | 2 bytes | X location on world map | |||||||||||
0x0B9C | 2 bytes | Y location on world map | |||||||||||
0x0B9E | 2 bytes | Z location on world map | |||||||||||
0x0BA0 | 4 bytes | Unknown | |||||||||||
0x0BA4 | 2 bytes | Plot Progression Variables [BEGINNING OF SCRIPT MEMORY BANK 1/2] | |||||||||||
0x0BA5 | 3 bytes | Unknown | |||||||||||
0x0BA7 | 1 byte | Aeris' current love points | |||||||||||
0x0BA8 | 1 byte | Tifa's current love points | |||||||||||
0x0BA9 | 1 byte | Yuffie's current love points | |||||||||||
0x0BAA | 1 byte | Barret's current love points | |||||||||||
0x0BAB | 5 bytes | Unknown | |||||||||||
0x0BB0 | 2 bytes | Number of battles fought | |||||||||||
0x0BB2 | 2 bytes | Number of escapes | |||||||||||
0x0BB4 | 1 byte | Game timer (Hours) | |||||||||||
0x0BB5 | 1 byte | Game timer (Minutes) | |||||||||||
0x0BB6 | 1 byte | Game timer (Seconds) | |||||||||||
0x0BB7 | 1 byte | Game timer (Tenths) | |||||||||||
0x0BB8 | 0x0BBD | Unknown (curse ring usage?) | |||||||||||
0x0BBC | 2 bytes | Number of battles fought | |||||||||||
0x0BBE | 2 bytes | Number of escapes | |||||||||||
0x0BBF | 0x0BE3 | Unknown | |||||||||||
0x0BE4 | 8 bytes | Key items [see Key Item List] | |||||||||||
0x0BEC | 0x0BC9 | Unknown | |||||||||||
0x0BF9 | 1 byte | Field Chocobo rating | |||||||||||
0x0BFA | 1 byte | Field Chocobo rating | |||||||||||
0x0BFB | 1 byte | Field Chocobo rating | |||||||||||
0x0BFC | 1 byte | Field Chocobo rating | |||||||||||
0x0BFD | 0x0BC8 | Unknown | |||||||||||
0x0BC9 | 2 bytes | Menu Visiblity Mask (Quit not affected) | |||||||||||
| |||||||||||||
0x0BCB | 2 bytes | Menu Locking Mask (1: Locked) (Quit not affected) | |||||||||||
| |||||||||||||
0x0C02 | 1 byte | Rating for Penned Chocobo Number 1 (01: Wonderful -> 08: Worst) | |||||||||||
0x0C03 | 1 byte | Rating for Penned Chocobo Number 2 | |||||||||||
0x0C04 | 1 byte | Rating for Penned Chocobo Number 3 | |||||||||||
0x0C05 | 1 byte | Rating for Penned Chocobo Number 4 | |||||||||||
0x0C06 | 0x0CA3 | Unknown | |||||||||||
0x0CA4 | [BEGINNING OF FIELD BANK 3/4] | ||||||||||||
0x0CA5 | 0x0CED | Unknown | |||||||||||
0x0CEE | 2 bytes | Party GP (0-10000) | |||||||||||
0x0CF0 | 12 bytes | Unknown | |||||||||||
0x0CFC | 1 byte | Number of chocobo stables owned | |||||||||||
0x0CFD | 1 byte | Unknown | |||||||||||
0x0CFE | 1 byte | Number of occupied stables | |||||||||||
0x0CFF | 1 byte | Mask of occupied stables | |||||||||||
0x0D00 | 0x0DA3 | Unknown | |||||||||||
0x0DA4 | [BEGINNING OF FIELD BANK B/C] | ||||||||||||
0x0DA5 | 0x0DC3 | Unknown | |||||||||||
0x0DC4 | 16 bytes | Chocobo slot 1 [See table 3 for Chocobo Slot format] | |||||||||||
0x0DD4 | 16 bytes | Chocobo slot 2 | |||||||||||
0x0DE4 | 16 bytes | Chocobo slot 3 | |||||||||||
0x0DF4 | 16 bytes | Chocobo slot 4 [Slot 5 and 6 are located at 0x1084 - 0x10A3] | |||||||||||
0x0D04 | 0x0EA3 | Unknown | |||||||||||
0x0EA4 | 1 byte | Current CD [BEGINNING OF FIELD BANK D/E] | |||||||||||
0x0EA5 | 31 bytes | Unknown | |||||||||||
0x0EC4 | 6 bytes | Name of Chocobo 1 (FF Text format) | |||||||||||
0x0ECA | 6 bytes | Name of Chocobo 2 | |||||||||||
0x0ED0 | 6 bytes | Name of Chocobo 3 | |||||||||||
0x0ED6 | 6 bytes | Name of Chocobo 4 | |||||||||||
0x0EDC | 6 bytes | Name of Chocobo 5 | |||||||||||
0x0EE2 | 6 bytes | Name of Chocobo 6 | |||||||||||
0x0EE8 | 2 bytes | Stamina of Chocobo 1 | |||||||||||
0x0EEA | 2 bytes | Stamina of Chocobo 2 | |||||||||||
0x0EEC | 2 bytes | Stamina of Chocobo 3 | |||||||||||
0x0EEE | 2 bytes | Stamina of Chocobo 4 | |||||||||||
0x0EF0 | 2 bytes | Stamina of Chocobo 5 | |||||||||||
0x0EF2 | 2 bytes | Stamina of Chocobo 6 | |||||||||||
0x0EF4 | 0x0EFD | Unknown | |||||||||||
0x0EFD | 1 byte | Vehicle Enabler | |||||||||||
0x0EFE | 0x0F14 | Unknown | |||||||||||
0x0F15 | 24 bytes | Name of location (FF Text format) | |||||||||||
0x0F24 | 0x0F32 | Unknown | |||||||||||
0x0F15 | 24 bytes | Instructions to be shown | |||||||||||
0x0F33 | 0x0F65 | Unknown | |||||||||||
0x0F66 | 1 byte | Party's X location on world map (Tile) | |||||||||||
0x0F67 | 1 byte | Party's Y location on world map (Tile) | |||||||||||
0x0F68 | 1 byte | Party's Heading e.g: 00: South, 40: East, 80: North, C0: West | |||||||||||
0x0F69 | 1 byte | Party's X? | |||||||||||
0x0F6A | 1 byte | Party's Y? | |||||||||||
0x0F6B | 1 byte | Party's Z? | |||||||||||
0x0F6C | 0x0F85 | Unknown | |||||||||||
0x0F86 | 1 byte | Vehicle X location (Tile) | |||||||||||
0x0F87 | 1 byte | Vehicle Y location (Tile) | |||||||||||
0x0F88 | 1 byte | Vehicle Heading (as per Party Heading) | |||||||||||
0x0F89 | 1 byte | Submarine X? | |||||||||||
0x0F8A | 1 byte | Submarine Y? | |||||||||||
0x0F8B | 1 byte | Submarine Z? | |||||||||||
0x0F8C | 0x0FA5 | Unknown | |||||||||||
0x0FA4 | [BEGINNING OF FIELD BANK 7/F] | ||||||||||||
0x0FA5 | 1 byte | Unknown | |||||||||||
0x0FA6 | 1 byte | World map camera & map display Add two values (one from camera, one from map) and set this byte. | |||||||||||
Camera: Aerial(00); Closeup(20) | |||||||||||||
Map: Off(80); Small(00); Large(40) | |||||||||||||
0x0FA7 | 0x0FAA | Unknown | |||||||||||
0x0FAB | 1 byte | If not 0x00, game crashes | |||||||||||
0x0FAC | 0x102F | Unknown | |||||||||||
0x1030 | 1 byte | Field screen rain switch (non-zero to turn on rain effect) | |||||||||||
0x1031 | 0x1083 | Unknown | |||||||||||
0x1084 | 16 bytes | Chocobo slot 5 | |||||||||||
0x1094 | 16 bytes | Chocobo slot 6 | |||||||||||
0x10A3 | [END OF FIELD SCRIPT MEMORY BANKS] | ||||||||||||
0x10A3 | 0x10AE | Unknown | |||||||||||
0x10AD | 2 bytes | PHS Locking Mask (1: Locked) | |||||||||||
| |||||||||||||
0x10AF | 2 bytes | PHS Visibility Mask (does not turn off party characters) | |||||||||||
| |||||||||||||
0x10B0 | 0x10D7 | Unknown | |||||||||||
0x10D8 | 1 byte | Battle Speed (0x00: fastest, 0xFF: slowest) | |||||||||||
0x10D9 | 1 byte | Battle Message Speed | |||||||||||
0x10DA | 2 bytes | Flag bits (?) | |||||||||||
0x10DC | 16 bytes | Unknown | |||||||||||
0x10EC | 1 byte | Message Speed | |||||||||||
0x10ED | 7 bytes | Unknown |
Offset | Length | Description |
---|---|---|
0x00 | 1 byte | Sephiroth flag for changing Vincent into Sephiroth |
0x01 | 1 byte | Level (0-99) |
0x02 | 1 byte | Strength (0-255) |
0x03 | 1 byte | Vitality (0-255) |
0x04 | 1 byte | Magic (0-255) |
0x05 | 1 byte | Spirit (0-255) |
0x06 | 1 byte | Dexterity (0-255) |
0x07 | 1 byte | Luck (0-255) |
0x08 | 1 byte | Strength Bonus (Power Sources used) |
0x09 | 1 byte | Vitality Bonus (Guard Sources used) |
0x0A | 1 byte | Magic Bonus (Magic Sources used) |
0x0B | 1 byte | Spirit Bonus (Mind Sources used) |
0x0C | 1 byte | Dexterity Bonus (Speed Sources used) |
0x0D | 1 byte | Luck Bonus (Luck Sources used) |
0x0E | 1 byte | Current limit level (1-4) |
0x0F | 1 byte | Current limit bar (0xFF = limit break) |
0x10 | 12 bytes | Name (FF Text format) |
0x1C | 1 byte | Equipped weapon |
0x1D | 1 byte | Equipped armor |
0x1E | 1 byte | Equipped accessory |
0x1F | 1 byte | Character flags - 0x10-Sadness, 0x20-Fury |
0x20 | 1 byte | Char order - 0xFF-Normal, 0xFE-Back row |
0x21 | 1 byte | Level progress bar |
0x22 | 2 bytes | Learned limit skills |
0x24 | 2 bytes | Number of kills |
0x26 | 2 bytes | Times limit 1-1 has been used |
0x28 | 2 bytes | Times limit 2-1 has been used |
0x2A | 2 bytes | Times limit 3-1 has been used |
0x2C | 2 bytes | Current HP |
0x2E | 2 bytes | Base HP (before materia alterations) |
0x30 | 2 bytes | Current MP |
0x32 | 2 bytes | Base MP (before materia alterations) |
0x34 | 4 bytes | Unknown |
0x38 | 2 bytes | Maximum HP (after materia alterations) |
0x3A | 2 bytes | Maximum MP (after materia alterations) |
0x3C | 4 bytes | Current EXP |
0x40 | 4 bytes | Weapon materia slot number 1 |
0x44 | 4 bytes | Weapon materia slot number 2 |
0x48 | 4 bytes | Weapon materia slot number 3 |
0x4C | 4 bytes | Weapon materia slot number 4 |
0x50 | 4 bytes | Weapon materia slot number 5 |
0x54 | 4 bytes | Weapon materia slot number 6 |
0x58 | 4 bytes | Weapon materia slot number 7 |
0x5C | 4 bytes | Weapon materia slot number 8 |
0x60 | 4 bytes | Armor materia slot number 1 |
0x64 | 4 bytes | Armor materia slot number 2 |
0x68 | 4 bytes | Armor materia slot number 3 |
0x6C | 4 bytes | Armor materia slot number 4 |
0x70 | 4 bytes | Armor materia slot number 5 |
0x74 | 4 bytes | Armor materia slot number 6 |
0x78 | 4 bytes | Armor materia slot number 7 |
0x7C | 4 bytes | Armor materia slot number 8 |
0x80 | 4 bytes | EXP to next level |
Offset | Length | Description |
---|---|---|
0x0 | 2 bytes | Sprint Speed |
0x2 | 2 bytes | Max Sprint Speed |
0x4 | 2 bytes | Speed |
0x6 | 2 bytes | Max Speed |
0x8 | 1 byte | Acceleration |
0x9 | 1 byte | Cooperation |
0xA | 1 byte | Intelligence |
0xB | 1 byte | Personality |
0xC | 1 byte | Pcount (?) |
0xD | 1 byte | Number of races won |
0xE | 1 byte | 1: female) |
0xF | 1 byte | Type (Yellow, Green, Blue, Black, Gold) |
KERNEL.BIN Section 3 Entry
During game initialization, section 3 from KERNEL.BIN is decompressed and copied into RAM. This is all the initial values and structure for most of the Save, excluding the header data and the tail of the last bank (0x0054 to 0x0FE7).