Keen 4-6 Tileinfo Format

From ModdingWiki
Jump to navigation Jump to search

This is the tile info segment formats for Keen 4-6, Keen Dreams and a number of other ID Software and Apogee games.

The tileinfo segment is stored in the executable and controls how everything interacts with tiles. In theory it is actually TWO segments, the unmasked and masked tileinfo. Each tileinfo is made up of a number of planes of data, with one byte per tile.

Note TED5 users, sprite 'icons' are also counted as tiles, and can, with hacking, be placed into levels like normal tiles.

Format

UNMASKED: ANIMATION PLANE
UNMASKED: NEXT TILE PLANE
MASKED: TOP PLANE
MASKED: RIGHT PLANE
MASKED: BOTTOM PLANE
MASKED: LEFT PLANE
MASKED: NEXT TILE PLANE
MASKED: PROPERTIES PLANE
MASKED: ANIMATION PLANE

Thus as you can see there are two main parts to the tileinfo, a 2-plane unmasked segment and a 7 plane masked segment. The total tileinfo size is thus [2 * Unm] + [7 * Msk] bytes in size. For example, Keen 4 with 1296 and 2916 tiles respectively, we get 2592 + 20412 = 23004 bytes.

Known tileinfo offsets are:

Keen 4:			$249C2	23004
Keen 5:			$25B22	23688
Keen 6:			$25212	23904
Keen Dreams:		$1FC46	11322

Planes ('Flags'):

Each plane is simply a collection of each tile's value, each value taking up one byte of space. Thus in Keen 1, unmasked tile 0's animation and next tile values are stored at 0 and 1296 in the segment.

Animation plane

How long in game ticks before a tile animates. 0 is no animation. Maximum value is 255 ticks.

Next tile plane

Which tile, RELATIVE TO THIS TILE the tile will animate to. For non-animating tiles, zero. (Same tile!) For tiles like switches that animate when 'pressed' this has a value, but no animation plane value. (I.e wait until pressed)

This has values between +128 to -127 (A tile can animate to one less than it.) but should NOT animate to one not in the tileset!

Left and right planes

Whether Keen can walk into the tile from left or right (Actually pushes Keen out of the tile in that direction if set.) Values either 0 or 1 for 'off' and 'on'

Top plane

Top slope, stand-on or fall through. Values mainly between $00-$11:

0	Fall through		1	Flat
2	Top -> Middle		3	Middle -> bottom
4	Top -> bottom		5	Middle -> top
6	Bottom -> middle	7	Bottom -> top
8	Unused			9	Deadly, can't land on in God mode
SPECIAL VALUES:
17	Flat with pole		33	Keen 6 giant switch on
41	Keen 6 giant switch off	57	Keen 5 fuse

Bottom plane

Bottom slope, hit-head or fall through. Values mainly between 0-11:

0	Jump through		1	Flat bottom
2	Bottom-> Middle		3	Middle -> top
4	Bottom -> top		5	Middle -> bottom
6	Top -> middle		7	Top -> bottom
SPECIAL VALUES:
17	Pole going through	33	Keen 6 giant switch off

Properties plane

What the tile *does* to the player, kill, points, etc. Different for each game and can be complex. Values are 0-255, with 'front' tiles being +128 (That is a pole tile is 1, but a 'front' pole is 129) Thus no game property can be above 127.

Value	Property		Games
0	Nothing			All
1	Pole			All
2	Door			All (Also Miragia entrance in Keen 4)
3	Kills			All
4	100 for 1UP		Keen 4-6
5	Goplat switch off	Keen 4, 5
6	Goplat switch on	Keen 4, 5
7	Red gem holder		Keen 4-6
8	Yellow gem holder	Keen 4-6
9	Blue gem holder		Keen 4-6
10	Green gem holder	Keen 4-6
11      Enter water from top	Keen 4
12      Enter water from right	Keen 4
13      Enter water from bottom Keen 4
14      Enter water from left	Keen 4
15	Bridge switch		Keen 4, 5
16	Moon floor tile		Keen 4
17	Sprite path arrow	Keen 5,6, Biomenace 1-3, Dave 3-4
18	Bridge			Keen 5, 6
19	Active zapper top	Keen 6
20	Teleport entrance	Keen 5, 6
21 	100			All
22	200			All
23	500			All
24	1000			All
25	2000			All
26	5000			All
27	1UP			All
28	Stunner	, flowerpot	Keen 4-6, dreams
29 	Unused			All
30	Inactive zapper		Keen 6
31	Ampton switch		Keen 5
32	Keycard door		Keen 5
33	Left map elevator	Keen 5
34	Right map elevator	Keen 5 

Utilities

ck456tli can edit the tile properties of Commander Keen 4-6 if graphics have been extracted. It also comes with extracted tileinfo files.