Stargunner Sprites Format

From ModdingWiki
Jump to navigation Jump to search
Stargunner Sprites Format
There is no image of a tileset in this format — upload one!
Format typeTileset
HardwareVGA
Max tile count65535
PaletteExternal
Tile names?No
Minimum tile size (pixels)Unknown
Maximum tile size (pixels)65535×65535
Plane count1
Plane arrangementLinear
Transparent pixels?No
Hitmap pixels?No
Metadata?None
Supports sub-tilesets?No
Compressed tiles?No
Hidden data?No
Games

The Stargunner Sprites Format is used by Stargunner to store the graphics used to draw various objects.

Signature

There is no signature, but careful parsing of the fields to ensure they have expected values can allow files to be detected. There is no data trailing the pixelData field, so if this field ends right at the end of the file, it is highly probable the file is in this format.

File format

The file begins with short header, followed by index table and raw pixels data

Header

Data type Name Description
UINT32LE DWORD1 Unknown. same as NUM
UINT32LE PAYLOAD Length of pixel data
UINT32LE NUM Number of sprites in this file

Sprite descriptors

Just after the header there are NUM of sprite descriptors. Every sprite descriptor is 40 bytes long

Data type Name Description
UINT32LE INDEX Index number of this sprite
UINT32LE W Width of this sprite in pixels (only low 16 bits are set)
UINT32LE H Height of this sprite in pixels (only low 16 bits are set)
INT32LE UNK1 Unknown - roughly is W/2
INT32LE UNK2 Unknown - roughly is H/2
INT32LE UNK3 Unknown - may be negative
INT32LE UNK4 Unknown
UINT32LE OFFSET1 Offset to the data in the payload area
UINT32LE OFFSET2 Unknown
UINT32LE OFFSET3 Unknown

Payload area

Just after the end of the sprite descriptors is the payload area. It starts at 3*sizeof(UINT32) + 40*NUM from the beginning of the file. Every offset in the sprite descriptor is relative to the payload area. Sprites are stored as 8-bit play VGA image of W*H size