+==========================================================================================+ |Introduction; How these files work: | +==========================================================================================+ The following files indicate in a standard format, the structure of Commander Keen and Keen related files. These are set out as follows: Each text document will contain a number of related file types, such as the graphics, levels tileinfo as other such. In each document a specific filetype will start with a header like the one above, an ornate box. For example, the file 'Keen 1-3 EGA' is the formats of Keen 1-3 graphics and contains four filetypes (EGAHEAD, EGALATCH, EGASPRIT and FINALE) Each filetype will have an introduction after the box, describing loosely its structure. This will then be followed by very brief decription of the file structure, involving little more than a list of the various segments in the file. THIS will be followed by a standard and hopefully precise description of the file type as follows: Each segment of the file will be seperated by dashed lines (----); between the lines will be a series of four columns, the location, the size, the name and the description of a particular piece of the file. For example: ------------------------------------------------------------------------------- 30 4 Tileloc [Offset in EGALATCH plane where tile data starts. ] [= fontnum x 8 ] ------------------------------------------------------------------------------- means that at (Decimal!) byte 30 in the file there are 4 bytes I've called 'Tileloc' and there are some notes about it. (That hopefully make more sense in context.) The numbering of bytes starts at 0 (The first byte in the file is zero, not 1) A '?' means that the location is not fixed (It can be different depending on other things) or that the size of something varies. The use of 'x' means the same thing as '?' but we know that the value is a multiple of something (Thus something 16x in size can be 16,32,48... bytes) SOME NOTES: I try not to use jargon in these descriptions, because it confuses me. (I have a simple mind.) You may encounter some of the following terms however, so I'll explain them here. BIT: 1/8th of a byte, the smallest possible part of a file. Value either 1 or 0 BYTE: 8 bits, the product of the powers of all the bit values (0-255) The 'usual' way of segmenting a file. HEX: (Or hexadecimal.) A number system using 0-F instead of 0-9. Commonly used by programmers. Google it; it's easy enough to understand. PLANE: Like a deck is built from stcks of single cards, so some files are made of planes. These are usually equal in size, stored one after the other and combined to make the output. For example EGA graphics make up their 16 colors from values in 4 planes (2x2x2x2=16) WORD: 2 bytes or 16 bits. Value 0-65536; many in-game values use this, so say, the number of tiles will take up 2 bytes. Often values above 32767 ($7FFF) are treated as negative, (Thus $FF $FF is -ve 1) for further flexibility.