OpenTTD
control_codes.h
Go to the documentation of this file.
1 /* $Id: control_codes.h 27706 2016-12-23 13:38:50Z frosch $ */
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 #ifndef CONTROL_CODES_H
13 #define CONTROL_CODES_H
14 
20  SCC_CONTROL_START = 0xE000,
21  SCC_CONTROL_END = 0xE1FF,
22 
23  SCC_SPRITE_START = 0xE200,
24  SCC_SPRITE_END = SCC_SPRITE_START + 0xFF,
25 
26  /* This must be the first entry. It's encoded in strings that are saved. */
27  SCC_ENCODED = SCC_CONTROL_START,
28 
29  /* Display control codes */
32 
33  /* Formatting control codes */
34  SCC_REVISION,
35  SCC_COMPANY_NUM,
36  SCC_STATION_FEATURES,
37  SCC_INDUSTRY_NAME,
38  SCC_WAYPOINT_NAME,
39  SCC_STATION_NAME,
40  SCC_DEPOT_NAME,
41  SCC_TOWN_NAME,
42  SCC_GROUP_NAME,
43  SCC_VEHICLE_NAME,
44  SCC_SIGN_NAME,
45  SCC_COMPANY_NAME,
46  SCC_PRESIDENT_NAME,
47  SCC_ENGINE_NAME,
48 
49  SCC_CURRENCY_SHORT,
50  SCC_CURRENCY_LONG,
51 
52  SCC_CARGO_LONG,
53  SCC_CARGO_SHORT,
54  SCC_CARGO_TINY,
55  SCC_CARGO_LIST,
56  SCC_POWER,
57  SCC_VOLUME_LONG,
58  SCC_VOLUME_SHORT,
59  SCC_WEIGHT_LONG,
60  SCC_WEIGHT_SHORT,
61  SCC_FORCE,
62  SCC_VELOCITY,
63  SCC_HEIGHT,
64 
65  SCC_DATE_TINY,
66  SCC_DATE_SHORT,
67  SCC_DATE_LONG,
68  SCC_DATE_ISO,
69 
70  /* Must be consecutive */
71  SCC_STRING1,
72  SCC_STRING2,
73  SCC_STRING3,
74  SCC_STRING4,
75  SCC_STRING5,
76  SCC_STRING6,
77  SCC_STRING7,
78 
79 
80  SCC_STRING,
81  SCC_COMMA,
82  SCC_DECIMAL,
83  SCC_NUM,
84  SCC_ZEROFILL_NUM,
85  SCC_HEX,
86  SCC_BYTES,
87 
88  SCC_RAW_STRING_POINTER,
89  SCC_PLURAL_LIST,
90  SCC_GENDER_LIST,
91  SCC_GENDER_INDEX,
92  SCC_ARG_INDEX,
93  SCC_SET_CASE,
94  SCC_SWITCH_CASE,
95 
96  /* Colour codes */
97  SCC_BLUE,
98  SCC_SILVER,
99  SCC_GOLD,
100  SCC_RED,
101  SCC_PURPLE,
102  SCC_LTBROWN,
103  SCC_ORANGE,
104  SCC_GREEN,
105  SCC_YELLOW,
106  SCC_DKGREEN,
107  SCC_CREAM,
108  SCC_BROWN,
109  SCC_WHITE,
110  SCC_LTBLUE,
111  SCC_GRAY,
112  SCC_DKBLUE,
113  SCC_BLACK,
114  SCC_PREVIOUS_COLOUR,
115 
151  SCC_NEWGRF_LAST = SCC_NEWGRF_ROTATE_TOP_4_WORDS,
152 
154 
155  /* Special printable symbols.
156  * These are mapped to the original glyphs */
157  SCC_LESS_THAN = SCC_SPRITE_START + 0x3C,
158  SCC_GREATER_THAN = SCC_SPRITE_START + 0x3E,
159  SCC_UP_ARROW = SCC_SPRITE_START + 0xA0,
160  SCC_DOWN_ARROW = SCC_SPRITE_START + 0xAA,
161  SCC_CHECKMARK = SCC_SPRITE_START + 0xAC,
162  SCC_CROSS = SCC_SPRITE_START + 0xAD,
163  SCC_RIGHT_ARROW = SCC_SPRITE_START + 0xAF,
164  SCC_TRAIN = SCC_SPRITE_START + 0xB4,
165  SCC_LORRY = SCC_SPRITE_START + 0xB5,
166  SCC_BUS = SCC_SPRITE_START + 0xB6,
167  SCC_PLANE = SCC_SPRITE_START + 0xB7,
168  SCC_SHIP = SCC_SPRITE_START + 0xB8,
169  SCC_SUPERSCRIPT_M1 = SCC_SPRITE_START + 0xB9,
170  SCC_SMALL_UP_ARROW = SCC_SPRITE_START + 0xBC,
171  SCC_SMALL_DOWN_ARROW = SCC_SPRITE_START + 0xBD,
172 };
173 
174 #endif /* CONTROL_CODES_H */
9A 17: Read 4 bytes from the stack as base 0 date
9A 03: Pushes 2 bytes onto the stack
Inline another string at the current position, StringID is encoded in the string. ...
StringControlCode
List of string control codes used for string formatting, displaying, and by strgen to generate the la...
Definition: control_codes.h:19
83: Read 2 bytes from the stack as base 1920 date
86: Rotate the top 4 words of the stack (W4 W1 W2 W3)
Switch to large font.
Definition: control_codes.h:31
82: Read 2 bytes from the stack as base 1920 date
9A 1C: Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount ...
9A 04: "Unprints" the given number of bytes from the string
The next variables are part of a NewGRF subsystem for creating text strings.
9A 0C: Read 2 bytes from the stack as station name
9A 07: Read 2 bytes from the stack and print it as hex
9A 1B: Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount ...
9A 18: Read 2 bytes from the stack as unsigned power
9A 1A: Read 2 bytes from the stack as short unsigned weight
81: Read 2 bytes from the stack as String ID
87: Read 2 bytes from the stack as long signed volume
9A 08: Read 4 bytes from the stack and print it as hex
9A 0B: Read 8 bytes from the stack and print it as hex
9A 1E: Read 2 bytes from the stack as cargo name
7C: Read 2 bytes from the stack as signed value
85: Discard the next two bytes
9A 16: Read 4 bytes from the stack as base 0 date
7D: Read 1 byte from the stack as signed value
7B: Read 4 bytes from the stack
8F: Read 4 bytes from the stack as currency
9A 01: Read 8 bytes from the stack as currency
84: Read 2 bytes from the stack as signed speed
9A 0D: Read 2 bytes from the stack as long unsigned weight
9A 06: Read 1 byte from the stack and print it as hex
7E: Read 2 bytes from the stack as unsigned value
9A 19: Read 2 bytes from the stack as short signed volume
Switch to small font.
Definition: control_codes.h:30
9A 1D: Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount ...