Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nml for openSUSE:Factory checked in 
at 2023-06-29 17:28:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nml (Old)
 and      /work/SRC/openSUSE:Factory/.nml.new.13546 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nml"

Thu Jun 29 17:28:49 2023 rev:23 rq:1095873 version:0.7.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/nml/nml.changes  2023-05-22 13:14:57.458996654 
+0200
+++ /work/SRC/openSUSE:Factory/.nml.new.13546/nml.changes       2023-06-29 
17:29:10.334555919 +0200
@@ -1,0 +2,11 @@
+Wed Jun 28 20:43:13 UTC 2023 - Jan Baier <jba...@suse.com>
+
+- update to 0.7.4
+  * Change: Use a single replacenew-type 'SIGNALS' instead of 3 different 
constants. by @frosch123 in https://github.com/OpenTTD/nml/pull/297
+  * Fix #295: Adjust version_openttd for OpenTTD >= 12.0. by @frosch123 in 
https://github.com/OpenTTD/nml/pull/296
+  * Fix dfb4499: incomplete read only checks (again) by @glx22 in 
https://github.com/OpenTTD/nml/pull/292
+  * Change: Support extended DCxx string range, and station names for IDs > 
255 by @glx22 in https://github.com/OpenTTD/nml/pull/293
+  * Support for roadtype direction markings (OTTD #10282) by @FLHerne in 
https://github.com/OpenTTD/nml/pull/274
+  * Update: changelog for 0.7.4 by @glx22 in 
https://github.com/OpenTTD/nml/pull/298
+
+-------------------------------------------------------------------

Old:
----
  nml-0.7.3.tar.gz

New:
----
  nml-0.7.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nml.spec ++++++
--- /var/tmp/diff_new_pack.MfMUo2/_old  2023-06-29 17:29:11.262561356 +0200
+++ /var/tmp/diff_new_pack.MfMUo2/_new  2023-06-29 17:29:11.266561379 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           nml
-Version:        0.7.3
+Version:        0.7.4
 Release:        0
 Summary:        NewGRF Meta Language
 License:        GPL-2.0-or-later

++++++ nml-0.7.3.tar.gz -> nml-0.7.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/PKG-INFO new/nml-0.7.4/PKG-INFO
--- old/nml-0.7.3/PKG-INFO      2023-05-21 23:10:48.262641400 +0200
+++ new/nml-0.7.4/PKG-INFO      2023-06-28 22:13:22.470080000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: nml
-Version: 0.7.3
+Version: 0.7.4
 Summary: An OpenTTD NewGRF compiler for the nml language
 Home-page: https://github.com/OpenTTD/nml
 Author: NML Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/docs/changelog.txt 
new/nml-0.7.4/docs/changelog.txt
--- old/nml-0.7.3/docs/changelog.txt    2023-05-21 23:10:21.000000000 +0200
+++ new/nml-0.7.4/docs/changelog.txt    2023-06-28 22:12:57.000000000 +0200
@@ -1,3 +1,20 @@
+0.7.4 (2023-06-28)
+------------------------------------------------------------------------
+This release adds support for more strings and sloped one-way road markers.
+
+Support for NewGRF additions of OpenTTD 14:
+ - Change: Use station properties 1C and 1D for names
+ - Change: extend DCxx string range up to FFFF
+
+Support for NewGRF additions of OpenTTD 13:
+ - Add: Support for roadtype direction markings (#274)
+
+Other changes and fixes:
+ - Fix dfb4499: incomplete read only checks (again) (#292)
+ - Fix #295: Adjust version_openttd for OpenTTD >= 12.0. (#296)
+ - Change: Use a single replacenew-type 'SIGNALS' instead of 3 different 
spellings of pre-signals, semaphores and path-signals. (#297)
+
+
 0.7.3 (2023-05-21)
 ------------------------------------------------------------------------
 This release adds support for more objects, stations and roadstops.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nml-0.7.3/examples/roadtype_and_tramtype/example_roadtype_and_tramtype.nml 
new/nml-0.7.4/examples/roadtype_and_tramtype/example_roadtype_and_tramtype.nml
--- 
old/nml-0.7.3/examples/roadtype_and_tramtype/example_roadtype_and_tramtype.nml  
    2023-05-21 23:10:21.000000000 +0200
+++ 
new/nml-0.7.4/examples/roadtype_and_tramtype/example_roadtype_and_tramtype.nml  
    2023-06-28 22:12:57.000000000 +0200
@@ -216,6 +216,37 @@
 }
 
 /**********************************************
+ * Direction overlay sprites:
+ **********************************************/
+
+spriteset(st_direction_markings, "gfx/direction_markings.png") {
+    /* Flat ground */
+    [  34,  8, 24, 16, -10,  -9 ]
+    [  66,  8, 24, 16, -13,  -7 ]
+    [  98,  8, 24, 16, -12,  -8 ]
+    [ 130,  8, 24, 16, -15, -10 ]
+    [ 162,  8, 24, 16, -12,  -9 ]
+    [ 194,  8, 24, 16, -11,  -8 ]
+
+    /* Slopes with N corner raised */
+    [  34, 40, 24, 16, -13, -10 ]
+    [  66, 40, 24, 16, -12,  -8 ]
+    [  98, 40, 24, 16, -12,  -9 ]
+    [ 130, 40, 24, 16, -11,  -8 ]
+    [ 162, 40, 24, 16,  -9, -10 ]
+    [ 194, 40, 24, 16, -10,  -9 ]
+
+    /* Slopes with S corner raised */
+    [  34, 72, 24, 16,  -8, -11 ]
+    [  66, 72, 24, 16, -11,  -5 ]
+    [  98, 72, 24, 16, -12,  -8 ]
+    [ 130, 72, 24, 16, -12,  -5 ]
+    [ 162, 72, 24, 16, -14, -10 ]
+    [ 194, 72, 24, 16, -12,  -8 ]
+}
+
+
+/**********************************************
  * Roadtype definitions:
  **********************************************/
 
@@ -245,6 +276,7 @@
         roadstops: roadstop_underlay_red;
         // gui: gui_normal;
         /* Catenary is not not implemented here, use the default */
+        direction_markings: st_direction_markings;
     }
 }
 
@@ -271,6 +303,7 @@
         roadstops: roadstop_underlay_blue;
         // gui: gui_normal;
         /* Catenary is not not implemented here, use the default */
+        direction_markings: st_direction_markings;
     }
 }
 
@@ -297,6 +330,7 @@
         roadstops: roadstop_underlay_yellow;
         // gui: gui_normal;
         /* Catenary is not not implemented here, use the default */
+        direction_markings: st_direction_markings;
     }
 }
 /**********************************************
Binary files 
old/nml-0.7.3/examples/roadtype_and_tramtype/gfx/direction_markings.png and 
new/nml-0.7.4/examples/roadtype_and_tramtype/gfx/direction_markings.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/__version__.py 
new/nml-0.7.4/nml/__version__.py
--- old/nml-0.7.3/nml/__version__.py    2023-05-21 23:10:47.000000000 +0200
+++ new/nml-0.7.4/nml/__version__.py    2023-06-28 22:13:22.000000000 +0200
@@ -1,2 +1,2 @@
 # this file is autogenerated by setup.py
-version = "0.7.3"
+version = "0.7.4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/actions/action0.py 
new/nml-0.7.4/nml/actions/action0.py
--- old/nml-0.7.3/nml/actions/action0.py        2023-05-21 23:10:21.000000000 
+0200
+++ new/nml-0.7.4/nml/actions/action0.py        2023-06-28 22:12:57.000000000 
+0200
@@ -630,6 +630,9 @@
                         "String used as value for non-string property: " + 
str(prop_info["num"]), value.pos
                     )
                 string_range = prop_info["string"]
+                if isinstance(string_range, tuple):
+                    threshold, below, above = string_range
+                    string_range = below if id.value < threshold else above
                 stringid, string_actions = 
action4.get_string_action4s(feature, string_range, value, id)
                 value = expression.ConstantNumeric(stringid)
                 action_list_append.extend(string_actions)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/actions/action0properties.py 
new/nml-0.7.4/nml/actions/action0properties.py
--- old/nml-0.7.3/nml/actions/action0properties.py      2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/nml/actions/action0properties.py      2023-06-28 
22:12:57.000000000 +0200
@@ -706,9 +706,8 @@
     # 19 (road routing) reserved for future use
     # 1A (advanced sprite layout) is implemented elsewhere
     # 1B (minimum bridge height) JGR only
-
-    "classname":             {"num": -1, "string": 0xC4},
-    "name":                  {"num": -1, "string": 0xC5, "required": True},
+    "name":                  {"size": 2, "num": 0x1C, "string": (256, 0xC5, 
0xDC), "required": True},
+    "classname":             {"size": 2, "num": 0x1D, "string": 0xDC},
 }
 # fmt: on
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/actions/action3_callbacks.py 
new/nml-0.7.4/nml/actions/action3_callbacks.py
--- old/nml-0.7.3/nml/actions/action3_callbacks.py      2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/nml/actions/action3_callbacks.py      2023-06-28 
22:12:57.000000000 +0200
@@ -284,15 +284,16 @@
 # Roadtypes
 callbacks[0x12] = {
     # No default here, it makes no sense
-    'gui'             : {'type': 'cargo', 'num': 0x00},
-    'track_overlay'   : {'type': 'cargo', 'num': 0x01},
-    'underlay'        : {'type': 'cargo', 'num': 0x02},
-    'tunnels'         : {'type': 'cargo', 'num': 0x03},
-    'catenary_front'  : {'type': 'cargo', 'num': 0x04},
-    'catenary_back'   : {'type': 'cargo', 'num': 0x05},
-    'bridge_surfaces' : {'type': 'cargo', 'num': 0x06},
-    'depots'          : {'type': 'cargo', 'num': 0x08},
-    'roadstops'       : {'type': 'cargo', 'num': 0x0A},
+    'gui'                : {'type': 'cargo', 'num': 0x00},
+    'track_overlay'      : {'type': 'cargo', 'num': 0x01},
+    'underlay'           : {'type': 'cargo', 'num': 0x02},
+    'tunnels'            : {'type': 'cargo', 'num': 0x03},
+    'catenary_front'     : {'type': 'cargo', 'num': 0x04},
+    'catenary_back'      : {'type': 'cargo', 'num': 0x05},
+    'bridge_surfaces'    : {'type': 'cargo', 'num': 0x06},
+    'depots'             : {'type': 'cargo', 'num': 0x08},
+    'roadstops'          : {'type': 'cargo', 'num': 0x0A},
+    'direction_markings' : {'type': 'cargo', 'num': 0x0B},
 }
 
 # Tramtypes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/actions/action4.py 
new/nml-0.7.4/nml/actions/action4.py
--- old/nml-0.7.3/nml/actions/action4.py        2023-05-21 23:10:21.000000000 
+0200
+++ new/nml-0.7.4/nml/actions/action4.py        2023-06-28 22:12:57.000000000 
+0200
@@ -82,7 +82,11 @@
     0xD0: {"random_id": True, "total": 0x400, "ids": list(range(0xD3FF, 
0xCFFF, -1))},
     # Misc. persistent text ids, used to set properties.
     # Use Ids DC00..DCFF first to keep compatibility with older versions of 
OTTD.
-    0xDC: {"random_id": True, "total": 0x800, "ids": list(range(0xDBFF, 
0xD7FF, -1)) + list(range(0xDFFF, 0xDBFF, -1))},
+    0xDC: {
+        "random_id": True,
+        "total": 0x2800,
+        "ids": list(range(0xFFFF, 0xDFFF, -1)) + list(range(0xDBFF, 0xD7FF, 
-1)) + list(range(0xDFFF, 0xDBFF, -1)),
+    },
 }
 
 # Mapping of string identifiers to D0xx/DCxx text ids
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/actions/action5.py 
new/nml-0.7.4/nml/actions/action5.py
--- old/nml-0.7.3/nml/actions/action5.py        2023-05-21 23:10:21.000000000 
+0200
+++ new/nml-0.7.4/nml/actions/action5.py        2023-06-28 22:12:57.000000000 
+0200
@@ -55,16 +55,17 @@
 
 
 action5_table = {
-    "PRE_SIGNAL": (0x04, 48, Action5BlockType.FIXED),
-    "PRE_SIGNAL_SEMAPHORE": (0x04, 112, Action5BlockType.FIXED),
-    "PRE_SIGNAL_SEMAPHORE_PBS": (0x04, 240, Action5BlockType.OFFSET),
+    "PRE_SIGNAL": (0x04, 48, Action5BlockType.OFFSET),  # deprecated, use 
"SIGNALS" in all cases
+    "PRE_SIGNAL_SEMAPHORE": (0x04, 112, Action5BlockType.OFFSET),  # 
deprecated, use "SIGNALS" in all cases
+    "PRE_SIGNAL_SEMAPHORE_PBS": (0x04, 240, Action5BlockType.OFFSET),  # 
deprecated, use "SIGNALS" in all cases
+    "SIGNALS": (0x04, 240, Action5BlockType.OFFSET),
     "CATENARY": (0x05, 48, Action5BlockType.OFFSET),
     "FOUNDATIONS_SLOPES": (0x06, 74, Action5BlockType.FIXED),
     "FOUNDATIONS_SLOPES_HALFTILES": (0x06, 90, Action5BlockType.OFFSET),
     "TTDP_GUI_25": (0x07, 73, Action5BlockType.FIXED),
     "TTDP_GUI": (0x07, 93, Action5BlockType.FIXED),
     "CANALS": (0x08, 65, Action5BlockType.OFFSET),
-    "ONE_WAY_ROAD": (0x09, 6, Action5BlockType.OFFSET),
+    "ONE_WAY_ROAD": (0x09, 18, Action5BlockType.OFFSET),
     "COLOURMAP_2CC": (0x0A, 256, Action5BlockType.OFFSET),
     "TRAMWAY": (0x0B, 119, Action5BlockType.OFFSET),
     "SNOWY_TEMPERATE_TREES": (0x0C, 133, Action5BlockType.FIXED),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/ast/switch.py 
new/nml-0.7.4/nml/ast/switch.py
--- old/nml-0.7.3/nml/ast/switch.py     2023-05-21 23:10:21.000000000 +0200
+++ new/nml-0.7.4/nml/ast/switch.py     2023-06-28 22:12:57.000000000 +0200
@@ -416,6 +416,12 @@
             all_refs += choice.result.value.collect_references()
         return all_refs
 
+    def is_read_only(self):
+        for choice in self.choices:
+            if not choice.result.value.is_read_only():
+                return False
+        return True
+
     def debug_print(self, indentation):
         generic.print_dbg(indentation, "Random")
         generic.print_dbg(indentation + 2, "Feature:", 
next(iter(self.feature_set)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml/expression/functioncall.py 
new/nml-0.7.4/nml/expression/functioncall.py
--- old/nml-0.7.3/nml/expression/functioncall.py        2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/nml/expression/functioncall.py        2023-06-28 
22:12:57.000000000 +0200
@@ -332,17 +332,31 @@
 @builtin
 def builtin_version_openttd(name, args, pos):
     """
-    version_openttd(major, minor, revision[, build]) builtin function.
+    version_openttd(major, minor[, revision[, build]]) builtin function.
+
+    For OpenTTD >= 12.0 only 2 parameters may be passed.
+    For OpenTTD < 12.0 3 to 4 parameters may be passed.
 
     @return The version information encoded in a double-word.
     """
-    if len(args) > 4 or len(args) < 3:
-        raise generic.ScriptError(name + "() must have 3 or 4 parameters", pos)
+    if len(args) < 2:
+        raise generic.ScriptError(name + "() must have at least 2 parameters", 
pos)
+
     major = args[0].reduce_constant().value
     minor = args[1].reduce_constant().value
-    revision = args[2].reduce_constant().value
-    build = args[3].reduce_constant().value if len(args) == 4 else 0x80000
-    return ConstantNumeric((major << 28) | (minor << 24) | (revision << 20) | 
build)
+
+    if major >= 12:
+        if len(args) != 2:
+            raise generic.ScriptError(name + "() must have at exactly 2 
parameters for OpenTTD >= 12.0", pos)
+
+        return ConstantNumeric(((16 + major) << 24) | (minor << 20))
+    else:
+        if len(args) > 4:
+            raise generic.ScriptError(name + "() must have at most 4 
parameters", pos)
+
+        revision = args[2].reduce_constant().value if len(args) >= 3 else 0
+        build = args[3].reduce_constant().value if len(args) >= 4 else 0x80000
+        return ConstantNumeric((major << 28) | (minor << 24) | (revision << 
20) | build)
 
 
 @builtins("cargotype_available", "railtype_available", "roadtype_available", 
"tramtype_available")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml.egg-info/PKG-INFO 
new/nml-0.7.4/nml.egg-info/PKG-INFO
--- old/nml-0.7.3/nml.egg-info/PKG-INFO 2023-05-21 23:10:47.000000000 +0200
+++ new/nml-0.7.4/nml.egg-info/PKG-INFO 2023-06-28 22:13:22.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: nml
-Version: 0.7.3
+Version: 0.7.4
 Summary: An OpenTTD NewGRF compiler for the nml language
 Home-page: https://github.com/OpenTTD/nml
 Author: NML Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/nml.egg-info/SOURCES.txt 
new/nml-0.7.4/nml.egg-info/SOURCES.txt
--- old/nml-0.7.3/nml.egg-info/SOURCES.txt      2023-05-21 23:10:48.000000000 
+0200
+++ new/nml-0.7.4/nml.egg-info/SOURCES.txt      2023-06-28 22:13:22.000000000 
+0200
@@ -34,6 +34,7 @@
 examples/roadtype_and_tramtype/example_roadtype_and_tramtype.nml
 examples/roadtype_and_tramtype/gfx/depot_electric.png
 examples/roadtype_and_tramtype/gfx/depot_normal.png
+examples/roadtype_and_tramtype/gfx/direction_markings.png
 examples/roadtype_and_tramtype/gfx/fences.png
 examples/roadtype_and_tramtype/gfx/gui_erail.png
 examples/roadtype_and_tramtype/gfx/gui_rail.png
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/regression/005_error.nml 
new/nml-0.7.4/regression/005_error.nml
--- old/nml-0.7.3/regression/005_error.nml      2023-05-21 23:10:21.000000000 
+0200
+++ new/nml-0.7.4/regression/005_error.nml      2023-06-28 22:12:57.000000000 
+0200
@@ -1,3 +1,15 @@
 // Regression test for error(..) statements (ActionB)
 error(NOTICE, USED_WITH, string(STR_REGRESSION_CARE));
 error(FATAL, string(STR_REGRESSION_ERROR), string(STR_ANSWER), 14, param[1] + 
12 * param[2]);
+
+if (version_openttd(1,11,0) > openttd_version) {
+    error(FATAL, REQUIRES_OPENTTD, string(STR_REGRESSION_ERROR));
+}
+
+if (version_openttd(12,0) > openttd_version) {
+    error(FATAL, REQUIRES_OPENTTD, string(STR_REGRESSION_ERROR));
+}
+
+if (version_openttd(16,0) > openttd_version) {
+    error(FATAL, REQUIRES_OPENTTD, string(STR_REGRESSION_ERROR));
+}
Binary files old/nml-0.7.3/regression/expected/005_error.grf and 
new/nml-0.7.4/regression/expected/005_error.grf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/regression/expected/005_error.nfo 
new/nml-0.7.4/regression/expected/005_error.nfo
--- old/nml-0.7.3/regression/expected/005_error.nfo     2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/regression/expected/005_error.nfo     2023-06-28 
22:12:57.000000000 +0200
@@ -22,3 +22,48 @@
 
 6 * 42 0B 03 7F FF "Something bad (tm) has happened." 00 "42" 00 7F 7E
 
+// param[126] = param[161]
+7 * 5 0D 7E \D= A1 00
+
+// param[127] = (param[126] - 453509120)
+8 * 9 0D 7F \D- 7E FF \dx1B080000
+
+// param[127] = (param[127] << -31)
+9 * 9 0D 7F \Du<< 7F FF \dxFFFFFFE1
+
+10 * 9 09 7F 04 \7= \dx00000000 02
+
+11 * 61 0B 03 1F 06 "De wissels zijn bevroren, onze excuses voor het ongemak." 
00
+
+12 * 37 0B 03 7F 06 "Something bad (tm) has happened." 00
+
+// param[126] = param[161]
+13 * 5 0D 7E \D= A1 00
+
+// param[127] = (param[126] - 469762048)
+14 * 9 0D 7F \D- 7E FF \dx1C000000
+
+// param[127] = (param[127] << -31)
+15 * 9 0D 7F \Du<< 7F FF \dxFFFFFFE1
+
+16 * 9 09 7F 04 \7= \dx00000000 02
+
+17 * 61 0B 03 1F 06 "De wissels zijn bevroren, onze excuses voor het ongemak." 
00
+
+18 * 37 0B 03 7F 06 "Something bad (tm) has happened." 00
+
+// param[126] = param[161]
+19 * 5 0D 7E \D= A1 00
+
+// param[127] = (param[126] - 536870912)
+20 * 9 0D 7F \D- 7E FF \dx20000000
+
+// param[127] = (param[127] << -31)
+21 * 9 0D 7F \Du<< 7F FF \dxFFFFFFE1
+
+22 * 9 09 7F 04 \7= \dx00000000 02
+
+23 * 61 0B 03 1F 06 "De wissels zijn bevroren, onze excuses voor het ongemak." 
00
+
+24 * 37 0B 03 7F 06 "Something bad (tm) has happened." 00
+
Binary files old/nml-0.7.3/regression/expected/009_replace.grf and 
new/nml-0.7.4/regression/expected/009_replace.grf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/regression/expected/009_replace.nfo 
new/nml-0.7.4/regression/expected/009_replace.nfo
--- old/nml-0.7.3/regression/expected/009_replace.nfo   2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/regression/expected/009_replace.nfo   2023-06-28 
22:12:57.000000000 +0200
@@ -21,7 +21,7 @@
 4 opengfx_generic_trams1.pcx 8bpp 48 56 8 18 -3 -10 normal
 5 opengfx_generic_trams1.pcx 8bpp 48 56 8 18 -3 4 normal
 
-6 * 5 05 09 FF \w6
+6 * 8 05 89 FF \w6 FF \w0
 
 7 oneway.png 8bpp 18 8 24 16 -12 -8 normal
 8 oneway.png 8bpp 50 8 24 16 -12 -8 normal
Binary files old/nml-0.7.3/regression/expected/040_station.grf and 
new/nml-0.7.4/regression/expected/040_station.grf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/regression/expected/040_station.nfo 
new/nml-0.7.4/regression/expected/040_station.nfo
--- old/nml-0.7.3/regression/expected/040_station.nfo   2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/regression/expected/040_station.nfo   2023-06-28 
22:12:57.000000000 +0200
@@ -5,7 +5,7 @@
 // Escapes: D= = DR D+ = DF D- = DC Du* = DM D* = DnF Du<< = DnC D<< = DO D& 
D| Du/ D/ Du% D%
 // Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
 
-0 * 4 \d36
+0 * 4 \d35
 
 1 * 54 14 "C" "INFO"
 "B" "VRSN" \w4 \dx00000000
@@ -16,17 +16,19 @@
 00
 00
 2 * 52 08 08 "NML\40" "NML regression test" 00 "A test newgrf testing NML" 00
-3 * 16 00 08 \b1 02 FF \wx0000
+3 * 11 04 04 FF 01 \wxDC00 "Test" 00
+
+4 * 16 00 08 \b1 02 FF \wx0000
 09 "COAL" "LVST"
 
-4 * 21 00 04 \b4 01 FF \wx0000
+5 * 27 00 04 \b6 01 FF \wx0000
 08 "TEST"
+1D \wxDC00
+1C \wxC500
 13 18
 12 \dx00000002
 0C F0
 
-5 * 11 04 04 FF 01 \wxC400 "Test" 00
-
 6 * 20 04 04 FF 01 \wxC500 "Basic station" 00
 
 7 * 6 01 04 \b2 FF \wx0002
@@ -179,30 +181,30 @@
 FF \wx00F9     // @action3_3;
 \wx00F8        // @action3_4;
 
-29 * 12 00 04 \b1 01 FF \wx0001
+29 * 18 00 04 \b3 01 FF \wx0001
 08 "TEST"
+1D \wxDC00
+1C \wxC501
 
-30 * 11 04 04 FF 01 \wxC401 "Test" 00
-
-31 * 22 04 04 FF 01 \wxC501 "Basic station 2" 00
+30 * 22 04 04 FF 01 \wxC501 "Basic station 2" 00
 
-32 * 9 00 04 \b1 01 FF \wx0001
+31 * 9 00 04 \b1 01 FF \wx0001
 0A 00
 
 // Name: @CB_FAILED_REAL04
-33 * 7 02 04 F8 \b0 \b1
+32 * 7 02 04 F8 \b0 \b1
 
 \w0
 
 // Name: @CB_FAILED04
-34 * 23 02 04 F8 89
+33 * 23 02 04 F8 89
 0C 00 \dx0000FFFF
 \b1
 \wx8000 \dx00000000 \dx00000000        // graphics callback -> return 0
 \wx00F8 // Non-graphics callback, return graphics result
 
 // Name: @action3_7
-35 * 41 02 04 F8 89
+34 * 41 02 04 F8 89
 7E FD 20 \dxFFFFFFFF   // Station Layout@registers - Id 00
 \2r 10 00 \dx000000FF
 \b2
@@ -210,6 +212,6 @@
 \wx00FE \dx00000003 \dx00000003        // station_spriteset2;
 \wx00F8 // @CB_FAILED04;
 
-36 * 7 03 04 01 01 \b0
+35 * 7 03 04 01 01 \b0
 \wx00F8        // @action3_7;
 
Binary files 
old/nml-0.7.3/regression/expected/example_roadtype_and_tramtype.grf and 
new/nml-0.7.4/regression/expected/example_roadtype_and_tramtype.grf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nml-0.7.3/regression/expected/example_roadtype_and_tramtype.nfo 
new/nml-0.7.4/regression/expected/example_roadtype_and_tramtype.nfo
--- old/nml-0.7.3/regression/expected/example_roadtype_and_tramtype.nfo 
2023-05-21 23:10:21.000000000 +0200
+++ new/nml-0.7.4/regression/expected/example_roadtype_and_tramtype.nfo 
2023-06-28 22:12:57.000000000 +0200
@@ -5,13 +5,13 @@
 // Escapes: D= = DR D+ = DF D- = DC Du* = DM D* = DnF Du<< = DnC D<< = DO D& 
D| Du/ D/ Du% D%
 // Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
 
-0 * 4 \d196
+0 * 4 \d216
 
 1 * 54 14 "C" "INFO"
 "B" "VRSN" \w4 \dx00000001
 "B" "MINV" \w4 \dx00000001
 "B" "NPAR" \w1 00
-"B" "PALS" \w1 "W"
+"B" "PALS" \w1 "D"
 "B" "BLTR" \w1 "8"
 00
 00
@@ -129,15 +129,42 @@
 \w0
 
 
-74 * 22 03 12 01 05 \b5
+74 * 6 01 12 \b1 FF \wx0012
+
+75 gfx/direction_markings.png 8bpp 34 8 24 16 -10 -9 normal
+76 gfx/direction_markings.png 8bpp 66 8 24 16 -13 -7 normal
+77 gfx/direction_markings.png 8bpp 98 8 24 16 -12 -8 normal
+78 gfx/direction_markings.png 8bpp 130 8 24 16 -15 -10 normal
+79 gfx/direction_markings.png 8bpp 162 8 24 16 -12 -9 normal
+80 gfx/direction_markings.png 8bpp 194 8 24 16 -11 -8 normal
+81 gfx/direction_markings.png 8bpp 34 40 24 16 -13 -10 normal
+82 gfx/direction_markings.png 8bpp 66 40 24 16 -12 -8 normal
+83 gfx/direction_markings.png 8bpp 98 40 24 16 -12 -9 normal
+84 gfx/direction_markings.png 8bpp 130 40 24 16 -11 -8 normal
+85 gfx/direction_markings.png 8bpp 162 40 24 16 -9 -10 normal
+86 gfx/direction_markings.png 8bpp 194 40 24 16 -10 -9 normal
+87 gfx/direction_markings.png 8bpp 34 72 24 16 -8 -11 normal
+88 gfx/direction_markings.png 8bpp 66 72 24 16 -11 -5 normal
+89 gfx/direction_markings.png 8bpp 98 72 24 16 -12 -8 normal
+90 gfx/direction_markings.png 8bpp 130 72 24 16 -12 -5 normal
+91 gfx/direction_markings.png 8bpp 162 72 24 16 -14 -10 normal
+92 gfx/direction_markings.png 8bpp 194 72 24 16 -12 -8 normal
+
+// Name: st_direction_markings - feature 12
+93 * 7 02 12 FA \b1 \b0
+\w0
+
+
+94 * 25 03 12 01 05 \b6
 01 \wx00FF     // road_overlays_red;
 02 \wx00FE     // track_underlays;
 06 \wx00FC     // bridge_underlay;
 08 \wx00FD     // depot_normal_road;
 0A \wx00FB     // roadstop_underlay_red;
+0B \wx00FA     // st_direction_markings;
 \wx0000
 
-75 * 40 00 12 \b10 01 FF \wx0006
+95 * 40 00 12 \b10 01 FF \wx0006
 1B \wxDC06
 08 "BLUE"
 0F \b1 "ROAD"
@@ -149,54 +176,55 @@
 10 00
 1A 63
 
-76 * 6 01 12 \b1 FF \wx0013
+96 * 6 01 12 \b1 FF \wx0013
 
-77 gfx/roads_blue.png 8bpp 0 0 64 31 -31 0 normal
-78 gfx/roads_blue.png 8bpp 75 0 64 31 -31 0 normal
-79 gfx/roads_blue.png 8bpp 150 0 64 31 -31 0 normal
-80 gfx/roads_blue.png 8bpp 225 0 64 31 -31 0 normal
-81 gfx/roads_blue.png 8bpp 300 0 64 31 -31 0 normal
-82 gfx/roads_blue.png 8bpp 375 0 64 31 -31 0 normal
-83 gfx/roads_blue.png 8bpp 450 0 64 31 -31 0 normal
-84 gfx/roads_blue.png 8bpp 0 40 64 31 -31 0 normal
-85 gfx/roads_blue.png 8bpp 75 40 64 31 -31 0 normal
-86 gfx/roads_blue.png 8bpp 150 40 64 31 -31 0 normal
-87 gfx/roads_blue.png 8bpp 225 40 64 31 -31 0 normal
-88 gfx/roads_blue.png 8bpp 300 40 64 39 -31 -8 normal
-89 gfx/roads_blue.png 8bpp 375 40 64 21 -31 0 normal
-90 gfx/roads_blue.png 8bpp 450 40 64 21 -31 0 normal
-91 gfx/roads_blue.png 8bpp 525 40 64 39 -31 -8 normal
-92 gfx/roads_blue.png 8bpp 0 80 64 31 -31 0 normal
-93 gfx/roads_blue.png 8bpp 75 80 64 31 -31 0 normal
-94 gfx/roads_blue.png 8bpp 150 80 64 31 -31 0 normal
-95 gfx/roads_blue.png 8bpp 225 80 64 31 -31 0 normal
+97 gfx/roads_blue.png 8bpp 0 0 64 31 -31 0 normal
+98 gfx/roads_blue.png 8bpp 75 0 64 31 -31 0 normal
+99 gfx/roads_blue.png 8bpp 150 0 64 31 -31 0 normal
+100 gfx/roads_blue.png 8bpp 225 0 64 31 -31 0 normal
+101 gfx/roads_blue.png 8bpp 300 0 64 31 -31 0 normal
+102 gfx/roads_blue.png 8bpp 375 0 64 31 -31 0 normal
+103 gfx/roads_blue.png 8bpp 450 0 64 31 -31 0 normal
+104 gfx/roads_blue.png 8bpp 0 40 64 31 -31 0 normal
+105 gfx/roads_blue.png 8bpp 75 40 64 31 -31 0 normal
+106 gfx/roads_blue.png 8bpp 150 40 64 31 -31 0 normal
+107 gfx/roads_blue.png 8bpp 225 40 64 31 -31 0 normal
+108 gfx/roads_blue.png 8bpp 300 40 64 39 -31 -8 normal
+109 gfx/roads_blue.png 8bpp 375 40 64 21 -31 0 normal
+110 gfx/roads_blue.png 8bpp 450 40 64 21 -31 0 normal
+111 gfx/roads_blue.png 8bpp 525 40 64 39 -31 -8 normal
+112 gfx/roads_blue.png 8bpp 0 80 64 31 -31 0 normal
+113 gfx/roads_blue.png 8bpp 75 80 64 31 -31 0 normal
+114 gfx/roads_blue.png 8bpp 150 80 64 31 -31 0 normal
+115 gfx/roads_blue.png 8bpp 225 80 64 31 -31 0 normal
 
 // Name: road_overlays_blue - feature 12
-96 * 7 02 12 FB \b1 \b0
+116 * 7 02 12 FB \b1 \b0
 \w0
 
 
-97 * 6 01 12 \b1 FF \wx0004
+117 * 6 01 12 \b1 FF \wx0004
 
-98 gfx/roads_blue.png 8bpp 0 120 64 31 -31 0 normal
-99 gfx/roads_blue.png 8bpp 75 120 64 31 -31 0 normal
-100 gfx/roads_blue.png 8bpp 150 120 64 31 -31 0 normal
-101 gfx/roads_blue.png 8bpp 225 120 64 31 -31 0 normal
+118 gfx/roads_blue.png 8bpp 0 120 64 31 -31 0 normal
+119 gfx/roads_blue.png 8bpp 75 120 64 31 -31 0 normal
+120 gfx/roads_blue.png 8bpp 150 120 64 31 -31 0 normal
+121 gfx/roads_blue.png 8bpp 225 120 64 31 -31 0 normal
 
 // Name: roadstop_underlay_blue - feature 12
-102 * 7 02 12 FF \b1 \b0
+122 * 7 02 12 FF \b1 \b0
 \w0
 
 
-103 * 22 03 12 01 06 \b5
+123 * 25 03 12 01 06 \b6
 01 \wx00FB     // road_overlays_blue;
 02 \wx00FE     // track_underlays;
 06 \wx00FC     // bridge_underlay;
 08 \wx00FD     // depot_normal_road;
 0A \wx00FF     // roadstop_underlay_blue;
+0B \wx00FA     // st_direction_markings;
 \wx0000
 
-104 * 40 00 12 \b10 01 FF \wx0007
+124 * 40 00 12 \b10 01 FF \wx0007
 1B \wxDC0C
 08 "2YEL"
 0F \b1 "ROAD"
@@ -208,54 +236,55 @@
 10 00
 1A 64
 
-105 * 6 01 12 \b1 FF \wx0013
+125 * 6 01 12 \b1 FF \wx0013
 
-106 gfx/roads_yellow.png 8bpp 0 0 64 31 -31 0 normal
-107 gfx/roads_yellow.png 8bpp 75 0 64 31 -31 0 normal
-108 gfx/roads_yellow.png 8bpp 150 0 64 31 -31 0 normal
-109 gfx/roads_yellow.png 8bpp 225 0 64 31 -31 0 normal
-110 gfx/roads_yellow.png 8bpp 300 0 64 31 -31 0 normal
-111 gfx/roads_yellow.png 8bpp 375 0 64 31 -31 0 normal
-112 gfx/roads_yellow.png 8bpp 450 0 64 31 -31 0 normal
-113 gfx/roads_yellow.png 8bpp 0 40 64 31 -31 0 normal
-114 gfx/roads_yellow.png 8bpp 75 40 64 31 -31 0 normal
-115 gfx/roads_yellow.png 8bpp 150 40 64 31 -31 0 normal
-116 gfx/roads_yellow.png 8bpp 225 40 64 31 -31 0 normal
-117 gfx/roads_yellow.png 8bpp 300 40 64 39 -31 -8 normal
-118 gfx/roads_yellow.png 8bpp 375 40 64 21 -31 0 normal
-119 gfx/roads_yellow.png 8bpp 450 40 64 21 -31 0 normal
-120 gfx/roads_yellow.png 8bpp 525 40 64 39 -31 -8 normal
-121 gfx/roads_yellow.png 8bpp 0 80 64 31 -31 0 normal
-122 gfx/roads_yellow.png 8bpp 75 80 64 31 -31 0 normal
-123 gfx/roads_yellow.png 8bpp 150 80 64 31 -31 0 normal
-124 gfx/roads_yellow.png 8bpp 225 80 64 31 -31 0 normal
+126 gfx/roads_yellow.png 8bpp 0 0 64 31 -31 0 normal
+127 gfx/roads_yellow.png 8bpp 75 0 64 31 -31 0 normal
+128 gfx/roads_yellow.png 8bpp 150 0 64 31 -31 0 normal
+129 gfx/roads_yellow.png 8bpp 225 0 64 31 -31 0 normal
+130 gfx/roads_yellow.png 8bpp 300 0 64 31 -31 0 normal
+131 gfx/roads_yellow.png 8bpp 375 0 64 31 -31 0 normal
+132 gfx/roads_yellow.png 8bpp 450 0 64 31 -31 0 normal
+133 gfx/roads_yellow.png 8bpp 0 40 64 31 -31 0 normal
+134 gfx/roads_yellow.png 8bpp 75 40 64 31 -31 0 normal
+135 gfx/roads_yellow.png 8bpp 150 40 64 31 -31 0 normal
+136 gfx/roads_yellow.png 8bpp 225 40 64 31 -31 0 normal
+137 gfx/roads_yellow.png 8bpp 300 40 64 39 -31 -8 normal
+138 gfx/roads_yellow.png 8bpp 375 40 64 21 -31 0 normal
+139 gfx/roads_yellow.png 8bpp 450 40 64 21 -31 0 normal
+140 gfx/roads_yellow.png 8bpp 525 40 64 39 -31 -8 normal
+141 gfx/roads_yellow.png 8bpp 0 80 64 31 -31 0 normal
+142 gfx/roads_yellow.png 8bpp 75 80 64 31 -31 0 normal
+143 gfx/roads_yellow.png 8bpp 150 80 64 31 -31 0 normal
+144 gfx/roads_yellow.png 8bpp 225 80 64 31 -31 0 normal
 
 // Name: road_overlays_yellow - feature 12
-125 * 7 02 12 FF \b1 \b0
+145 * 7 02 12 FF \b1 \b0
 \w0
 
 
-126 * 6 01 12 \b1 FF \wx0004
+146 * 6 01 12 \b1 FF \wx0004
 
-127 gfx/roads_yellow.png 8bpp 0 120 64 31 -31 0 normal
-128 gfx/roads_yellow.png 8bpp 75 120 64 31 -31 0 normal
-129 gfx/roads_yellow.png 8bpp 150 120 64 31 -31 0 normal
-130 gfx/roads_yellow.png 8bpp 225 120 64 31 -31 0 normal
+147 gfx/roads_yellow.png 8bpp 0 120 64 31 -31 0 normal
+148 gfx/roads_yellow.png 8bpp 75 120 64 31 -31 0 normal
+149 gfx/roads_yellow.png 8bpp 150 120 64 31 -31 0 normal
+150 gfx/roads_yellow.png 8bpp 225 120 64 31 -31 0 normal
 
 // Name: roadstop_underlay_yellow - feature 12
-131 * 7 02 12 FB \b1 \b0
+151 * 7 02 12 FB \b1 \b0
 \w0
 
 
-132 * 22 03 12 01 07 \b5
+152 * 25 03 12 01 07 \b6
 01 \wx00FF     // road_overlays_yellow;
 02 \wx00FE     // track_underlays;
 06 \wx00FC     // bridge_underlay;
 08 \wx00FD     // depot_normal_road;
 0A \wx00FB     // roadstop_underlay_yellow;
+0B \wx00FA     // st_direction_markings;
 \wx0000
 
-133 * 38 00 13 \b9 01 FF \wx0009
+153 * 38 00 13 \b9 01 FF \wx0009
 1B \wxDC12
 08 "GRTR"
 0F \b1 "TRAM"
@@ -266,95 +295,95 @@
 0D \wxDC17
 10 00
 
-134 * 6 01 13 \b2 FF \wx0013
+154 * 6 01 13 \b2 FF \wx0013
 
-135 gfx/tram_green.png 8bpp 0 0 64 31 -31 0 normal
-136 gfx/tram_green.png 8bpp 75 0 64 31 -31 0 normal
-137 gfx/tram_green.png 8bpp 150 0 64 31 -31 0 normal
-138 gfx/tram_green.png 8bpp 225 0 64 31 -31 0 normal
-139 gfx/tram_green.png 8bpp 300 0 64 31 -31 0 normal
-140 gfx/tram_green.png 8bpp 375 0 64 31 -31 0 normal
-141 gfx/tram_green.png 8bpp 450 0 64 31 -31 0 normal
-142 gfx/tram_green.png 8bpp 0 40 64 31 -31 0 normal
-143 gfx/tram_green.png 8bpp 75 40 64 31 -31 0 normal
-144 gfx/tram_green.png 8bpp 150 40 64 31 -31 0 normal
-145 gfx/tram_green.png 8bpp 225 40 64 31 -31 0 normal
-146 gfx/tram_green.png 8bpp 300 40 64 39 -31 -8 normal
-147 gfx/tram_green.png 8bpp 375 40 64 21 -31 0 normal
-148 gfx/tram_green.png 8bpp 450 40 64 21 -31 0 normal
-149 gfx/tram_green.png 8bpp 525 40 64 39 -31 -8 normal
-150 gfx/tram_green.png 8bpp 0 80 64 31 -31 0 normal
-151 gfx/tram_green.png 8bpp 75 80 64 31 -31 0 normal
-152 gfx/tram_green.png 8bpp 150 80 64 31 -31 0 normal
-153 gfx/tram_green.png 8bpp 225 80 64 31 -31 0 normal
-
-154 gfx/roads_underlay.png 8bpp 0 0 64 31 -31 0 normal
-155 gfx/roads_underlay.png 8bpp 75 0 64 31 -31 0 normal
-156 gfx/roads_underlay.png 8bpp 150 0 64 31 -31 0 normal
-157 gfx/roads_underlay.png 8bpp 225 0 64 31 -31 0 normal
-158 gfx/roads_underlay.png 8bpp 300 0 64 31 -31 0 normal
-159 gfx/roads_underlay.png 8bpp 375 0 64 31 -31 0 normal
-160 gfx/roads_underlay.png 8bpp 450 0 64 31 -31 0 normal
-161 gfx/roads_underlay.png 8bpp 0 40 64 31 -31 0 normal
-162 gfx/roads_underlay.png 8bpp 75 40 64 31 -31 0 normal
-163 gfx/roads_underlay.png 8bpp 150 40 64 31 -31 0 normal
-164 gfx/roads_underlay.png 8bpp 225 40 64 31 -31 0 normal
-165 gfx/roads_underlay.png 8bpp 300 40 64 39 -31 -8 normal
-166 gfx/roads_underlay.png 8bpp 375 40 64 23 -31 0 normal
-167 gfx/roads_underlay.png 8bpp 450 40 64 23 -31 0 normal
-168 gfx/roads_underlay.png 8bpp 525 40 64 39 -31 -8 normal
-169 gfx/roads_underlay.png 8bpp 0 80 64 31 -31 0 normal
-170 gfx/roads_underlay.png 8bpp 75 80 64 31 -31 0 normal
-171 gfx/roads_underlay.png 8bpp 150 80 64 31 -31 0 normal
-172 gfx/roads_underlay.png 8bpp 225 80 64 31 -31 0 normal
+155 gfx/tram_green.png 8bpp 0 0 64 31 -31 0 normal
+156 gfx/tram_green.png 8bpp 75 0 64 31 -31 0 normal
+157 gfx/tram_green.png 8bpp 150 0 64 31 -31 0 normal
+158 gfx/tram_green.png 8bpp 225 0 64 31 -31 0 normal
+159 gfx/tram_green.png 8bpp 300 0 64 31 -31 0 normal
+160 gfx/tram_green.png 8bpp 375 0 64 31 -31 0 normal
+161 gfx/tram_green.png 8bpp 450 0 64 31 -31 0 normal
+162 gfx/tram_green.png 8bpp 0 40 64 31 -31 0 normal
+163 gfx/tram_green.png 8bpp 75 40 64 31 -31 0 normal
+164 gfx/tram_green.png 8bpp 150 40 64 31 -31 0 normal
+165 gfx/tram_green.png 8bpp 225 40 64 31 -31 0 normal
+166 gfx/tram_green.png 8bpp 300 40 64 39 -31 -8 normal
+167 gfx/tram_green.png 8bpp 375 40 64 21 -31 0 normal
+168 gfx/tram_green.png 8bpp 450 40 64 21 -31 0 normal
+169 gfx/tram_green.png 8bpp 525 40 64 39 -31 -8 normal
+170 gfx/tram_green.png 8bpp 0 80 64 31 -31 0 normal
+171 gfx/tram_green.png 8bpp 75 80 64 31 -31 0 normal
+172 gfx/tram_green.png 8bpp 150 80 64 31 -31 0 normal
+173 gfx/tram_green.png 8bpp 225 80 64 31 -31 0 normal
+
+174 gfx/roads_underlay.png 8bpp 0 0 64 31 -31 0 normal
+175 gfx/roads_underlay.png 8bpp 75 0 64 31 -31 0 normal
+176 gfx/roads_underlay.png 8bpp 150 0 64 31 -31 0 normal
+177 gfx/roads_underlay.png 8bpp 225 0 64 31 -31 0 normal
+178 gfx/roads_underlay.png 8bpp 300 0 64 31 -31 0 normal
+179 gfx/roads_underlay.png 8bpp 375 0 64 31 -31 0 normal
+180 gfx/roads_underlay.png 8bpp 450 0 64 31 -31 0 normal
+181 gfx/roads_underlay.png 8bpp 0 40 64 31 -31 0 normal
+182 gfx/roads_underlay.png 8bpp 75 40 64 31 -31 0 normal
+183 gfx/roads_underlay.png 8bpp 150 40 64 31 -31 0 normal
+184 gfx/roads_underlay.png 8bpp 225 40 64 31 -31 0 normal
+185 gfx/roads_underlay.png 8bpp 300 40 64 39 -31 -8 normal
+186 gfx/roads_underlay.png 8bpp 375 40 64 23 -31 0 normal
+187 gfx/roads_underlay.png 8bpp 450 40 64 23 -31 0 normal
+188 gfx/roads_underlay.png 8bpp 525 40 64 39 -31 -8 normal
+189 gfx/roads_underlay.png 8bpp 0 80 64 31 -31 0 normal
+190 gfx/roads_underlay.png 8bpp 75 80 64 31 -31 0 normal
+191 gfx/roads_underlay.png 8bpp 150 80 64 31 -31 0 normal
+192 gfx/roads_underlay.png 8bpp 225 80 64 31 -31 0 normal
 
 // Name: tram_overlays_green - feature 13
-173 * 7 02 13 FB \b1 \b0
+193 * 7 02 13 FA \b1 \b0
 \w0
 
 
 // Name: track_underlays - feature 13
-174 * 7 02 13 FD \b1 \b0
+194 * 7 02 13 FB \b1 \b0
 \w1
 
 
-175 * 6 01 13 \b1 FF \wx0006
+195 * 6 01 13 \b1 FF \wx0006
 
-176 gfx/depot_normal.png 8bpp 200 10 16 8 17 11 normal
-177 gfx/depot_normal.png 8bpp 118 8 64 47 -1 -31 normal
-178 gfx/depot_normal.png 8bpp 0 10 16 8 -31 11 normal
-179 gfx/depot_normal.png 8bpp 37 8 64 47 -61 -31 normal
-180 gfx/depot_normal.png 8bpp 37 63 64 47 -61 -31 normal
-181 gfx/depot_normal.png 8bpp 118 63 64 47 -1 -31 normal
+196 gfx/depot_normal.png 8bpp 200 10 16 8 17 11 normal
+197 gfx/depot_normal.png 8bpp 118 8 64 47 -1 -31 normal
+198 gfx/depot_normal.png 8bpp 0 10 16 8 -31 11 normal
+199 gfx/depot_normal.png 8bpp 37 8 64 47 -61 -31 normal
+200 gfx/depot_normal.png 8bpp 37 63 64 47 -61 -31 normal
+201 gfx/depot_normal.png 8bpp 118 63 64 47 -1 -31 normal
 
 // Name: depot_normal_road - feature 13
-182 * 7 02 13 FC \b1 \b0
+202 * 7 02 13 FD \b1 \b0
 \w0
 
 
-183 * 6 01 13 \b1 FF \wx000B
+203 * 6 01 13 \b1 FF \wx000B
 
-184 gfx/roads_red.png 8bpp 0 0 64 31 -31 0 normal
-185 gfx/roads_red.png 8bpp 75 0 64 31 -31 0 normal
-186 gfx/roads_red.png 8bpp 300 40 64 39 -31 -8 normal
-187 gfx/roads_red.png 8bpp 375 40 64 23 -31 0 normal
-188 gfx/roads_red.png 8bpp 450 40 64 23 -31 0 normal
-189 gfx/roads_red.png 8bpp 525 40 64 39 -31 -8 normal
-190 gfx/roads_red.png 8bpp 150 0 64 31 -31 0 normal
-191 gfx/roads_red.png 8bpp 225 0 64 31 -31 0 normal
-192 gfx/roads_red.png 8bpp 300 0 64 31 -31 0 normal
-193 gfx/roads_red.png 8bpp 375 0 64 31 -31 0 normal
-194 gfx/roads_red.png 8bpp 450 0 64 31 -31 0 normal
+204 gfx/roads_red.png 8bpp 0 0 64 31 -31 0 normal
+205 gfx/roads_red.png 8bpp 75 0 64 31 -31 0 normal
+206 gfx/roads_red.png 8bpp 300 40 64 39 -31 -8 normal
+207 gfx/roads_red.png 8bpp 375 40 64 23 -31 0 normal
+208 gfx/roads_red.png 8bpp 450 40 64 23 -31 0 normal
+209 gfx/roads_red.png 8bpp 525 40 64 39 -31 -8 normal
+210 gfx/roads_red.png 8bpp 150 0 64 31 -31 0 normal
+211 gfx/roads_red.png 8bpp 225 0 64 31 -31 0 normal
+212 gfx/roads_red.png 8bpp 300 0 64 31 -31 0 normal
+213 gfx/roads_red.png 8bpp 375 0 64 31 -31 0 normal
+214 gfx/roads_red.png 8bpp 450 0 64 31 -31 0 normal
 
 // Name: bridge_underlay - feature 13
-195 * 7 02 13 FE \b1 \b0
+215 * 7 02 13 FC \b1 \b0
 \w0
 
 
-196 * 19 03 13 01 09 \b4
-01 \wx00FB     // tram_overlays_green;
-02 \wx00FD     // track_underlays;
-06 \wx00FE     // bridge_underlay;
-08 \wx00FC     // depot_normal_road;
+216 * 19 03 13 01 09 \b4
+01 \wx00FA     // tram_overlays_green;
+02 \wx00FB     // track_underlays;
+06 \wx00FC     // bridge_underlay;
+08 \wx00FD     // depot_normal_road;
 \wx0000
 
Binary files old/nml-0.7.3/regression/expected/example_station.grf and 
new/nml-0.7.4/regression/expected/example_station.grf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nml-0.7.3/regression/expected/example_station.nfo 
new/nml-0.7.4/regression/expected/example_station.nfo
--- old/nml-0.7.3/regression/expected/example_station.nfo       2023-05-21 
23:10:21.000000000 +0200
+++ new/nml-0.7.4/regression/expected/example_station.nfo       2023-06-28 
22:12:57.000000000 +0200
@@ -16,57 +16,59 @@
 00
 00
 2 * 193 08 08 "NML\06" "NML Example NewGRF: Station" 00 "\8ENML Example 
NewGRF: Station\0D\98This NewGRF is intended to provide a coding example for 
the high-level NewGRF-coding language NML.\0DConversion of CHIPS Cow pens." 00
+3 * 18 04 04 FF 01 \wxDC00 "NML Example" 00
+
 // param[126] = param[161]
-3 * 5 0D 7E \D= A1 00
+4 * 5 0D 7E \D= A1 00
 
 // param[127] = (param[126] - 302012611)
-4 * 9 0D 7F \D- 7E FF \dx120058C3
+5 * 9 0D 7F \D- 7E FF \dx120058C3
 
 // param[127] = (param[127] << -31)
-5 * 9 0D 7F \Du<< 7F FF \dxFFFFFFE1
+6 * 9 0D 7F \Du<< 7F FF \dxFFFFFFE1
 
-6 * 9 09 7F 04 \7= \dx00000000 01
+7 * 9 09 7F 04 \7= \dx00000000 01
 
-7 * 19 0B 03 7F 06 "1.2.0 (r22723)" 00
+8 * 19 0B 03 7F 06 "1.2.0 (r22723)" 00
 
-8 * 12 00 08 \b1 01 FF \wx0000
+9 * 12 00 08 \b1 01 FF \wx0000
 09 "LVST"
 
-9 * 6 01 04 \b3 FF \wx0002
+10 * 6 01 04 \b3 FF \wx0002
 
-10 cows_cargo.png 8bpp 10 10 64 65 -31 -34 normal
-11 cows_cargo.png 8bpp 220 10 64 65 -31 -34 normal
+11 cows_cargo.png 8bpp 10 10 64 65 -31 -34 normal
+12 cows_cargo.png 8bpp 220 10 64 65 -31 -34 normal
 
-12 cows_cargo.png 8bpp 80 10 64 65 -31 -34 normal
-13 cows_cargo.png 8bpp 290 10 64 65 -31 -34 normal
+13 cows_cargo.png 8bpp 80 10 64 65 -31 -34 normal
+14 cows_cargo.png 8bpp 290 10 64 65 -31 -34 normal
 
-14 cows_cargo.png 8bpp 150 10 64 65 -31 -34 normal
-15 cows_cargo.png 8bpp 360 10 64 65 -31 -34 normal
+15 cows_cargo.png 8bpp 150 10 64 65 -31 -34 normal
+16 cows_cargo.png 8bpp 360 10 64 65 -31 -34 normal
 
 // Name: cow_pen_1 - feature 04
-16 * 11 02 04 FF \b2 \b1
+17 * 11 02 04 FF \b2 \b1
 \w0 \w1
 \w2
 
 // Name: cow_pen_2 - feature 04
-17 * 13 02 04 FE \b3 \b1
+18 * 13 02 04 FE \b3 \b1
 \w0 \w1 \w2
 \w2
 
 // Name: random_cow_pen
-18 * 11 02 04 FE 80 00 \b16 02
+19 * 11 02 04 FE 80 00 \b16 02
 \wx00FF // (1/2) -> (1/2): cow_pen_1;
 \wx00FE // (1/2) -> (1/2): cow_pen_2;
 
-19 * 21 00 04 \b5 01 FF \wx0000
+20 * 27 00 04 \b7 01 FF \wx0000
 08 "NML_"
+1D \wxDC00
+1C \wxC500
 10 \wx00A0
 11 00
 14 FF
 15 FF
 
-20 * 18 04 04 FF 01 \wxC400 "NML Example" 00
-
 21 * 21 04 04 FF 01 \wxC500 "CHIPS Cow pens" 00
 
 // Name: cow_pen_half - feature 04

Reply via email to