SAVW (File Format): Difference between revisions
no edit summary
>Aruki No edit summary |
>Aruki No edit summary |
||
Line 10: | Line 10: | ||
! Name | ! Name | ||
! Notes | ! Notes | ||
! MP1 | |||
! MP2 | |||
|- | |- | ||
| u32 | | u32 | ||
Line 15: | Line 17: | ||
| '''Magic''' | | '''Magic''' | ||
| Always <code>0xC001D00D</code> | | Always <code>0xC001D00D</code> | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Version''' | | '''Version''' | ||
| | | See below for a list of possible version numbers. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 25: | Line 31: | ||
| '''Area Count''' | | '''Area Count''' | ||
| Number of areas contained in this world. | | Number of areas contained in this world. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 30: | Line 38: | ||
| '''Cinematic Skip Count''' | | '''Cinematic Skip Count''' | ||
| Count of Cinematic Skip SpecialFunction instances. | | Count of Cinematic Skip SpecialFunction instances. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 35: | Line 45: | ||
| '''Cinematic Skip Instance IDs''' | | '''Cinematic Skip Instance IDs''' | ||
| Array of instance IDs listing every Cinematic Skip SpecialFunction instance in the world. | | Array of instance IDs listing every Cinematic Skip SpecialFunction instance in the world. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 40: | Line 52: | ||
| '''MemoryRelay Count''' | | '''MemoryRelay Count''' | ||
| Count of MemoryRelay instances. | | Count of MemoryRelay instances. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 45: | Line 59: | ||
| '''MemoryRelay Instance IDs''' | | '''MemoryRelay Instance IDs''' | ||
| Array of instance IDs listing every MemoryRelay instance in the world. | | Array of instance IDs listing every MemoryRelay instance in the world. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 50: | Line 66: | ||
| '''Toggleable Layer Count''' | | '''Toggleable Layer Count''' | ||
| Count of layers that can be toggled on/off. | | Count of layers that can be toggled on/off. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| [[#Toggleable Layer|Toggleable Layer]] | | [[#Toggleable Layer|Toggleable Layer]] | ||
| 1 | | 1 | ||
| '''Toggleable Layer Array''' | | '''Toggleable Layer Array''' | ||
| Array specifying every layer that can be toggled on/off (in other words, any layer referenced by a | | Array specifying every layer that can be toggled on/off (in other words, any layer referenced by a ScriptLayerController). | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 60: | Line 80: | ||
| '''DoorArea Count''' | | '''DoorArea Count''' | ||
| Count of DoorArea instances. | | Count of DoorArea instances. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
| '' | | ''Door Count'' | ||
| ''' | | '''Door Instance IDs''' | ||
| Array of instance IDs listing every DoorArea instance in the world. | | Array of instance IDs listing every DoorArea/Door instance in the world. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| u32 | | u32 | ||
Line 70: | Line 94: | ||
| '''Scan Count''' | | '''Scan Count''' | ||
| Count of SCAN assets. | | Count of SCAN assets. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| [[#Scan|Scan]] | | [[#Scan|Scan]] | ||
Line 75: | Line 101: | ||
| '''Scan Array''' | | '''Scan Array''' | ||
| Array describing every SCAN asset used in this world. | | Array describing every SCAN asset used in this world. | ||
| {{check}} | |||
| {{check}} | |||
|- | |- | ||
| colspan= | | u32 | ||
| 1 | |||
| '''Multiplayer Music Count''' | |||
| Count of unlockable multiplayer music tracks. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| [[#SpecialFunction Unlock|SpecialFunction Unlock]] | |||
| ''Multiplayer Music Count'' | |||
| '''Multiplayer Music List''' | |||
| | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| u32 | |||
| 1 | |||
| {{unknown|'''Unknown Unlock Count'''}} | |||
| Count of SpecialFunction Unlock structs in the next array. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| [[#SpecialFunction Unlock|SpecialFunction Unlock]] | |||
| ''Unknown Unlock Count'' | |||
| {{unknown|'''Unknown Unlock Array'''}} | |||
| This is used by AutoMapperDarkWorldButton. Unknown if it can be used with anything else. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| u32 | |||
| 1 | |||
| '''Translator Door Count''' | |||
| Count of translator doors in the world. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| u32 | |||
| ''Translator Door Count'' | |||
| '''Translator Door Instance IDs''' | |||
| Array of instance IDs listing every Translator Door Location SpecialFunction instance in the world. | |||
| {{nocheck}} | |||
| {{check}} | |||
|- | |||
| colspan=6 {{unknown|End of file}} | |||
|} | |} | ||
Line 135: | Line 205: | ||
| 4 | | 4 | ||
| Research | | Research | ||
|} | |||
=== SpecialFunction Unlock === | |||
{| class="wikitable" | |||
! Type | |||
! Name | |||
! Notes | |||
|- | |||
| string | |||
| '''Unlock Name''' | |||
| Zero-terminated string. Mirrors the value of the string property on the SpecialFunction. | |||
|- | |||
| u32 | |||
| {{unknown|Unknown}} | |||
| Always 0? | |||
|- | |||
| u32 | |||
| {{unknown|Unknown}} | |||
| Always 1? | |||
|- | |||
| u32 | |||
| {{unknown|Unknown}} | |||
| Always 0? | |||
|- | |||
| colspan=3 {{unknown|End of unlock}} | |||
|} | |} | ||
[[Category:File Formats]] | [[Category:File Formats]] | ||
[[Category:Metroid Prime]] | [[Category:Metroid Prime]] |