Subversion Repositories ipe_artfile_utils

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 daniel-mar 1
 
2
ART FILES BY IMAGINATION PILOTS
3
Technical overview by Daniel Marschall						15 Feb 2018
4
 
5
 
6
		VERSION 1.x (16-bit era, "IPE16")
7
		=================================
8
 
9
Version 1.0	For game: "Blown Away" (1994)
10
		* File signature "Art" + 20 NUL bytes
11
		* Image names up to 23 characters
12
		  (unsure if the 23th byte must be a zero terminator)
13
		* LZW implementation: GIF standard implementation
14
		  - variable code length between 9 and 12 bits
15
		  - clear code (256)
16
		  - end code (257)
17
		* Pictures can only be 8-bit
18
		* Each picture can either be LZW compressed (code "P")
19
		  or uncompressed (code "p", lower case)
20
		* Decompressed/raw data: Top-down pixel data
21
		* Attached: Optional palette (R,G,B), uncompressed.
22
		  (Sprites usually do not have a palette, so the game
23
		   will use the palette of the parent picture)
24
 
25
Version 1.1	For games: "Panic in the Park" (1995)
26
		           "Where's Waldo? At the Circus" (1995)
27
		* Codes for compression/raw are now "Q" and "q" instead of
28
                  "P" and "p"
29
		* Each picture has now a relative X- and Y-offsets for 'fine-tuning'.
30
		  These offsets cannot be negative, though.
31
 
32
		VERSION 2.x (32-bit era, "IPE32")
33
		=================================
34
 
35
Version 2.0	For games: "Where's Waldo? Exploring Geography" (1996)
36
		           "Eraser Turnabout" (1997)
37
		           "Virtual K'Nex" (1998)
38
		* File signature "ART_DATA"
39
		* Image names up to 8 characters;
40
		  no zero termination required after the 8 characters.
41
		* LZW implementation by Mark R. Nelson and Shawn M. Regan
42
		  - variable code length between 9 and 13 bits
43
		  - clear code (256)
44
		  - end code (257)
45
		* Pictures are divided into chunks. Each chunk can be compressed or
46
		  uncompressed. Limitations:
47
		  - Each compressed chunk (except the last one) must decode into
48
		    exactly 16382 (0x3FFE) bytes of uncompressed data.
49
		  - The size of the compressed data of a chunk must not exceed the
50
		    size of the original uncompressed data.
51
		* The size of each chunk (raw or compressed) is limited
52
		  to max. 32767 Bytes (0x7FFF).
53
		* Decompressed/raw data: Windows Bitmap (without file header);
54
		  therefore, theoretically every color depth/compression/etc. can be used.
55
		  For 8-bit pictures, the palette is included in the Bitmap.
56
		* Re-using of parent palette is not possible.