Donkey Kong Country: Tropical Freeze and SAVW (File Format): Difference between pages
(Difference between pages)
no edit summary
>Aruki |
>Aruki No edit summary |
||
Line 1: | Line 1: | ||
[[ | ''This article is for the SAVW format from Metroid Prime 1 and 2. See [[SAVW (File Format)]] for the other revisions of this format.'' | ||
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 [[SAVW (File Format)|hub article]] 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}} | |||
|} | |||
=== 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:Metroid Prime]] | |||
[[Category:Metroid Prime 2 Demo]] | |||
[[Category:Metroid Prime 2: Echoes]] |