TextIDs
This is a list of the text IDs in TTD (for action 4), originally compiled by A. Skrobov.
You can use these Text IDs
- to change/translate TTD strings using action4 feature 48. (This is not supported by OpenTTD, nor will it ever.)
- to reference them in various action 0 properties, e.g. for house/industry/cargo names. (This is partly supported by OpenTTD.)
Note: OpenTTD's string system is very different to the system of TTD and TTDPatch. It supports/requires plural forms, genders, cases and different number formattings, so complex strings which are combined from multiple parts are not interchangeable. Various strings also have changed their parameter order over time or got additional arguments.
As such action 4 is not allowed to change any original strings in OpenTTD; translations are not done via NewGRF, but only via the WebTranslator.
In action 0 only a subset of the original strings can be accessed. These are more or less the string which have no additional parameters, e.g. plain cargo/house/industry names.
0000 General strings
0800 Basic land strings
Basic land strings 0800 - 0FFF
1000 Railroad strings
1800 Road strings
2000 Town strings
2800 Tree strings
3000 Station strings
3800 Water strings
4000 Load/save strings
Load, save strings 4000 - 47FF
4800 Industry strings
5000 Tunnel and bridge strings
Tunnel and bridge strings 5000-57FF
5800 Object strings
6000 Debugger strings
6800 Difficulty strings
Difficulty strings 6800 - 6FFF
7000 Company strings
7800 Custom strings
These cannot be set directly; an entry is generated every time the player enters a custom name for example for signs, stations or vehicles.
8000 Vehicle type names
Vehicle type names 8000 - 87FF
Note, IDs 8000..80FF will be changed by using a regular action 4 to name new vehicles, but not by using "custom vehicle names" from vehicle.dat which use custom strings instead.
8800 Train strings
9000 Road vehicle strings
Road vehicle strings 9000 - 97FF
9800 Ship strings
A000 Aircraft strings
A800 Pseudo-vehicle strings
(None defined)
B000 Disaster strings
B800 unused
C000 New station names
This is used for TTDPatch newgrf station and class names. See action 4 for more details.
C800 New house names
This is used for TTDPatch newgrf town building names. See action 4 for more details.
D000 Miscellaneous GRF texts
This is used for TTDPatch newgrf miscellaneous texts, mostly for callbacks. See action 4 for more details.
The table has up to 1024 entries. To use entry X in an include text (codes 80/81), use ID D400+X. Note that if you want to include ID D000/D400, the 00 byte will be considered the end of string in action 4, this will therefore break if additional texts are supposed to follow in the action 4.
D800 Persistent GRF texts
This is used for TTDPatch newgrf persistent texts (the ID mappings are preserved through saving and loading even if the GRF file is unavailable). See action 4 for more details.
D800 class IDs (DCxx IDs) must not be used except in action 0 and where the spec explicitly says that they work.
E000 Hard-coded game texts
Hard-coded game texts E000 - E7FF
This text class exists only in TTDPatch 2.0.1 alpha 59 and later. It contains language-dependent texts that didn't have textIDs originally. This class allows translating TTD entirely by using action 4s, since now every language-dependent text can be accessed.
E800 News texts
This is used internally by TTDPatch for its additional news messages.
F000 unused
(Unused, but TTD's critical error messages internally have a number in this region, even though they aren't text IDs as such.)
F800 Internal TTDPatch texts
Internal TTDPatch texts F800 - FFFF
This is used internally by TTDPatch for its additional regular strings, i.e. those from ttdpttxt.txt. Since TTDPatch 2.0.1 alpha 59 you may use the following text IDs to change the respective patch strings (before alpha 59, the text IDs changed regularly). For default values, please see ttdpttxt.txt produced by mkpttxt.exe.