Donkey Kong Country: Tropical Freeze and SAVW (File Format): Difference between pages
(Difference between pages)
>Aruki |
>Aruki m (Parax0 moved page SAVW (File Format) to SAVW (Metroid Prime)) |
||
Line 1: | Line 1: | ||
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. | |||
__TOC__ | __TOC__ | ||
== | == Format == | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Type | ||
! | ! Count | ||
! Name | |||
! Notes | |||
! MP1 | |||
! MP2 | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Magic''' | |||
| Always <code>0xC001D00D</code>. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Version''' | |||
| See below for a list of possible version numbers. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Area Count''' | |||
| Number of areas contained in this world. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Cinematic Skip Count''' | |||
| Count of skippable cinematics. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | 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. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''MemoryRelay Count''' | |||
| Count of MemoryRelay instances. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | ''MemoryRelay Count'' | ||
| '''MemoryRelay Instance IDs''' | |||
| Array of instance IDs listing every MemoryRelay instance in the world. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Layer Toggle Count''' | |||
| Count of layers that can be toggled on/off from this world. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| [[ | | [[#Layer Toggle|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. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Door Count''' | |||
| Count of DoorArea/Door instances. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | ''Door Count'' | ||
| '''Door Instance IDs''' | |||
| Array of instance IDs listing every DoorArea/Door instance in the world. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Scannable Object Count''' | |||
| Count of scannable objects in the next array. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| [[ | | [[#Scannable Object|Scannable Object]] | ||
| | | ''Scannable Object Count'' | ||
| '''Scannable Object Array''' | |||
| Array describing every scannable object in this world. | |||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''System State Env Var Count''' | |||
| Count of system state env vars modified from this world. | |||
| {{nocheck}} | |||
| {{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}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Game State Env Var Count''' | |||
| Count of game state env vars modified from this world. | |||
| {{nocheck}} | |||
| {{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}} | |||
| {{check}} | |||
|- | |- | ||
| | | u32 | ||
| | | 1 | ||
| '''Unmappable Object Count''' | |||
| Count of unmappable objects in the world. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |- | ||
| | | 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. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |- | ||
| [[ | | colspan=6 {{unknown|End of file}} | ||
| | |} | ||
=== Versions === | |||
Possible version numbers: | |||
{| class="wikitable" | |||
! Version | |||
! Game | |||
|- | |||
| 0x3 | |||
| Metroid Prime | |||
|- | |||
| 0x5 | |||
| Metroid Prime 2: Echoes | |||
|- | |||
| 0x6 | |||
| Metroid Prime 3: Corruption | |||
|- | |||
| 0x8 | |||
| Donkey Kong Country Returns | |||
|} | |||
=== Layer Toggle === | |||
{| class="wikitable" | |||
! Type | |||
! Name | |||
! Notes | |||
|- | |||
| u32 | |||
| '''Area ID''' | |||
| Internal area ID (not the MREA ID). | |||
|- | |||
| u32 | |||
| '''Layer Index''' | |||
| Index of the layer that can be toggled. | |||
|- | |||
| colspan=3 {{unknown|End of layer}} | |||
|} | |||
=== Scannable Object === | |||
{| class="wikitable" | |||
! Type | |||
! Name | |||
! Notes | |||
|- | |||
| Asset ID | |||
| '''SCAN Asset ID''' | |||
| Asset ID of a [[SCAN (Metroid Prime)|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. | |||
|- | |||
| colspan=3 {{unknown|End of scan}} | |||
|} | |||
Possible logbook category values (MP1 only): | |||
{| class="wikitable" | |||
! ID | |||
! Category | |||
|- | |||
| 0 | |||
| Non-Logbook | |||
|- | |- | ||
| | | 1 | ||
| | | Space Pirate Data | ||
|- | |- | ||
| | | 2 | ||
| | | Chozo Lore | ||
|- | |- | ||
| | | 3 | ||
| | | Creatures | ||
|- | |- | ||
| | | 4 | ||
| | | Research | ||
|} | |||
=== Environment Variable === | |||
{| class="wikitable" | |||
! Type | |||
! Name | |||
! Notes | |||
|- | |- | ||
| | | string | ||
| | | '''Variable Name''' | ||
| Name of the environment variable as a zero-terminated string. | |||
|- | |- | ||
| | | u32 | ||
| | | {{unknown|Unknown}} | ||
| Always 0? | |||
|- | |- | ||
| | | u32 | ||
| | | {{unknown|Unknown}} | ||
| Always 1? | |||
|- | |- | ||
| | | u32 | ||
| | | {{unknown|Unknown}} | ||
| Always 0? | |||
|- | |- | ||
| | | colspan=3 {{unknown|End of environment variable}} | ||
|} | |} | ||
[[Category: | [[Category:File Formats]] | ||
[[Category: | [[Category:Metroid Prime]] | ||
[[Category:Metroid Prime 2 Demo]] | |||
[[Category:Metroid Prime 2: Echoes]] |
Revision as of 17:15, 29 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 | Variable 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 |