2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 /** @file train_cmd.h Sprites to use for trains. */
10 static const SpriteID _engine_sprite_base
[] = {
11 0x0B59, 0x0B61, 0x0B69, 0x0BE1, 0x0B71, 0x0B75, 0x0B7D, 0x0B7D,
12 0x0B85, 0x0B85, 0x0B8D, 0x0B8D, 0x0BC9, 0x0BD1, 0x0BD9, 0x0BE9,
13 0x0BED, 0x0BED, 0x0BF5, 0x0BF9, 0x0B79, 0x0B9D, 0x0B9D, 0x0B95,
14 0x0B95, 0x0BA5, 0x0BA9, 0x0BA9, 0x0BC1, 0x0BC5, 0x0BB1, 0x0BB9,
15 0x0BB9, 0x0AAD, 0x0AB1, 0x0AB5, 0x0AB9, 0x0ABD, 0x0AC1, 0x0AC9,
16 0x0ACD, 0x0AD5, 0x0AD1, 0x0AD9, 0x0AC5, 0x0AD1, 0x0AD5, 0x0AF9,
17 0x0AFD, 0x0B05, 0x0AB9, 0x0AC1, 0x0AC9, 0x0AD1, 0x0AD9, 0x0AE1,
18 0x0AE5, 0x0AE9, 0x0AF1, 0x0AF9, 0x0B0D, 0x0B11, 0x0B15, 0x0B19,
19 0x0B1D, 0x0B21, 0x0B29, 0x0B2D, 0x0B35, 0x0B31, 0x0B39, 0x0B25,
23 /* For how many directions do we have sprites? (8 or 4; if 4, the other 4
24 * directions are symmetric. */
25 static const byte _engine_sprite_and
[] = {
26 7, 7, 7, 7, 3, 3, 7, 7,
27 7, 7, 7, 7, 7, 7, 7, 3,
28 7, 7, 3, 7, 3, 7, 7, 7,
29 7, 3, 7, 7, 3, 3, 7, 7,
30 7, 3, 3, 3, 3, 3, 3, 3,
31 3, 3, 3, 3, 3, 3, 3, 3,
32 3, 3, 3, 3, 3, 3, 3, 3,
33 3, 3, 3, 3, 3, 3, 3, 3,
34 3, 3, 3, 3, 3, 3, 3, 3,
38 /* Non-zero for multihead trains. */
39 static const byte _engine_sprite_add
[] = {
40 0, 0, 0, 0, 0, 0, 0, 4,
41 0, 4, 0, 4, 0, 0, 0, 0,
42 0, 4, 0, 0, 0, 0, 4, 0,
43 4, 0, 0, 4, 0, 0, 0, 0,
44 4, 0, 0, 0, 0, 0, 0, 0,
45 0, 0, 0, 0, 0, 0, 0, 0,
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
53 static const byte _wagon_full_adder
[] = {
54 0, 0, 0, 0, 0, 0, 0, 0,
55 0, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 44, 0, 0, 0, 0, 24,
59 24, 24, 24, 0, 0, 32, 32, 0,
60 4, 4, 4, 4, 4, 4, 4, 0,
61 0, 4, 4, 4, 0, 44, 0, 0,
62 0, 0, 24, 24, 24, 24, 0, 0,
66 static_assert(lengthof(_engine_sprite_base
) == lengthof(_engine_sprite_and
));
67 static_assert(lengthof(_engine_sprite_base
) == lengthof(_engine_sprite_add
));
68 static_assert(lengthof(_engine_sprite_base
) == lengthof(_wagon_full_adder
));