Difference between revisions of "S16 files"
Sg the bee (talk | contribs) |
Sg the bee (talk | contribs) m (Mention that M16/N16 files use a modified 555 format - bitmasks included in the functions I added to the 555/565 page.) |
||
Line 42: | Line 42: | ||
== M16 and N16 files == | == M16 and N16 files == | ||
− | '''.m16 files''' and '''.n16 files''' are variants of S16 files used by the [[Macintosh Creatures Evolution Engine]], though there doesn't appear to be any difference between the two. All values in theses files are [[Wikipedia:Endianness|big-endian]], rather than little-endian. They can be identified as the first 32-bit little-endian value is equal to 0x1000000 (i.e. the big-endian encoding of the value 0x1). They use | + | '''.m16 files''' and '''.n16 files''' are variants of S16 files used by the [[Macintosh Creatures Evolution Engine]], though there doesn't appear to be any difference between the two. All values in theses files are [[Wikipedia:Endianness|big-endian]], rather than little-endian. They can be identified as the first 32-bit little-endian value is equal to 0x1000000 (i.e. the big-endian encoding of the value 0x1). They use a modified [[555/565|RGB555]] format. |
==Related Links== | ==Related Links== |
Revision as of 16:25, 4 July 2022
.s16 is the extension used in S16 files, i.e. Creatures 2 image files (although they can still also be used in C3/DS). These files actually store several images, so most COBs only need one s16. They can be viewed and edited with Creature Labs' Sprite Workshop, SpriteBuilder or the BoBCoB Sprite Editor, and previewed in Windows using GreenReaper's Sprite Thumbnail Viewer.
Many a developer's hour was spent editing them in an image editor and converting their well-made bitmaps into S16 files for use in-game.
You can find the file naming convention here.
Overview
An S16 file consists of three distinct parts:
- A header, containing information about the file
- Image headers, one for each image
- The image data
type | description |
---|---|
File header | |
uint32 | RGB pixel format: 0=555, 1=565, 0x1000000=N16 file (big-endian 555) |
uint16 | Number of images |
Image headers | |
uint32 | Image #1: Offset to beginning of first line in image data |
uint16 | Image #1: width in pixels |
uint16 | Image #1: height in pixels |
... | Repeat for each image |
Image data | |
uint16[image width * image height] | Image #1: Data |
... | Repeat for each image |
M16 and N16 files
.m16 files and .n16 files are variants of S16 files used by the Macintosh Creatures Evolution Engine, though there doesn't appear to be any difference between the two. All values in theses files are big-endian, rather than little-endian. They can be identified as the first 32-bit little-endian value is equal to 0x1000000 (i.e. the big-endian encoding of the value 0x1). They use a modified RGB555 format.