OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

train_cmd.h
Go to the documentation of this file.
1 /* $Id: train_cmd.h 26130 2013-11-26 16:08:58Z rubidium $ */
2
3 /*
4 * This file is part of OpenTTD.
5 * 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.
6 * 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.
7 * 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 */
9
12 static const SpriteID _engine_sprite_base[] = {
13 0x0B59, 0x0B61, 0x0B69, 0x0BE1, 0x0B71, 0x0B75, 0x0B7D, 0x0B7D,
14 0x0B85, 0x0B85, 0x0B8D, 0x0B8D, 0x0BC9, 0x0BD1, 0x0BD9, 0x0BE9,
15 0x0BED, 0x0BED, 0x0BF5, 0x0BF9, 0x0B79, 0x0B9D, 0x0B9D, 0x0B95,
16 0x0B95, 0x0BA5, 0x0BA9, 0x0BA9, 0x0BC1, 0x0BC5, 0x0BB1, 0x0BB9,
17 0x0BB9, 0x0AAD, 0x0AB1, 0x0AB5, 0x0AB9, 0x0ABD, 0x0AC1, 0x0AC9,
18 0x0ACD, 0x0AD5, 0x0AD1, 0x0AD9, 0x0AC5, 0x0AD1, 0x0AD5, 0x0AF9,
19 0x0AFD, 0x0B05, 0x0AB9, 0x0AC1, 0x0AC9, 0x0AD1, 0x0AD9, 0x0AE1,
20 0x0AE5, 0x0AE9, 0x0AF1, 0x0AF9, 0x0B0D, 0x0B11, 0x0B15, 0x0B19,
21 0x0B1D, 0x0B21, 0x0B29, 0x0B2D, 0x0B35, 0x0B31, 0x0B39, 0x0B25,
22 0x0B31, 0x0B35,
23 };
24
25 /* For how many directions do we have sprites? (8 or 4; if 4, the other 4
26 * directions are symmetric. */
27 static const byte _engine_sprite_and[] = {
28 7, 7, 7, 7, 3, 3, 7, 7,
29 7, 7, 7, 7, 7, 7, 7, 3,
30 7, 7, 3, 7, 3, 7, 7, 7,
31 7, 3, 7, 7, 3, 3, 7, 7,
32 7, 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,
35 3, 3, 3, 3, 3, 3, 3, 3,
36 3, 3, 3, 3, 3, 3, 3, 3,
37 3, 3,
38 };
39
40 /* Non-zero for multihead trains. */
41 static const byte _engine_sprite_add[] = {
42 0, 0, 0, 0, 0, 0, 0, 4,
43 0, 4, 0, 4, 0, 0, 0, 0,
44 0, 4, 0, 0, 0, 0, 4, 0,
45 4, 0, 0, 4, 0, 0, 0, 0,
46 4, 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,
49 0, 0, 0, 0, 0, 0, 0, 0,
50 0, 0, 0, 0, 0, 0, 0, 0,
51 0, 0,
52 };
53
54
55 static const byte _wagon_full_adder[] = {
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 0, 0, 0, 0, 0,
59 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 44, 0, 0, 0, 0, 24,
61 24, 24, 24, 0, 0, 32, 32, 0,
62 4, 4, 4, 4, 4, 4, 4, 0,
63 0, 4, 4, 4, 0, 44, 0, 0,
64 0, 0, 24, 24, 24, 24, 0, 0,
65 32, 32
66 };
67
68 assert_compile(lengthof(_engine_sprite_base) == lengthof(_engine_sprite_and));
69 assert_compile(lengthof(_engine_sprite_base) == lengthof(_engine_sprite_add));
70 assert_compile(lengthof(_engine_sprite_base) == lengthof(_wagon_full_adder));