Difference between revisions of "Image file"

From Worms Knowledge Base

Jump to: navigation, search
(Flags)
(Add OW and WWPA icons. Display possible alignment in table.)
 
(6 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
== File format ==
 
== File format ==
  
* 4-byte signature - "IMG\x1A"
+
{| class="wikitable"
* complete file length (4 bytes)
+
! Game !! Type !! Size !! Name !! Description
* optionally, a null-terminated string describing the image (present only in some Worms 2 images)
+
|-
* the number of bits per pixel in the image (usually 8) (1 byte)
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint8[4] || 4 || Signature || Always "IMG\x1A".
* image flags (1 byte)
+
|-
* the number of colours in the image palette, excluding black<ref name=Black>The black colour isn't listed in the image palette, nor counted in the "number of colours" word. It is counted as the colour 0, so the palette stored in the file should be loaded starting from colour 1.</ref> (2 bytes)
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint32 || 4 || File Size || Complete length of the file, in bytes.
* the image palette, excluding black<ref name=Black/> ((3 &times; number of colours) bytes)
+
|-
* the image width (2 bytes)
+
| {{SoftwareEx|W2|OW}} || string0 || - || Description || An optional, null-terminated string, only present in some [[Worms 2]] and [[Online Worms]] images.
* the image height (2 bytes)
+
|-
* the image data. If the data is compressed (the corresponding image flag is set), see [[Team17 compression]] for the decompression routine; otherwise, it's just an array (Width &times; Height).
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint8 || 1 || Bits Per Pixel || Usually 8 (256 colors).
 
+
|-
 
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint8 || 1 || Image Flags || A [[w:Bit field|bit field]] of the following values:
== Flags ==
+
* 1 << 6 (0x40) = Image data is [[Team17 compression|compressed]]; otherwise, it is an array of Width &times; Height pixels.
The flag byte is a bitmask of the following values:
+
* 1 << 7 (0x80) = Image has a palette, defined as follows:
* 0x40 (01000000) - Image Data is Compressed.
+
|- style="background:#EEE"
* 0xC0 (11000000) - Image Data is Compressed (?).
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint16 || 2 || Palette Color Count || Only if palletized, excludes black<ref name=Black>The black colour isn't listed in the image palette, nor counted in the "number of colours" word. It is counted as the colour 0, so the palette stored in the file should be loaded starting from colour 1.</ref>.
* 0x80 (10000000) - Image Data is Decompressed.
+
|- style="background:#EEE"
 
+
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || rgb[colorCount] || 3 &times; color count || Palette Colors || Only if palletized, excludes black<ref name=Black/>. 3 bytes each color (RGB).
== Notes ==
+
|-
 +
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint16 || 2 || Image Width || In pixels.
 +
|-
 +
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint16 || 2 || Image Height || In pixels.
 +
|- style="background:#EEE"
 +
| {{SoftwareEx|WWP|WWPA}} || align4 || - || Alignment || Only when embedded in [[Land Data file|land.dat files]], aligns to the next 4-byte boundary.
 +
|-
 +
| {{SoftwareEx|W2|WA|WWP|OW|WWPA}} || uint8[] || - || Image Data || Raw image data, according to the above.
 +
|}
 
<references />
 
<references />

Latest revision as of 20:14, 30 June 2020

(Up to File formats)

Team17's image files (typically with an .img file extension) are usually compressed palleted images.

File format

Game Type Size Name Description
[W2][WA][WWP][OW][WWPA] uint8[4] 4 Signature Always "IMG\x1A".
[W2][WA][WWP][OW][WWPA] uint32 4 File Size Complete length of the file, in bytes.
[W2][—][—][OW][—] string0 - Description An optional, null-terminated string, only present in some Worms 2 and Online Worms images.
[W2][WA][WWP][OW][WWPA] uint8 1 Bits Per Pixel Usually 8 (256 colors).
[W2][WA][WWP][OW][WWPA] uint8 1 Image Flags A bit field of the following values:
  • 1 << 6 (0x40) = Image data is compressed; otherwise, it is an array of Width × Height pixels.
  • 1 << 7 (0x80) = Image has a palette, defined as follows:
[W2][WA][WWP][OW][WWPA] uint16 2 Palette Color Count Only if palletized, excludes black[1].
[W2][WA][WWP][OW][WWPA] rgb[colorCount] 3 × color count Palette Colors Only if palletized, excludes black[1]. 3 bytes each color (RGB).
[W2][WA][WWP][OW][WWPA] uint16 2 Image Width In pixels.
[W2][WA][WWP][OW][WWPA] uint16 2 Image Height In pixels.
[—][—][WWP][—][WWPA] align4 - Alignment Only when embedded in land.dat files, aligns to the next 4-byte boundary.
[W2][WA][WWP][OW][WWPA] uint8[] - Image Data Raw image data, according to the above.
  1. 1.0 1.1 The black colour isn't listed in the image palette, nor counted in the "number of colours" word. It is counted as the colour 0, so the palette stored in the file should be loaded starting from colour 1.
Personal tools