diff --git a/docs/newgrf-additions.html b/docs/newgrf-additions.html
index 9e1231b1aa..04f383150d 100644
--- a/docs/newgrf-additions.html
+++ b/docs/newgrf-additions.html
@@ -18,7 +18,7 @@
- Additions to NewGRF Specifications in thi branch
+ Additions to NewGRF Specifications in this branch
This document describes non-standard additions to the Official OpenTTD NewGRF Specifications which are present in this branch.
This additions MAY also be present in other branches/repositories/etc. They MAY be removed or moved in future, if necessary.
NewGRFs which use any of these features SHOULD use the feature testing mechanism described below to check whether individual added features are supported.
@@ -72,7 +72,7 @@
-1 * -1 07 9D 01 \70 04 01
- Action 14 - Property Mapping for Action 0
+ Action 14 - Property Mapping for Action 0
See Action 14 Specification and Action 0 Specification for background information.
The property mapping mechanism has the feature name: property_mapping, this document describes version 1.
Users of this mechanism SHOULD at minimum test for the presence of the feature above or test variable 8D, below.
@@ -92,7 +92,7 @@
Property ID: C "A0PM" -> B "PROP"
Within an A0PM chunk, the PROP binary (type B) field contains the property ID to allocate to the named property, this value can used in Action 0 sprites. This is 1 byte.
It is possible to override existing properties, however this use is not recommended.
- Success Indicator Global Variable 0x8D Bit: C "A0PM" -> B "SETT"
+ Success Indicator Global Variable 0x8D Bit: C "A0PM" -> B "SETT"
Within an A0PM chunk, the SETT binary (type B) field contains the bit number to set/clear in
global variable 0x8D (TTD version) to store whether the mapping operation was successful. This is 1 byte.
If the operation is successful, the bit is set (to 1), otherwise the bit is cleared (to 0).
@@ -100,7 +100,7 @@
Global variable 0x8D can then be tested by using a standard Action 7 or 9, or a standard Variational Action 2.
If this field is omitted, no bit is set or cleared.
- Fallback Mode: C "A0PM" -> B "FLBK"
+ Fallback Mode: C "A0PM" -> B "FLBK"
Within an A0PM chunk, the FLBK binary (type B) field contains the fallback mode. This is 1 byte.
The fallback mode may take the following values:
@@ -140,5 +140,46 @@
// Set sample_station_property for station ID 10 to 2 byte value: AB CD
-1 * -1 00 04 01 01 10 F8 02 AB CD
+
+ Action 14 - Type ID Mapping for Action 5
+ See Action 14 Specification and Action 5 Specification for background information.
+ The action 5 type ID mapping mechanism has the feature name: action5_type_id_mapping, this document describes version 1.
+ Users of this mechanism SHOULD at minimum test for the presence of the feature above or test variable 8D, below.
+ Action 5 type ID Mapping: C "A5TM"
+ Each A5TM chunk (type C) describes an individual action 5 type ID mapping.
+ Sub-chunks within each A5TM chunk may appear in any order, however except where otherwise noted each sub-chunk SHOULD only appear ONCE within an individual A5TM chunk.
+ Action 5 type ID mapping can be safely used on implementations which do not implement the type ID mapping mechanism if Action 5 sprites which use mapped type IDs are skipped if one or more of:
+
+ - The global variable 0x8D is checked to determine whether the type ID mapping operation was successful.
+ - The feature name action5_type_id_mapping is checked for.
+
+ Unknown Action 14 blocks are ignored, and do not need to be skipped.
+ Property Name: C "A5TM" -> T "NAME"
+ Within an A5TM chunk, the NAME text (type T) field contains the name of the type to map. The value of the language ID byte is ignored.
+ Property ID: C "A5TM" -> B "TYPE"
+ Within an A5TM chunk, the TYPE binary (type B) field contains the type ID to allocate to the named type, this value can used in Action 5 sprites. This is 1 byte. The value MUST be < 128 (i.e bit 7 must be clear).
+ It is possible to override existing type IDs, however this use is not recommended.
+ Success Indicator Global Variable 0x8D Bit: C "A5TM" -> B "SETT"
+ This behaves identically to the C "A0PM" -> B "SETT" case, above
+ Fallback Mode: C "A5TM" -> B "FLBK"
+ This behaves identically to the C "A0PM" -> B "FLBK" case, above
+ Example NFO:
+
+// Map action5 type "sample_action5_type" to type id 0x70, and set bit 5 of global variable 0x8D if successful
+-1 * -1 14
+ "C" "A5TM"
+ "T" "NAME" 00 "sample_action5_type" 00
+ "B" "TYPE" \w1 70
+ "B" "SETT" \w1 5
+ 00
+ 00
+....
+// Skip 3 sprites if bit 5 of global variable 0x8D is not set (indicating that station property sample_action5_type is NOT present)
+-1 * -1 07 8D 01 \70 05 03
+// Set 2 sprites at offset 7 into sample_action5_type
+-1 * -1 05 F0 02 07
+-1 sprites/sample.png 546 8 09 23 33 -26 0
+-1 sprites/sample.png 594 8 09 23 33 -5 0
+