|
| 1 | +== OpenTTD 1.9 == |
| 2 | + |
| 3 | +{| |
| 4 | +|- |
| 5 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 6 | +|- |
| 7 | +|OpenTTD NewGRF version for git||Variable 21/A1||done||done||N/A||done||N/A||N/A |
| 8 | +|- |
| 9 | +|rowspan=2|256 persistent registers |
| 10 | +|VA2||done||done||done||done||N/A||N/A |
| 11 | +|- |
| 12 | +|PatchFlag 80||done||done||done||done||N/A||N/A |
| 13 | +|- |
| 14 | +|64 cargo types||Cargo Action 0/3||done||done||done||done||N/A||N/A |
| 15 | +|- |
| 16 | +|Airport animation trigger: AAT_STATION_AIRPLANE_LAND||AirTile property 11 flag 5||done||done??||done||done||N/A||N/A |
| 17 | +|- |
| 18 | +|64 rail types||Railtype Action 0/3||done||done||done||done||N/A||N/A |
| 19 | +|- |
| 20 | +|Hidden railtypes: RTF_HIDDEN||Railtype property 10 flag 2||done||done||done||done||N/A||N/A |
| 21 | +|- |
| 22 | +|More house input cargos||House property 23||done||done||done||done||N/A||N/A |
| 23 | +|- |
| 24 | +|rowspan=23|More industry input/output cargos |
| 25 | +|IndTile property 13||done||done||done||done||N/A||N/A |
| 26 | +|- |
| 27 | +|IndTile property 12 flag 1||done||done||done||done||N/A||N/A |
| 28 | +|- |
| 29 | +|Industry property 1A flag 18||done||done||done||done||N/A||N/A |
| 30 | +|- |
| 31 | +|Industry property 25||done||done||done||done||N/A||N/A |
| 32 | +|- |
| 33 | +|Industry property 26||done||done||done||done||N/A||N/A |
| 34 | +|- |
| 35 | +|Industry property 27||done||done||done||done ('cargo_types')||N/A||N/A |
| 36 | +|- |
| 37 | +|Industry property 28||done||done||done||done ('cargo_types ')||N/A||N/A |
| 38 | +|- |
| 39 | +|Production callback version 2||done||done||done||done||N/A||N/A |
| 40 | +|- |
| 41 | +|Industry variable 69||done||done||done||done||N/A||N/A |
| 42 | +|- |
| 43 | +|Industry variable 6A||done||done||done||done||N/A||N/A |
| 44 | +|- |
| 45 | +|Industry variable 6B||done||done||done||done||N/A||N/A |
| 46 | +|- |
| 47 | +|Industry variable 6C||done||done||done||done||N/A||N/A |
| 48 | +|- |
| 49 | +|Industry variable 6D||done||done||done||done||N/A||N/A |
| 50 | +|- |
| 51 | +|Industry variable 6E||done||done||done||done||N/A||N/A |
| 52 | +|- |
| 53 | +|Industry variable 6F||done||done||done||done||N/A||N/A |
| 54 | +|- |
| 55 | +|Deprecate industry variable 40..42||N/A||done||done||done||N/A||N/A |
| 56 | +|- |
| 57 | +|Deprecate industry variable 88..89||N/A||N/A||N/A||N/A||N/A||N/A |
| 58 | +|- |
| 59 | +|Deprecate industry variable 8A..8D||N/A||done||done||done||N/A||N/A |
| 60 | +|- |
| 61 | +|Deprecate industry variable 90..92||N/A||N/A||N/A||N/A||N/A||N/A |
| 62 | +|- |
| 63 | +|Deprecate industry variable 94..97||N/A||done||done||done||N/A||N/A |
| 64 | +|- |
| 65 | +|Deprecate industry variable 98..9B||N/A||done||done||done||N/A||N/A |
| 66 | +|- |
| 67 | +|Deprecate industry variable 9E..A1||N/A||done||done||done||N/A||N/A |
| 68 | +|- |
| 69 | +|Deprecate industry variable A2..A5||N/A||done||done||done||N/A||N/A |
| 70 | +|- |
| 71 | +|Group liveries||Action 5 type 15 sprites 175..178||done||done||done||done||done||N/A |
| 72 | +|} |
| 73 | + |
| 74 | +== OpenTTD 1.10 == |
| 75 | + |
| 76 | +{| |
| 77 | +|- |
| 78 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 79 | +|- |
| 80 | +|rowspan=4|More industry input/output cargos (II) |
| 81 | +|Industry variable 70||done||done||done||done||N/A||N/A |
| 82 | +|- |
| 83 | +|Industry variable 71||done||done||done||done||N/A||N/A |
| 84 | +|- |
| 85 | +|Deprecate industry variable 8E..8F||N/A||done||N/A||N/A||N/A||N/A |
| 86 | +|- |
| 87 | +|Deprecate industry variable 9C..9D||N/A||done||N/A||N/A||N/A||N/A |
| 88 | +|- |
| 89 | +|rowspan=2|Railtype non-combined junction sprites |
| 90 | +|Railtype property 10 flag 3||done||done||done||done||N/A||N/A |
| 91 | +|- |
| 92 | +|Railtype action 3 type 0C||done||done||done||done||N/A||N/A |
| 93 | +|- |
| 94 | +|rowspan=2|Railtype 90 degree turns |
| 95 | +|Railtype property 10 flag 4||done||done||done||done||N/A||N/A |
| 96 | +|- |
| 97 | +|Railtype property 10 flag 5||done||done||done||done||N/A||N/A |
| 98 | +|- |
| 99 | +|rowspan=33|NRT |
| 100 | +|Feature 12 Roadtypes, Feature 13 Tramtypes||done||done||done||done||N/A||N/A |
| 101 | +|- |
| 102 | +|RoadVeh property 05||done||done||done||done||N/A||N/A |
| 103 | +|- |
| 104 | +|RoadVeh property 1C flag 0 new meaning||done||N/A - meaning same; new prop 05 docs note that flag 0 must also be set appropriately||N/A||done||N/A||N/A |
| 105 | +|- |
| 106 | +|Global property 16||done||done||done||done||N/A||N/A |
| 107 | +|- |
| 108 | +|Global property 17||done||done||done||done||N/A||N/A |
| 109 | +|- |
| 110 | +|Road/tramtype property 08||done||done||done||done||N/A||N/A |
| 111 | +|- |
| 112 | +|Road/tramtype property 09||done||done||done||done||N/A||N/A |
| 113 | +|- |
| 114 | +|Road/tramtype property 0A||done||done||done||done||N/A||N/A |
| 115 | +|- |
| 116 | +|Road/tramtype property 0B||done||done||done||done||N/A||N/A |
| 117 | +|- |
| 118 | +|Road/tramtype property 0C||done||done||done||done||N/A||N/A |
| 119 | +|- |
| 120 | +|Road/tramtype property 0D||done||done||done||done||N/A||N/A |
| 121 | +|- |
| 122 | +|Road/tramtype property 0F||done||done||done||done||N/A||N/A |
| 123 | +|- |
| 124 | +|Road/tramtype property 10 flags 0..4||done||done||done||done||N/A||N/A |
| 125 | +|- |
| 126 | +|Road/tramtype property 13||done||done||done||done||N/A||N/A |
| 127 | +|- |
| 128 | +|Road/tramtype property 14||done||done||done||done||N/A||N/A |
| 129 | +|- |
| 130 | +|Road/tramtype property 16||done||done||done||done||N/A||N/A |
| 131 | +|- |
| 132 | +|Road/tramtype property 17||done||done||done||done||N/A||N/A |
| 133 | +|- |
| 134 | +|Road/tramtype property 18||done||done||done||done||N/A||N/A |
| 135 | +|- |
| 136 | +|Road/tramtype property 19||done||done||done||done||N/A||N/A |
| 137 | +|- |
| 138 | +|Road/tramtype property 1A||done||done||done||done||N/A||N/A |
| 139 | +|- |
| 140 | +|Road/tramtype property 1B||done||done||done||done||N/A||N/A |
| 141 | +|- |
| 142 | +|Road/tramtype property 1C||done||done||done||done||N/A||N/A |
| 143 | +|- |
| 144 | +|Road/tramtype property 1D||done||done||done||done||N/A||N/A |
| 145 | +|- |
| 146 | +|Vehicle variable 4A for RV||done||done||done||done||N/A||N/A |
| 147 | +|- |
| 148 | +|Road/tramtype variable 40||done||done||done||done||N/A||N/A |
| 149 | +|- |
| 150 | +|Road/tramtype variable 41||done||done||done||done||N/A||N/A |
| 151 | +|- |
| 152 | +|Road/tramtype variable 42||done||done||done||done||N/A||N/A |
| 153 | +|- |
| 154 | +|Road/tramtype variable 43||done||done||done||done||N/A||N/A |
| 155 | +|- |
| 156 | +|Road/tramtype variable 44||done||done||done||done||N/A||N/A |
| 157 | +|- |
| 158 | +|Road/tramtype action 3 type 00..02, 04..06, 08, 0A||done||done||done||done||N/A||N/A |
| 159 | +|- |
| 160 | +|Action 5 type 0B new version with 119 sprites||done||done||done||done||done||N/A |
| 161 | +|- |
| 162 | +|Action 5 type 15 sprites 179..183||done||done||done||done||done||N/A |
| 163 | +|- |
| 164 | +|Action 7/9 condition 0F..12||done||done||done||done||N/A||N/A |
| 165 | +|- |
| 166 | +|Push/pop text colours||Control codes 9A 1F, 9A 20||done||done||done||done||N/A||done |
| 167 | +|- |
| 168 | +|GRFID of nearby station tile||Station variable 6A||done ({{en/GHPR|7956}})||done||done - NML doesn't support stations, but appears to have varact2 constants defined for stations||N/A NML doesn't support stations||N/A||N/A |
| 169 | +|} |
| 170 | + |
| 171 | +== OpenTTD 1.11 == |
| 172 | + |
| 173 | +{| |
| 174 | +|- |
| 175 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 176 | +|- |
| 177 | +|Smooth economy pax production clamp||Industry special flag 19||done ({{en/GHPR|8079}}, {{en/GHPR|8590}})||done||done||done||N/A||N/A |
| 178 | +|- |
| 179 | +|Sound effect for helicopters||Aircraft property 12||done ({{en/GHPR|8347}})||done||N/A||N/A||N/A||N/A |
| 180 | +|- |
| 181 | +|GS Industry Control||Industry variable 47||done ({{en/GHPR|7912}})||done||done||done||N/A||N/A |
| 182 | +|- |
| 183 | +|Inflation patch flag||Global variable 0x85||done ({{en/GHPR|8427}})||done||done||done||N/A||N/A |
| 184 | +|- |
| 185 | +|Catenary test||Vehicle variable 4A bit 9||done ({{en/GHPR|8554}})||done||done||done||N/A||N/A |
| 186 | +|- |
| 187 | +|Track type test||Vehicle variable 63||done ({{en/GHPR|8554}})||done||done||done||N/A||N/A |
| 188 | +|- |
| 189 | +|Rename + Location icon||GUI sprites 184 + 185||done ({{en/GHPR|8455}})||done||done||done||done||N/A |
| 190 | +|- |
| 191 | +|Plural form 14|| ||done ({{en/GHPR|8936}})||done||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A||done |
| 192 | +|} |
| 193 | + |
| 194 | + |
| 195 | +== OpenTTD 12.0 (follows 1.11) == |
| 196 | + |
| 197 | +{| |
| 198 | +|- |
| 199 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 200 | +|- |
| 201 | +|Multiplayer GUI icons||GUI sprites 186..190||done ({{en/GHPR|9067}})||done||done||done||done||N/A |
| 202 | +|- |
| 203 | +|Maximum curve speed modifier for rail vehicles||Property 0x2E||done ({{en/GHPR|9346}})||done||done||done||N/A||N/A |
| 204 | +|} |
| 205 | + |
| 206 | +== OpenTTD 13.0 == |
| 207 | + |
| 208 | +{| |
| 209 | +|- |
| 210 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 211 | +|- |
| 212 | +|Map seed as patch variable||Patch var 0x17||done ({{en/GHPR|9834}})||done||done ([https://github.com/OpenTTD/nml/pull/250 #250])||done||N/A||N/A |
| 213 | +|- |
| 214 | +|Increase vehicle spritelayers from 4 to 8||N/A||done ({{en/GHPR|9863}})||done||N/A||done||N/A||N/A |
| 215 | +|- |
| 216 | +|Change flipped offsets / meaning of flip flag||Train prop 27 bit 3||done ({{en/GHPR|10262}})||done||N/A||done||N/A||N/A |
| 217 | +|- |
| 218 | +|Roadtype specific one-way road sprites||Roadtype action 3 type 0B||done ({{en/GHPR|10282}})||done||done ([https://github.com/OpenTTD/nml/pull/274 #274])||done||N/A||N/A |
| 219 | +|- |
| 220 | +|Slope aware one-way road sprites||Action 5 type 09 sprites 7..18||done ({{en/GHPR|10282}})||done||done ([https://github.com/OpenTTD/nml/pull/274 #274])||done||in progress ([https://github.com/OpenTTD/OpenGFX/pull/82 #82])||N/A |
| 221 | +|- |
| 222 | +|Road-type specific tunnel surface||Road/tramtype action 3 type 03||done ({{en/GHPR|10233}})||done||done ([https://github.com/OpenTTD/nml/pull/273 #273])||done||N/A||N/A |
| 223 | +|- |
| 224 | +|Vehicle variants||Action 0 prop 2F/26/20 and prop 30/27/21 (train/RV/other)||done ({{en/GHPR|10220}})||done||done ([https://github.com/OpenTTD/nml/pull/272 #272])||done||N/A||N/A |
| 225 | +|- |
| 226 | +|Bridges without speed limit||Bridge action 0 prop 0C||done ({{en/GHPR|10365}})||done||N/A||N/A||N/A||N/A |
| 227 | +|} |
| 228 | + |
| 229 | +== OpenTTD 13.1 == |
| 230 | + |
| 231 | +{| |
| 232 | +|- |
| 233 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 234 | +|- |
| 235 | +|Extended D8xx string range||Action 4 string offset||done ({{en/GHPR|10399}})||done||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 236 | +|- |
| 237 | +|More callback flags||Action 0 prop 31/28/22/22 (features 00/01/02/03)||done ({{en/GHPR|10399}})||done||done ([https://github.com/OpenTTD/nml/pull/276 #276])||N/A||N/A||N/A |
| 238 | +|- |
| 239 | +|Engine name callback||Callback 161 for features 00/01/02/03||done ({{en/GHPR|10399}})||done||done ([https://github.com/OpenTTD/nml/pull/276 #276])||done||N/A||N/A |
| 240 | +|} |
| 241 | + |
| 242 | +== OpenTTD 14.0 == |
| 243 | + |
| 244 | +{| |
| 245 | +|- |
| 246 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 247 | +|- |
| 248 | +|Engine name callback extension||Add value 0x22 to CB 161||done ({{en/GHPR|10666}})||done||N/A||done||N/A||N/A |
| 249 | +|- |
| 250 | +|Support 64000+ objects, stations and roadstops per NewGRF||N/A||done ({{en/GHPR|10672}})||done||done ([https://github.com/OpenTTD/nml/pull/287 #287])||done||N/A||N/A |
| 251 | +|- |
| 252 | +|Increase vehicle random bits to 16||N/A||done ({{en/GHPR|10701}})||done||done [https://github.com/OpenTTD/nml/pull/288 #288]||done||N/A||N/A |
| 253 | +|- |
| 254 | +|NewGRF string code to display force from textstack||N/A||done ({{en/GHPR|10782}})||done||WIP [https://github.com/OpenTTD/nml/pull/289 #289]||done||N/A||N/A |
| 255 | +|- |
| 256 | +|Related objects for airport (tiles)||Related object for VA2 features 0D/11||done ({{en/GHPR|11282}})||done||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 257 | +|- |
| 258 | +|NewGRF roadstops||NewGRF Feature 0x14||done ({{en/GHPR|10144}})||done|| done [https://github.com/OpenTTD/nml/pull/279 #279] ||done||N/A||N/A |
| 259 | +|- |
| 260 | +|Randomize direction of rail vehicle on build based on probability callback||Add CB 162 (CBID_VEHICLE_BUILD_PROBABILITY)||done ({{en/GHPR|11489}})||done|| done [https://github.com/OpenTTD/nml/pull/313 #313]||done||N/A||N/A |
| 261 | +|- |
| 262 | +|Faster ships||Action 0 Ships 0x23 (speed) and 0x24 (acceleration)||done ({{en/GHPR|10734}})||done||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 263 | +|- |
| 264 | +|Town Production Effect||Action 0 Cargoes 0x1E (effect) and 0x1F (multiplier)||({{en/GHPR|11947}})||done||done [https://github.com/OpenTTD/nml/pull/318 #318]||done||N/A||N/A |
| 265 | +|} |
| 266 | + |
| 267 | +== OpenTTD 15.0 == |
| 268 | + |
| 269 | +{| |
| 270 | +|- |
| 271 | +!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation |
| 272 | +|- |
| 273 | +|Increased industry tile limit||Max per-GRF ID for Act 0/3 feat 09||WIP ({{en/GHPR|12183}})||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 274 | +|- |
| 275 | +|Increased station tile limit||Sprite layouts up to 256 via prop 0E/CB 24||done ({{en/GHPR|12554}})||done||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 276 | +|- |
| 277 | +|Cargo class bits 13 and 14 are now CC_POTABLE and CC_NON_POTABLE||N/A||WIP ({{en/GHPR|12979}})||N/A||WIP [https://github.com/OpenTTD/nml/pull/343 #343]||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 278 | +|- |
| 279 | +|Cargo class AND for refit mask||Action 0 prop 32/29/25/23 (features 00/01/02/03)||done ({{en/GHPR|13090}})||done||[https://github.com/OpenTTD/nml/pull/344 #344]||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 280 | +|- |
| 281 | +|Vehicle refit mask callback||Callback 163||done ({{en/GHPR|13090}})||done||[https://github.com/OpenTTD/nml/pull/344 #344]||<span style="display:block; background:yellow; padding-left:5px;">missing</span>||N/A||N/A |
| 282 | +|} |
| 283 | + |
| 284 | +Please keep this list up-to-date and accurate. If you do not know what to enter into a column, please enter "???". If an item is not needed please enter "N/A" |
| 285 | +When an item is both needed and missing please copy the formatting that applies this 'missing' style: <span style="display:block; background:yellow; padding-left:5px;">missing</span> |
0 commit comments