Files
@ r3080:b7535a3e8c6b
Branch filter:
Location: cpp/openttd-patchpack/source/table/autorail.h - annotation
r3080:b7535a3e8c6b
3.8 KiB
text/x-c
(svn r3669) Really wipe all data when making a void tile
Thanks to Belugas, egladil and Rubidium for their inspiration and hard work, which all this stuff is based on
Thanks to Belugas, egladil and Rubidium for their inspiration and hard work, which all this stuff is based on
r2186:5ee653b1b5e1 r2186:5ee653b1b5e1 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r2752:65f0a677c814 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r2710:84abacdb8c06 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r2752:65f0a677c814 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 r1070:7d6110393535 | /* $Id$ */
/* Rail selection types (directions):
/ \ / \ / \ / \ / \ / \
/ /\ /\ \ /===\ / \ /| \ / |\
\/ / \ \/ \ / \===/ \| / \ |/
\ / \ / \ / \ / \ / \ /
0 1 2 3 4 5
*/
// mark invalid tiles red
#define RED(c) c | PALETTE_SEL_TILE_RED
// table maps each of the six rail directions and tileh combinations to a sprite
// invalid entries are required to make sure that this array can be quickly accessed
static const int _AutorailTilehSprite[][6] = {
// type 0 1 2 3 4 5
{ 0, 8, 16, 25, 34, 42 }, // tileh = 0
{ 5, 13, RED(22), RED(31), 35, 42 }, // tileh = 1
{ 5, 10, 16, 26, RED(38), RED(46) }, // tileh = 2
{ 5, 9, RED(23), 26, 35, RED(46) }, // tileh = 3
{ 2, 10, RED(19), RED(28), 34, 43 }, // tileh = 4
{ 1, 9, 17, 26, 35, 43 }, // tileh = 5
{ 1, 10, RED(20), 26, RED(38), 43 }, // tileh = 6
{ 1, 9, 17, 26, 35, 43 }, // tileh = 7
{ 2, 13, 17, 25, RED(40), RED(48) }, // tileh = 8
{ 1, 13, 17, RED(32), 35, RED(48) }, // tileh = 9
{ 1, 9, 17, 26, 35, 43 }, // tileh = 10
{ 1, 9, 17, 26, 35, 43 }, // tileh = 11
{ 2, 9, 17, RED(29), RED(40), 43 }, // tileh = 12
{ 1, 9, 17, 26, 35, 43 }, // tileh = 13
{ 1, 9, 17, 26, 35, 43 }, // tileh = 14
{ 0, 1, 2, 3, 4, 5 }, // invalid (15)
{ 0, 1, 2, 3, 4, 5 }, // invalid (16)
{ 0, 1, 2, 3, 4, 5 }, // invalid (17)
{ 0, 1, 2, 3, 4, 5 }, // invalid (18)
{ 0, 1, 2, 3, 4, 5 }, // invalid (19)
{ 0, 1, 2, 3, 4, 5 }, // invalid (20)
{ 0, 1, 2, 3, 4, 5 }, // invalid (21)
{ 0, 1, 2, 3, 4, 5 }, // invalid (22)
{ RED(6), RED(11), RED(17), RED(27), RED(39), RED(47) }, // tileh = 23
{ 0, 1, 2, 3, 4, 5 }, // invalid (24)
{ 0, 1, 2, 3, 4, 5 }, // invalid (25)
{ 0, 1, 2, 3, 4, 5 }, // invalid (26)
{ RED(7), RED(15), RED(24), RED(33), RED(36), RED(44) }, // tileh = 27
{ 0, 1, 2, 3, 4, 5 }, // invalid (28)
{ RED(3), RED(14), RED(18), RED(26), RED(41), RED(49) }, // tileh = 29
{ RED(4), RED(12), RED(21), RED(30), RED(37), RED(45) }, // tileh = 30
};
#undef RED
// maps each pixel of a tile (16x16) to a selection type
// (0,0) is the top corner, (16,16) the bottom corner
static const byte _AutorailPiece[][16] = {
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5 },
{ 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 },
{ 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3 }
};
|