formats:frm16
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
formats:frm16 [2010-09-26 23:12] – edheldil | formats:frm16 [2011-11-17 02:41] – edheldil | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== FRM16 ==== | ==== FRM16 ==== | ||
- | *.frm16 files are images, used for many things like UI elements, icons, minimaps, textures, portraits ... Also they are embedded in .SEQ16 and .MDL16 files. They use 16bits (2 bytes) | + | *.frm16 files are simple bitmap |
- | Allegedly they are cached form of .FRM files which in turn are created from .TGA files. To speed up loading, they do not use any JPEG-type compression like FRM files and use only RLE and 16bit colors. They reside in Cache/ subdir, which supports the theory. In some related games (Ricochet) it's possible to delete .FRM16 files and they get recreated automatically from FRM ones. Unfortunately there are not any .FRM files in Lionheart. | + | Allegedly they are cached form of .FRM files which in turn are created from .TGA files. To speed up loading, they do not use any JPEG-type compression like FRM files and use only RLE and 16bit colors. They reside in Cache/ subdir, which supports the theory. In some related games (Ricochet) it' |
- | FRM16 file consists of a header and up to five layers. | + | FRM16 file consists of a header and up to five layers. |
- | + | ||
- | * header | + | |
- | * Opaque layer | + | |
- | * Bitmap | + | |
- | * Scanline LUT | + | |
- | * 80% opacity layer | + | |
- | * Bitmap | + | |
- | * Scanline LUT | + | |
- | * 60% opacity layer | + | |
- | * Bitmap | + | |
- | * Scanline LUT | + | |
- | * 40% opacity layer | + | |
- | * Bitmap | + | |
- | * Scanline LUT | + | |
- | * 20% opacity layer | + | |
- | * Bitmap | + | |
- | * Scanline LUT | + | |
- | Any (FIXME: even the fully opaque) layer might be missing. | + | Depending on a file type, pixels are either uncompressed |
- | There are at least two types of FRM16 files - type 64 and type 68. Type 64 uses uncompressed | + | Layers originally probably were a way to encode alpha (transparency) in FRM16 files - the first layer would be opaque (possibly with fully transparent pixels in type 68), the second layer would be 80% opacity |
+ | |||
+ | However in Lionheart the layers are used differently. If the image is type 68, the first layer is the same as above, but the second and third layers are never used. The fifth layer contains | ||
+ | |||
+ | Perhaps the 2nd and 3rd layers, unused in Lionheart, could be reused for height and normal maps for fake 3D effect (2.5D). | ||
Line 52: | Line 39: | ||
==== Bitmap ==== | ==== Bitmap ==== | ||
- | Pixel color is encoded as a 16bit word, probably | + | Pixel color is encoded as a 16bit word, with a 5-6-5 RGB encoding. FIXME: How are fully transparent pixels encoded? |
Type 64 files do not use any compression. Each bitmap consists of width x height pixels of 2 bytes each. | Type 64 files do not use any compression. Each bitmap consists of width x height pixels of 2 bytes each. |
formats/frm16.txt · Last modified: 2011-11-21 22:36 by edheldil