SCAN (Metroid Prime)

The .SCAN file format describes scannable objects and has references to several resources. It is a relatively simple format and has a static size.

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 are always four image structs, which means that 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:

Logbook Category
There are five possible values:

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:

Image Position
There are 20 possible values for the scan image's position; there are ten for the left side, and ten for the right:

Fly In Behavior
The first scan image to appear (based on the appearance percent value) will "fly in" from the side of the screen toward the center. The remaining images will "fade in" without moving. The only exception to this is when the first image to appear is a "blank" image with no associated TXTR. In this case, no image will fly in (i.e., all images will fade in).