Difference between revisions of "SAVW (File Format)"
From Retro Modding Wiki
(→Format) |
|||
Line 64: | Line 64: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | | ''' | + | | '''Layer Toggle Count''' |
| Count of layers that can be toggled on/off from this world. | | Count of layers that can be toggled on/off from this world. | ||
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
− | | [[# | + | | [[#Layer Toggle|Layer Toggle]] |
| 1 | | 1 | ||
− | | ''' | + | | '''Layer Toggle Array''' |
| Array specifying every layer that can be toggled on/off from this world (any layer referenced by a ScriptLayerController). The layers specified can be in other worlds. | | Array specifying every layer that can be toggled on/off from this world (any layer referenced by a ScriptLayerController). The layers specified can be in other worlds. | ||
| {{check}} | | {{check}} | ||
Line 92: | Line 92: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | | ''' | + | | '''Scannable Object Count''' |
− | | Count of | + | | Count of scannable objects in the next array. |
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
− | | [[# | + | | [[#Scannable Object|Scannable Object]] |
− | | '' | + | | ''Scannable Object Count'' |
− | | ''' | + | | '''Scannable Object Array''' |
− | | Array describing every | + | | Array describing every scannable object in this world. |
| {{check}} | | {{check}} | ||
| {{check}} | | {{check}} | ||
Line 106: | Line 106: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | | ''' | + | | '''System State Env Var Count''' |
− | | Count of | + | | Count of system state env vars modified from this world. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
− | | [[# | + | | [[#Environment Variable|Environment Variable]] |
− | | '' | + | | ''System State Env Var Count'' |
− | | ''' | + | | '''System State Env Var Array''' |
− | | | + | | Array of env vars affecting the entire system. Mainly used for multiplayer music unlocks. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
Line 120: | Line 120: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | + | | '''Game State Env Var Count''' | |
− | | Count of | + | | Count of game state env vars modified from this world. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
− | | [[# | + | | [[#Environment Variable|Environment Variable]] |
− | | '' | + | | ''Game State Env Var Count'' |
− | + | | '''Game State Env Var Array''' | |
− | | | + | | Array of env vars affecting only this save slot. Mainly used to enable the Dark World map button. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
Line 134: | Line 134: | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
− | | ''' | + | | '''Unmappable Object Count''' |
− | | Count of | + | | Count of unmappable objects in the world. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
|- | |- | ||
| u32 | | u32 | ||
− | | '' | + | | ''Unmappable Object Count'' |
− | | ''' | + | | '''Unmappable Object Instance IDs''' |
− | | Array of instance IDs listing every Translator Door Location | + | | Array of instance IDs listing every instance that can be removed from the map. Mainly used by Translator Door Location SpecialFunctions. |
| {{nocheck}} | | {{nocheck}} | ||
| {{check}} | | {{check}} | ||
Line 170: | Line 170: | ||
|} | |} | ||
− | === | + | === Layer Toggle === |
{| class="wikitable" | {| class="wikitable" | ||
Line 188: | Line 188: | ||
|} | |} | ||
− | === | + | === Scannable Object === |
{| class="wikitable" | {| class="wikitable" | ||
Line 228: | Line 228: | ||
|} | |} | ||
− | === | + | === Environment Variable === |
{| class="wikitable" | {| class="wikitable" | ||
Line 237: | Line 237: | ||
| string | | string | ||
| '''Unlock Name''' | | '''Unlock Name''' | ||
− | | | + | | Name of the environment variable as a zero-terminated string. |
|- | |- | ||
| u32 | | u32 | ||
Line 251: | Line 251: | ||
| Always 0? | | Always 0? | ||
|- | |- | ||
− | | colspan=3 {{unknown|End of | + | | colspan=3 {{unknown|End of environment variable}} |
|} | |} | ||
Revision as of 01:14, 28 May 2016
The SAVW format determines what data gets saved to the memory card. It's used to save information on non-hardcoded parts of the game, like whether a particular MemoryRelay has been activated, whether you've scanned a particular scan has been fully scanned, etc.
Format
Type | Count | Name | Notes | MP1 | MP2 |
---|---|---|---|---|---|
u32 | 1 | Magic | Always 0xC001D00D
|
✔ | ✔ |
u32 | 1 | Version | See below for a list of possible version numbers. | ✔ | ✔ |
u32 | 1 | Area Count | Number of areas contained in this world. | ✔ | ✔ |
u32 | 1 | Cinematic Skip Count | Count of skippable cinematics. | ✔ | ✔ |
u32 | Cinematic Skip Count | Cinematic Skip Instance IDs | Array of instance IDs listing every Cinematic Skip SpecialFunction instance (MP1)/Camera instance with cinematic skip enabled (MP2) in the world. | ✔ | ✔ |
u32 | 1 | MemoryRelay Count | Count of MemoryRelay instances. | ✔ | ✔ |
u32 | MemoryRelay Count | MemoryRelay Instance IDs | Array of instance IDs listing every MemoryRelay instance in the world. | ✔ | ✔ |
u32 | 1 | Layer Toggle Count | Count of layers that can be toggled on/off from this world. | ✔ | ✔ |
Layer Toggle | 1 | Layer Toggle Array | Array specifying every layer that can be toggled on/off from this world (any layer referenced by a ScriptLayerController). The layers specified can be in other worlds. | ✔ | ✔ |
u32 | 1 | Door Count | Count of DoorArea/Door instances. | ✔ | ✔ |
u32 | Door Count | Door Instance IDs | Array of instance IDs listing every DoorArea/Door instance in the world. | ✔ | ✔ |
u32 | 1 | Scannable Object Count | Count of scannable objects in the next array. | ✔ | ✔ |
Scannable Object | Scannable Object Count | Scannable Object Array | Array describing every scannable object in this world. | ✔ | ✔ |
u32 | 1 | System State Env Var Count | Count of system state env vars modified from this world. | ✖ | ✔ |
Environment Variable | System State Env Var Count | System State Env Var Array | Array of env vars affecting the entire system. Mainly used for multiplayer music unlocks. | ✖ | ✔ |
u32 | 1 | Game State Env Var Count | Count of game state env vars modified from this world. | ✖ | ✔ |
Environment Variable | Game State Env Var Count | Game State Env Var Array | Array of env vars affecting only this save slot. Mainly used to enable the Dark World map button. | ✖ | ✔ |
u32 | 1 | Unmappable Object Count | Count of unmappable objects in the world. | ✖ | ✔ |
u32 | Unmappable Object Count | Unmappable Object Instance IDs | Array of instance IDs listing every instance that can be removed from the map. Mainly used by Translator Door Location SpecialFunctions. | ✖ | ✔ |
End of file |
Versions
Possible version numbers:
Version | Game |
---|---|
0x3 | Metroid Prime |
0x5 | Metroid Prime 2: Echoes |
0x6 | Metroid Prime 3: Corruption |
0x8 | Donkey Kong Country Returns |
Layer Toggle
Type | Name | Notes |
---|---|---|
u32 | Area ID | Internal area ID (not the MREA ID). |
u32 | Layer Index | Index of the layer that can be toggled. |
End of layer |
Scannable Object
Type | Name | Notes |
---|---|---|
Asset ID | SCAN Asset ID | Asset ID of a SCAN file. |
u32 | Logbook Category | Enum describing which logbook category this scan is part of. Always 0 in MP2. See below for possible values for MP1. |
End of scan |
Possible logbook category values (MP1 only):
ID | Category |
---|---|
0 | Non-Logbook |
1 | Space Pirate Data |
2 | Chozo Lore |
3 | Creatures |
4 | Research |
Environment Variable
Type | Name | Notes |
---|---|---|
string | Unlock Name | Name of the environment variable as a zero-terminated string. |
u32 | Unknown | Always 0? |
u32 | Unknown | Always 1? |
u32 | Unknown | Always 0? |
End of environment variable |