NewGRF Specification Status

From OpenTTD
(Difference between revisions)
Jump to: navigation, search
(more 1.10 stuff)
(add eints column)
Line 3: Line 3:
 
{|
 
{|
 
|-
 
|-
!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation
+
!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation
 
|-
 
|-
|OpenTTD NewGRF version for git||Variable 21/A1||done||done||?||?||N/A
+
|OpenTTD NewGRF version for git||Variable 21/A1||done||done||?||?||N/A||N/A
 
|-
 
|-
 
|rowspan=2|256 persistent registers
 
|rowspan=2|256 persistent registers
|VA2||done||done||?||?||N/A
+
|VA2||done||done||?||?||N/A||N/A
 
|-
 
|-
|PatchFlag 80||done||done||?||?||N/A
+
|PatchFlag 80||done||done||?||?||N/A||N/A
 
|-
 
|-
|64 cargo types||Cargo Action 0/3||done||done||?||?||N/A
+
|64 cargo types||Cargo Action 0/3||done||done||?||?||N/A||N/A
 
|-
 
|-
|Airport animation trigger: AAT_STATION_AIRPLANE_LAND||AirTile property 11 flag 5||done||missing||?||?||N/A
+
|Airport animation trigger: AAT_STATION_AIRPLANE_LAND||AirTile property 11 flag 5||done||missing||?||?||N/A||N/A
 
|-
 
|-
|64 rail types||Railtype Action 0/3||done||done||?||?||N/A
+
|64 rail types||Railtype Action 0/3||done||done||?||?||N/A||N/A
 
|-
 
|-
|Hidden railtypes: RTF_HIDDEN||Railtype property 10 flag 2||done||done||?||?||N/A
+
|Hidden railtypes: RTF_HIDDEN||Railtype property 10 flag 2||done||done||?||?||N/A||N/A
 
|-
 
|-
|More house input cargos||House property 23||done||done||?||?||N/A
+
|More house input cargos||House property 23||done||done||?||?||N/A||N/A
 
|-
 
|-
 
|rowspan=23|More industry input/output cargos
 
|rowspan=23|More industry input/output cargos
|IndTile property 13||done||done||?||?||N/A
+
|IndTile property 13||done||done||?||?||N/A||N/A
 
|-
 
|-
|IndTile property 12 flag 1||done||done||?||?||N/A
+
|IndTile property 12 flag 1||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry property 1A flag 18||done||done||?||?||N/A
+
|Industry property 1A flag 18||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry property 25||done||done||?||?||N/A
+
|Industry property 25||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry property 26||done||done||?||?||N/A
+
|Industry property 26||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry property 27||done||done||?||?||N/A
+
|Industry property 27||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry property 28||done||done||?||?||N/A
+
|Industry property 28||done||done||?||?||N/A||N/A
 
|-
 
|-
|Production callback version 2||done||done||?||?||N/A
+
|Production callback version 2||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 69||done||done||?||?||N/A
+
|Industry variable 69||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6A||done||done||?||?||N/A
+
|Industry variable 6A||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6B||done||done||?||?||N/A
+
|Industry variable 6B||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6C||done||done||?||?||N/A
+
|Industry variable 6C||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6D||done||done||?||?||N/A
+
|Industry variable 6D||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6E||done||done||?||?||N/A
+
|Industry variable 6E||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 6F||done||done||?||?||N/A
+
|Industry variable 6F||done||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 40..42||N/A||done||?||?||N/A
+
|Deprecate industry variable 40..42||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 88..89||N/A||?||?||?||N/A
+
|Deprecate industry variable 88..89||N/A||?||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 8A..8D||N/A||done||?||?||N/A
+
|Deprecate industry variable 8A..8D||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 90..92||N/A||?||?||?||N/A
+
|Deprecate industry variable 90..92||N/A||?||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 94..97||N/A||done||?||?||N/A
+
|Deprecate industry variable 94..97||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 98..9B||N/A||done||?||?||N/A
+
|Deprecate industry variable 98..9B||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 9E..A1||N/A||done||?||?||N/A
+
|Deprecate industry variable 9E..A1||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable A2..A5||N/A||done||?||?||N/A
+
|Deprecate industry variable A2..A5||N/A||done||?||?||N/A||N/A
 
|-
 
|-
|Group liveries||Action 5 type 15 sprites 175..178||done||done||?||?||?
+
|Group liveries||Action 5 type 15 sprites 175..178||done||done||?||?||?||N/A
 
|}
 
|}
  
Line 77: Line 77:
 
{|
 
{|
 
|-
 
|-
!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation
+
!Feature!!NFO!!OpenTTD implementation!!NFO spec!!NML implementation!!NML spec!!OpenGFX implementation!!Eints implementation
 
|-
 
|-
 
|rowspan=4|More industry input/output cargos (II)
 
|rowspan=4|More industry input/output cargos (II)
|Industry variable 70||done||done||?||?||N/A
+
|Industry variable 70||done||done||?||?||N/A||N/A
 
|-
 
|-
|Industry variable 71||done||done||?||?||N/A
+
|Industry variable 71||done||done||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 8E..8F||N/A||?||?||?||N/A
+
|Deprecate industry variable 8E..8F||N/A||?||?||?||N/A||N/A
 
|-
 
|-
|Deprecate industry variable 9C..9D||N/A||missing||?||?||N/A
+
|Deprecate industry variable 9C..9D||N/A||missing||?||?||N/A||N/A
 
|-
 
|-
 
|rowspan=2|Railtype non-combined junction sprites
 
|rowspan=2|Railtype non-combined junction sprites
|Railtype property 10 flag 3||done||done||?||?||N/A
+
|Railtype property 10 flag 3||done||done||?||?||N/A||N/A
 
|-
 
|-
|Railtype action 3 type 0C||done||done||?||?||N/A
+
|Railtype action 3 type 0C||done||done||?||?||N/A||N/A
 
|-
 
|-
 
|rowspan=2|Railtype 90 degree turns
 
|rowspan=2|Railtype 90 degree turns
|Railtype property 10 flag 4||done||done||?||?||N/A
+
|Railtype property 10 flag 4||done||done||?||?||N/A||N/A
 
|-
 
|-
|Railtype property 10 flag 5||done||done||?||?||N/A
+
|Railtype property 10 flag 5||done||done||?||?||N/A||N/A
 
|-
 
|-
 
|rowspan=32|NRT
 
|rowspan=32|NRT
|RoadVeh property 05||done||missing||?||?||N/A
+
|RoadVeh property 05||done||missing||?||?||N/A||N/A
 
|-
 
|-
|RoadVeh property 1C flag 0 new meaning||done||missing||?||?||N/A
+
|RoadVeh property 1C flag 0 new meaning||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Global property 16||done||missing||?||?||N/A
+
|Global property 16||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Global property 17||done||missing||?||?||N/A
+
|Global property 17||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 08||done||missing||?||?||N/A
+
|Road/tramtype property 08||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 09||done||missing||?||?||N/A
+
|Road/tramtype property 09||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 0A||done||missing||?||?||N/A
+
|Road/tramtype property 0A||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 0B||done||missing||?||?||N/A
+
|Road/tramtype property 0B||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 0C||done||missing||?||?||N/A
+
|Road/tramtype property 0C||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 0D||done||missing||?||?||N/A
+
|Road/tramtype property 0D||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 0F||done||missing||?||?||N/A
+
|Road/tramtype property 0F||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 10 flags 0..4||done||missing||?||?||N/A
+
|Road/tramtype property 10 flags 0..4||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 13||done||missing||?||?||N/A
+
|Road/tramtype property 13||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 14||done||missing||?||?||N/A
+
|Road/tramtype property 14||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 16||done||missing||?||?||N/A
+
|Road/tramtype property 16||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 17||done||missing||?||?||N/A
+
|Road/tramtype property 17||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 18||done||missing||?||?||N/A
+
|Road/tramtype property 18||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 19||done||missing||?||?||N/A
+
|Road/tramtype property 19||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 1A||done||missing||?||?||N/A
+
|Road/tramtype property 1A||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 1B||done||missing||?||?||N/A
+
|Road/tramtype property 1B||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 1C||done||missing||?||?||N/A
+
|Road/tramtype property 1C||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype property 1D||done||missing||?||?||N/A
+
|Road/tramtype property 1D||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Vehicle variable 4A for RV||done||missing||?||?||N/A
+
|Vehicle variable 4A for RV||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype variable 40||done||missing||?||?||N/A
+
|Road/tramtype variable 40||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype variable 41||done||missing||?||?||N/A
+
|Road/tramtype variable 41||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype variable 42||done||missing||?||?||N/A
+
|Road/tramtype variable 42||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype variable 43||done||missing||?||?||N/A
+
|Road/tramtype variable 43||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype variable 44||done||missing||?||?||N/A
+
|Road/tramtype variable 44||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Road/tramtype action 3 type 00..02, 04..06, 08, 0A||done||missing||?||?||N/A
+
|Road/tramtype action 3 type 00..02, 04..06, 08, 0A||done||missing||?||?||N/A||N/A
 
|-
 
|-
|Action 5 type 0B new version with 119 sprites||done||missing||?||?||missing
+
|Action 5 type 0B new version with 119 sprites||done||missing||?||?||missing||N/A
 
|-
 
|-
|Action 5 type 15 sprites 179..183||done||missing||?||?||drawn, but uncommitted
+
|Action 5 type 15 sprites 179..183||done||missing||?||?||drawn, but uncommitted||N/A
 
|-
 
|-
|Action 7/9 condition 0F..12||broken||missing||?||?||N/A
+
|Action 7/9 condition 0F..12||broken||missing||?||?||N/A||N/A
 
|-
 
|-
|Push/pop text colours||Control codes 9A 1F, 9A 20||done||done||?||?||N/A
+
|Push/pop text colours||Control codes 9A 1F, 9A 20||done||done||?||?||N/A||?
 
|}
 
|}
  
Line 171: Line 171:
 
* Road/tramtype property 12 and 15 have C&P left overs.
 
* Road/tramtype property 12 and 15 have C&P left overs.
 
* ROADTYPE_ROAD_LABEL/ROADTYPE_TRAM_LABEL appear unused.
 
* ROADTYPE_ROAD_LABEL/ROADTYPE_TRAM_LABEL appear unused.
 +
 +
[[Category:Development]]

Revision as of 16:59, 7 December 2019

OpenTTD 1.9

Feature NFO OpenTTD implementation NFO spec NML implementation NML spec OpenGFX implementation Eints implementation
OpenTTD NewGRF version for git Variable 21/A1 done done ? ? N/A N/A
256 persistent registers VA2 done done ? ? N/A N/A
PatchFlag 80 done done ? ? N/A N/A
64 cargo types Cargo Action 0/3 done done ? ? N/A N/A
Airport animation trigger: AAT_STATION_AIRPLANE_LAND AirTile property 11 flag 5 done missing ? ? N/A N/A
64 rail types Railtype Action 0/3 done done ? ? N/A N/A
Hidden railtypes: RTF_HIDDEN Railtype property 10 flag 2 done done ? ? N/A N/A
More house input cargos House property 23 done done ? ? N/A N/A
More industry input/output cargos IndTile property 13 done done ? ? N/A N/A
IndTile property 12 flag 1 done done ? ? N/A N/A
Industry property 1A flag 18 done done ? ? N/A N/A
Industry property 25 done done ? ? N/A N/A
Industry property 26 done done ? ? N/A N/A
Industry property 27 done done ? ? N/A N/A
Industry property 28 done done ? ? N/A N/A
Production callback version 2 done done ? ? N/A N/A
Industry variable 69 done done ? ? N/A N/A
Industry variable 6A done done ? ? N/A N/A
Industry variable 6B done done ? ? N/A N/A
Industry variable 6C done done ? ? N/A N/A
Industry variable 6D done done ? ? N/A N/A
Industry variable 6E done done ? ? N/A N/A
Industry variable 6F done done ? ? N/A N/A
Deprecate industry variable 40..42 N/A done ? ? N/A N/A
Deprecate industry variable 88..89 N/A ? ? ? N/A N/A
Deprecate industry variable 8A..8D N/A done ? ? N/A N/A
Deprecate industry variable 90..92 N/A ? ? ? N/A N/A
Deprecate industry variable 94..97 N/A done ? ? N/A N/A
Deprecate industry variable 98..9B N/A done ? ? N/A N/A
Deprecate industry variable 9E..A1 N/A done ? ? N/A N/A
Deprecate industry variable A2..A5 N/A done ? ? N/A N/A
Group liveries Action 5 type 15 sprites 175..178 done done ? ? ? N/A


OpenTTD 1.10

Feature NFO OpenTTD implementation NFO spec NML implementation NML spec OpenGFX implementation Eints implementation
More industry input/output cargos (II) Industry variable 70 done done ? ? N/A N/A
Industry variable 71 done done ? ? N/A N/A
Deprecate industry variable 8E..8F N/A ? ? ? N/A N/A
Deprecate industry variable 9C..9D N/A missing ? ? N/A N/A
Railtype non-combined junction sprites Railtype property 10 flag 3 done done ? ? N/A N/A
Railtype action 3 type 0C done done ? ? N/A N/A
Railtype 90 degree turns Railtype property 10 flag 4 done done ? ? N/A N/A
Railtype property 10 flag 5 done done ? ? N/A N/A
NRT RoadVeh property 05 done missing ? ? N/A N/A
RoadVeh property 1C flag 0 new meaning done missing ? ? N/A N/A
Global property 16 done missing ? ? N/A N/A
Global property 17 done missing ? ? N/A N/A
Road/tramtype property 08 done missing ? ? N/A N/A
Road/tramtype property 09 done missing ? ? N/A N/A
Road/tramtype property 0A done missing ? ? N/A N/A
Road/tramtype property 0B done missing ? ? N/A N/A
Road/tramtype property 0C done missing ? ? N/A N/A
Road/tramtype property 0D done missing ? ? N/A N/A
Road/tramtype property 0F done missing ? ? N/A N/A
Road/tramtype property 10 flags 0..4 done missing ? ? N/A N/A
Road/tramtype property 13 done missing ? ? N/A N/A
Road/tramtype property 14 done missing ? ? N/A N/A
Road/tramtype property 16 done missing ? ? N/A N/A
Road/tramtype property 17 done missing ? ? N/A N/A
Road/tramtype property 18 done missing ? ? N/A N/A
Road/tramtype property 19 done missing ? ? N/A N/A
Road/tramtype property 1A done missing ? ? N/A N/A
Road/tramtype property 1B done missing ? ? N/A N/A
Road/tramtype property 1C done missing ? ? N/A N/A
Road/tramtype property 1D done missing ? ? N/A N/A
Vehicle variable 4A for RV done missing ? ? N/A N/A
Road/tramtype variable 40 done missing ? ? N/A N/A
Road/tramtype variable 41 done missing ? ? N/A N/A
Road/tramtype variable 42 done missing ? ? N/A N/A
Road/tramtype variable 43 done missing ? ? N/A N/A
Road/tramtype variable 44 done missing ? ? N/A N/A
Road/tramtype action 3 type 00..02, 04..06, 08, 0A done missing ? ? N/A N/A
Action 5 type 0B new version with 119 sprites done missing ? ? missing N/A
Action 5 type 15 sprites 179..183 done missing ? ? drawn, but uncommitted N/A
Action 7/9 condition 0F..12 broken missing ? ? N/A N/A
Push/pop text colours Control codes 9A 1F, 9A 20 done done ? ? N/A ?

Known defects

  • Action 7/9 condition 0F..12 do not check road/tram type, and report roadtypes as valid tramtypes and vice versa.
  • Road/tramtype property 12 and 15 have C&P left overs.
  • ROADTYPE_ROAD_LABEL/ROADTYPE_TRAM_LABEL appear unused.
Personal tools