Difference between revisions of "Features"
From GRFSpecs
Jump to navigationJump to search (created) |
(→List of features and feature-specific Actions: split tram types from road types) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 16: | Line 16: | ||
|05 || Canals || [[Action0/Canals | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Canals | yes]] || [[RandomAction2#Canals | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
|05 || Canals || [[Action0/Canals | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Canals | yes]] || [[RandomAction2#Canals | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
||
|- |
|- |
||
− | |06 || Bridges || [[Action0/Bridges | yes]] || ''no'' || ''no'' || [[VariationalAction2/Bridges | no-ish]] || ''no'' || ''no'' || ''no'' || |
+ | |06 || Bridges || [[Action0/Bridges | yes]] || ''no'' || ''no'' || [[VariationalAction2/Bridges | no-ish]] || ''no'' || ''no'' || ''no'' || [[Action0/Bridges#Purchase_text_.2810.29 | yes-ish]] |
|- |
|- |
||
|07 || Houses || [[Action0/Houses | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Houses | yes]] || [[RandomAction2#Town_building_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
|07 || Houses || [[Action0/Houses | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Houses | yes]] || [[RandomAction2#Town_building_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
||
|- |
|- |
||
− | |08 || Global |
+ | |08 || Global Settings || [[Action0/Global Settings | yes]] || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' |
|- |
|- |
||
|09 || Industry Tiles || [[Action0/Industry Tiles | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Industry Tiles | yes]] || [[RandomAction2#Industry_tile_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
|09 || Industry Tiles || [[Action0/Industry Tiles | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Industry Tiles | yes]] || [[RandomAction2#Industry_tile_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
||
Line 26: | Line 26: | ||
|0A || Industries || [[Action0/Industries | yes]] || [[Action1 | yes]] || [[Action2/Industries | yes]] || [[VariationalAction2/Industries | yes]] || [[RandomAction2#Industry_tile_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
|0A || Industries || [[Action0/Industries | yes]] || [[Action1 | yes]] || [[Action2/Industries | yes]] || [[VariationalAction2/Industries | yes]] || [[RandomAction2#Industry_tile_triggers | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
||
|- |
|- |
||
− | |0B || Cargos || [[Action0/Cargos | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2 | yes-ish]] |
+ | |0B || Cargos || [[Action0/Cargos | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2 | yes-ish]] <ref name="novars">No feature specific variables though</ref> || ''no'' || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
|- |
|- |
||
− | |0C || Sound Effects || [[Action0/Sound Effects | yes]] || ''no'' || [[Action2/Only Callback Failure | yes-ish]] |
+ | |0C || Sound Effects || [[Action0/Sound Effects | yes]] || ''no'' || [[Action2/Only Callback Failure | yes-ish]] <ref name="failonly">Callback failure only</ref> || [[VariationalAction2 | yes-ish]] <ref name="novars"/> || ''no'' || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
|- |
|- |
||
− | |0D || Airports || [[Action0/Airports | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2 | yes |
+ | |0D || Airports || [[Action0/Airports | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Airports | yes]] || [[RandomAction2#Stations | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
|- |
|- |
||
− | |0E || Signals || ''no'' || [[Action5#0E_New_Signals | Action5]] || [[Action2/Only Callback Failure | yes-ish]] |
+ | |0E || Signals || ''no'' || [[Action5#0E_New_Signals | Action5]] || [[Action2/Only Callback Failure | yes-ish]] <ref name="failonly"/> || [[VariationalAction2/Signals | yes]] || ''no'' || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
|- |
|- |
||
|0F || Objects || [[Action0/Objects | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Objects | yes]] || [[RandomAction2#Objects | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
|0F || Objects || [[Action0/Objects | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Objects | yes]] || [[RandomAction2#Objects | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || [[Action4 | yes]] |
||
|- |
|- |
||
− | |10 || Railtypes || [[Action0/Railtypes | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Railtypes | yes]] || [[RandomAction2#Rail_types | yes]] || [[ |
+ | |10 || Railtypes || [[Action0/Railtypes | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Railtypes | yes]] || [[RandomAction2#Rail_types | yes]] || ''no'' || [[Action3 | yes]] || [[Action4 | yes]] |
|- |
|- |
||
− | |11 || Airport Tiles || [[Action0/Airport Tiles | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/ |
+ | |11 || Airport Tiles || [[Action0/Airport Tiles | yes]] || [[Action1 | yes]] || [[Action2/Sprite Layout | yes]] || [[VariationalAction2/Airport Tiles | yes]] || [[RandomAction2#Stations | yes]] || [[Callbacks | yes]] || [[Action3 | yes]] || ''no'' |
|- |
|- |
||
− | |12 || |
+ | |12 || Roadtypes || [[Action0/Roadtypes | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Roadtypes | yes]] || [[RandomAction2#Road_types | yes]] || ''no'' || [[Action3 | yes]] || [[Action4 | yes]] |
|- |
|- |
||
− | | |
+ | |13 || Tramtypes || [[Action0/Tramtypes | yes]] || [[Action1 | yes]] || [[Action2/Single Set | yes]] || [[VariationalAction2/Tramtypes | yes]] || [[RandomAction2#Tram_types | yes]] || ''no'' || [[Action3 | yes]] || [[Action4 | yes]] |
+ | |- |
||
+ | |N/A <!-- Towns have no feature. NML and OTTD assign a pseudo feature number, but this does not mean there is an actual feature number --> |
||
+ | | Towns || ''no'' || ''no'' || ''no'' || [[VariationalAction2/Towns | yes]] || ''no'' || ''no'' || ''no'' || [[ActionF]] |
||
+ | |- |
||
⚫ | |48 || Original Strings <ref>This is a pseudo-feature only used in Action4 to assign original strings. The value 0x48 originates from the way old TTDPatch versions checked for switches enabling/disabling features. NewTrains (feature 0x00) are activated by [[TTDPatchFlags | switch 0x37]]. Adding 0x48 to that results in 0x7F - a switch which is always set when TTDPatch is active. Thus feature 0x48 was not disabled by any switch. (today TTDPatch does not depend on the switches being in order of the features)</ref> || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' || ''no'' || [[Action4 | yes]] |
||
|} |
|} |
||
+ | <references/> |
||
− | (1) In TTDPatch you can change the [[TextIDs/Tunnel_and_bridge_strings | original bridge name strings]]. |
||
− | |||
− | (2) No feature specific variables though |
||
− | |||
− | (3) Callback failure only |
||
− | |||
⚫ |
Latest revision as of 10:48, 28 December 2019
List of features and feature-specific Actions
Feature | Action0 | Action1 | Action2 | VarAction2 | RandomAction2 | Callbacks | Action3 | Action4 | |
---|---|---|---|---|---|---|---|---|---|
00 | Trains | yes | yes | yes | yes | yes | yes | yes | yes |
01 | Road Vehicles | yes | yes | yes | yes | yes | yes | yes | yes |
02 | Ships | yes | yes | yes | yes | yes | yes | yes | yes |
03 | Aircraft | yes | yes | yes | yes | yes | yes | yes | yes |
04 | Stations | yes | yes | yes | yes | yes | yes | yes | yes |
05 | Canals | yes | yes | yes | yes | yes | yes | yes | no |
06 | Bridges | yes | no | no | no-ish | no | no | no | yes-ish |
07 | Houses | yes | yes | yes | yes | yes | yes | yes | yes |
08 | Global Settings | yes | no | no | no | no | no | no | no |
09 | Industry Tiles | yes | yes | yes | yes | yes | yes | yes | no |
0A | Industries | yes | yes | yes | yes | yes | yes | yes | yes |
0B | Cargos | yes | yes | yes | yes-ish [1] | no | yes | yes | yes |
0C | Sound Effects | yes | no | yes-ish [2] | yes-ish [1] | no | yes | yes | no |
0D | Airports | yes | yes | yes | yes | yes | yes | yes | yes |
0E | Signals | no | Action5 | yes-ish [2] | yes | no | yes | yes | no |
0F | Objects | yes | yes | yes | yes | yes | yes | yes | yes |
10 | Railtypes | yes | yes | yes | yes | yes | no | yes | yes |
11 | Airport Tiles | yes | yes | yes | yes | yes | yes | yes | no |
12 | Roadtypes | yes | yes | yes | yes | yes | no | yes | yes |
13 | Tramtypes | yes | yes | yes | yes | yes | no | yes | yes |
N/A | Towns | no | no | no | yes | no | no | no | ActionF |
48 | Original Strings [3] | no | no | no | no | no | no | no | yes |
- ↑ 1.0 1.1 No feature specific variables though
- ↑ 2.0 2.1 Callback failure only
- ↑ This is a pseudo-feature only used in Action4 to assign original strings. The value 0x48 originates from the way old TTDPatch versions checked for switches enabling/disabling features. NewTrains (feature 0x00) are activated by switch 0x37. Adding 0x48 to that results in 0x7F - a switch which is always set when TTDPatch is active. Thus feature 0x48 was not disabled by any switch. (today TTDPatch does not depend on the switches being in order of the features)