SAVW (File Format)

Revision as of 06:42, 28 May 2016 by >Aruki (→‎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.

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 skips 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 Toggleable Layer Count Count of layers that can be toggled on/off from this world.
Toggleable Layer 1 Toggleable Layer 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 DoorArea Count Count of DoorArea instances.
u32 Door Count Door Instance IDs Array of instance IDs listing every DoorArea/Door instance in the world.
u32 1 Scan Count Count of SCAN assets.
Scan Scan Count Scan Array Array describing every SCAN asset used in this world.
u32 1 Multiplayer Music Count Count of unlockable multiplayer music tracks.
SpecialFunction Unlock Multiplayer Music Count Multiplayer Music List
u32 1 Unknown Unlock Count Count of SpecialFunction Unlock structs in the next array.
SpecialFunction Unlock Unknown Unlock Count Unknown Unlock Array This is used by AutoMapperDarkWorldButton. Unknown if it can be used with anything else.
u32 1 Translator Door Count Count of translator doors in the world.
u32 Translator Door Count Translator Door Instance IDs Array of instance IDs listing every Translator Door Location SpecialFunction instance in the world.
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

Toggleable Layer

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

Scan

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

SpecialFunction Unlock

Type Name Notes
string Unlock Name Zero-terminated string. Mirrors the value of the string property on the SpecialFunction.
u32 Unknown Always 0?
u32 Unknown Always 1?
u32 Unknown Always 0?
End of unlock