Difference between revisions of "SCAN (Metroid Prime)"
m |
|||
Line 5: | Line 5: | ||
__TOC__ | __TOC__ | ||
− | == Header == | + | == Format == |
+ | |||
+ | The SCAN format is very simple; it has a header with data that contains general settings related to the scan, and then four structs defining how the scan images work. Even if a scan doesn't use four images, there's always four image structs, which means the SCAN format has a static size; every SCAN file is 0x89 bytes (or 0xA0 bytes padded). | ||
+ | |||
+ | === Header === | ||
The header is rather simple, and consists of the following: | The header is rather simple, and consists of the following: | ||
Line 32: | Line 36: | ||
| 0x10 | | 0x10 | ||
| 4 | | 4 | ||
− | | '''Scan Speed'''; 0 = | + | | '''Scan Speed Flag'''; 0 = normal fast scan, 1 = slower scan (usually found in boss fights) |
|- | |- | ||
| 0x14 | | 0x14 | ||
| 4 | | 4 | ||
− | | ''' | + | | '''Logbook Category'''; see below |
|- | |- | ||
| 0x18 | | 0x18 | ||
| 1 | | 1 | ||
− | | ''' | + | | '''Scan Icon Flag'''; 0 = orange icon, 2 = red icon |
|- | |- | ||
| 0x19 | | 0x19 | ||
Line 46: | Line 50: | ||
|} | |} | ||
+ | ==== Logbook Category ==== | ||
− | == | + | There's five possible values: |
+ | |||
+ | {| class="wikitable" | ||
+ | ! ID | ||
+ | ! Category | ||
+ | |- | ||
+ | | 0 | ||
+ | | Not a logbook scan | ||
+ | |- | ||
+ | | 1 | ||
+ | | Space Pirate Data | ||
+ | |- | ||
+ | | 2 | ||
+ | | Chozo Lore | ||
+ | |- | ||
+ | | 3 | ||
+ | | Creatures | ||
+ | |- | ||
+ | | 4 | ||
+ | | Research | ||
+ | |} | ||
+ | |||
+ | === Scan Images === | ||
[[File:Scan_positions1.png|thumb|300px|Offsets for the different scan images and their positions]] | [[File:Scan_positions1.png|thumb|300px|Offsets for the different scan images and their positions]] | ||
[[File:Scan_positions2.png|thumb|300px]] | [[File:Scan_positions2.png|thumb|300px]] | ||
− | Following the header is an array of | + | Following the header is an array of four structs that contain settings for up to four scan images. Although there can be anywhere from 0 to 4 scan images attached to a scan, there are always four scan image entries here. Entries that aren't used have their TXTR ID set to 0xFFFFFFFF, with the rest of the settings mostly left at defaults. They follow this format: |
{| class="wikitable" | {| class="wikitable" | ||
! Offset | ! Offset | ||
! Size | ! Size | ||
+ | ! Type | ||
! Description | ! Description | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| 4 | | 4 | ||
+ | | long | ||
| '''[[TXTR (Metroid Prime)|TXTR]] ID''' | | '''[[TXTR (Metroid Prime)|TXTR]] ID''' | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 4 | | 4 | ||
− | | ''' | + | | float |
+ | | '''Appearance %'''; image will appear when the scan is this% complete | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| 4 | | 4 | ||
− | | {{unknown|'''Unknown (Fade in duration?)''' | + | | long |
+ | | {{unknown|'''Unknown (Fade in duration?)'''}} | ||
|- | |- | ||
| 0xC | | 0xC | ||
| 4 | | 4 | ||
− | | {{unknown|'''Unknown''' | + | | long |
+ | | {{unknown|'''Unknown'''}} | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| 4 | | 4 | ||
− | | {{unknown|'''Unknown''' | + | | long |
+ | | {{unknown|'''Unknown'''}} | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| 4 | | 4 | ||
− | | {{unknown|'''Unknown''' | + | | long |
+ | | {{unknown|'''Unknown'''}} | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| 4 | | 4 | ||
− | | {{unknown|'''Unknown''' | + | | float |
+ | | {{unknown|'''Unknown'''}} | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
− | | colspan= | + | | colspan=3 {{unknown|End of entry}} |
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:File Formats]] | [[Category:File Formats]] | ||
[[Category:Metroid Prime]] | [[Category:Metroid Prime]] |
Revision as of 08:02, 27 January 2015
The .SCAN file format describes scannable objects, and has references to several resources. It is a relatively simple format and has a static size.
This file format needs more research Too many unknowns. |
Format
The SCAN format is very simple; it has a header with data that contains general settings related to the scan, and then four structs defining how the scan images work. Even if a scan doesn't use four images, there's always four image structs, which means the SCAN format has a static size; every SCAN file is 0x89 bytes (or 0xA0 bytes padded).
Header
The header is rather simple, and consists of the following:
Offset | Size | Description |
---|---|---|
0x0 | 4 | Version |
0x4 | 4 | Magic; always 0x0BADBEEF |
0x8 | 4 | FRME ID |
0xC | 4 | STRG ID |
0x10 | 4 | Scan Speed Flag; 0 = normal fast scan, 1 = slower scan (usually found in boss fights) |
0x14 | 4 | Logbook Category; see below |
0x18 | 1 | Scan Icon Flag; 0 = orange icon, 2 = red icon |
0x19 | End of header |
Logbook Category
There's five possible values:
ID | Category |
---|---|
0 | Not a logbook scan |
1 | Space Pirate Data |
2 | Chozo Lore |
3 | Creatures |
4 | Research |
Scan Images
Following the header is an array of four structs that contain settings for up to four scan images. Although there can be anywhere from 0 to 4 scan images attached to a scan, there are always four scan image entries here. Entries that aren't used have their TXTR ID set to 0xFFFFFFFF, with the rest of the settings mostly left at defaults. They follow this format:
Offset | Size | Type | Description |
---|---|---|---|
0x0 | 4 | long | TXTR ID |
0x4 | 4 | float | Appearance %; image will appear when the scan is this% complete |
0x8 | 4 | long | Unknown (Fade in duration?) |
0xC | 4 | long | Unknown |
0x10 | 4 | long | Unknown |
0x14 | 4 | long | Unknown |
0x18 | 4 | float | Unknown |
0x1C | End of entry |