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-05-22 13:14:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nml (Old) and /work/SRC/openSUSE:Factory/.nml.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nml" Mon May 22 13:14:51 2023 rev:22 rq:1088321 version:0.7.3 Changes: -------- --- /work/SRC/openSUSE:Factory/nml/nml.changes 2023-04-18 15:53:00.869462180 +0200 +++ /work/SRC/openSUSE:Factory/.nml.new.1533/nml.changes 2023-05-22 13:14:57.458996654 +0200 @@ -1,0 +2,13 @@ +Mon May 22 09:44:03 UTC 2023 - Jan Baier <jba...@suse.com> + +- update to 0.7.3 + * Change: Extend vehicle random bits to 16. by @PeterN in #288 + * Support extended object/station/roadstop limits (draft) by @andythenorth in #287 + * Codechange: [Actions] Use 'gh' to upload release assets by @glx22 in #284 + * Add: STAT_ALL_TILES constant for use instead of 0xFF by @Brickblock1 in #283 + * Fix: [Actions] nmlc version could not be determined during regression by @glx22 in #285 + * Add: Support for {FORCE} string command by @glx22 in #289 + * Add: --no-32bpp and --no-extra-zoom option to skip some alternative sprites by @glx22 in #286 + * Update: changelog for 0.7.3 by @glx22 in #291 + +------------------------------------------------------------------- Old: ---- nml-0.7.2.tar.gz New: ---- nml-0.7.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nml.spec ++++++ --- /var/tmp/diff_new_pack.8pOxkn/_old 2023-05-22 13:14:58.050999584 +0200 +++ /var/tmp/diff_new_pack.8pOxkn/_new 2023-05-22 13:14:58.054999604 +0200 @@ -17,7 +17,7 @@ Name: nml -Version: 0.7.2 +Version: 0.7.3 Release: 0 Summary: NewGRF Meta Language License: GPL-2.0-or-later @@ -26,13 +26,12 @@ Source: https://github.com/OpenTTD/nml/releases/download/%{version}/%{name}-%{version}.tar.gz BuildRequires: gcc BuildRequires: python3-devel +BuildRequires: python3-setuptools # We need the required packages also on building for regression tests: -BuildRequires: python3-Pillow +BuildRequires: python3-Pillow >= 3.4 BuildRequires: python3-ply -BuildRequires: python3-setuptools -Requires: python3-Pillow +Requires: python3-Pillow >= 3.4 Requires: python3-ply -Requires: python3-setuptools Provides: nmlc = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ nml-0.7.2.tar.gz -> nml-0.7.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/PKG-INFO new/nml-0.7.3/PKG-INFO --- old/nml-0.7.2/PKG-INFO 2023-04-17 21:55:21.339739000 +0200 +++ new/nml-0.7.3/PKG-INFO 2023-05-21 23:10:48.262641400 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: nml -Version: 0.7.2 +Version: 0.7.3 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.2/docs/changelog.txt new/nml-0.7.3/docs/changelog.txt --- old/nml-0.7.2/docs/changelog.txt 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/docs/changelog.txt 2023-05-21 23:10:21.000000000 +0200 @@ -1,3 +1,18 @@ +0.7.3 (2023-05-21) +------------------------------------------------------------------------ +This release adds support for more objects, stations and roadstops. + +Support for NewGRF additions of OpenTTD 14: + - Change: Support extended object/station/roadstop limits. + - Change: Write extended bytes in Action 3 if ID is >= 0xFF. + - Change: Extend vehicle random bits to 16. (#288) + - Add: Support for {FORCE} string command (#289) + +Other changes and fixes: + - Add: STAT_ALL_TILES constant (for draw_pylon_tiles, hide_wire_tiles and non_traversable_tiles) (#283) + - Add: --no-32bpp and --no-extra-zoom options to skip some alternative sprites (#286) + + 0.7.2 (2023-04-17) ------------------------------------------------------------------------ This release adds support for vehicle variants and the road stops. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/__version__.py new/nml-0.7.3/nml/__version__.py --- old/nml-0.7.2/nml/__version__.py 2023-04-17 21:55:20.000000000 +0200 +++ new/nml-0.7.3/nml/__version__.py 2023-05-21 23:10:47.000000000 +0200 @@ -1,2 +1,2 @@ # this file is autogenerated by setup.py -version = "0.7.2" +version = "0.7.3" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/actions/action0.py new/nml-0.7.3/nml/actions/action0.py --- old/nml-0.7.2/nml/actions/action0.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/actions/action0.py 2023-05-21 23:10:21.000000000 +0200 @@ -194,7 +194,7 @@ BlockAllocation(88, 0xFFFF, "Road Vehicle"), BlockAllocation(11, 0xFFFF, "Ship"), BlockAllocation(41, 0xFFFF, "Aircraft"), - BlockAllocation(0, 255, "Station"), + BlockAllocation(0, 0xFFFE, "Station"), # UINT16_MAX - 1 BlockAllocation(0, 8, "Canal", False), BlockAllocation(0, 15, "Bridge", False), BlockAllocation(0, 255, "House"), @@ -205,12 +205,12 @@ BlockAllocation(0, -1, "Sound"), BlockAllocation(0, 127, "Airport"), BlockAllocation(0, -1, "Signal", False), - BlockAllocation(0, 255, "Object"), + BlockAllocation(0, 64000, "Object"), BlockAllocation(0, 63, "Railtype"), BlockAllocation(0, 255, "Airport Tile"), BlockAllocation(0, 62, "Roadtype"), BlockAllocation(0, 62, "Tramtype"), - BlockAllocation(0, 255, "RoadStop"), + BlockAllocation(0, 0xFFFE, "RoadStop"), # UINT16_MAX - 1 ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/actions/action2random.py new/nml-0.7.3/nml/actions/action2random.py --- old/nml-0.7.2/nml/actions/action2random.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/actions/action2random.py 2023-05-21 23:10:21.000000000 +0200 @@ -62,13 +62,13 @@ vehicle_random_types = { - "SELF": {"type": 0x80, "param": 0, "first_bit": 0, "num_bits": 8, "triggers": True}, - "PARENT": {"type": 0x83, "param": 0, "first_bit": 0, "num_bits": 8, "triggers": False}, - "TILE": {"type": 0x80, "param": 0, "first_bit": 0, "num_bits": 8, "triggers": False}, - "BACKWARD_SELF": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 8, "triggers": False, "value": 0x00}, - "FORWARD_SELF": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 8, "triggers": False, "value": 0x40}, - "BACKWARD_ENGINE": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 8, "triggers": False, "value": 0x80}, - "BACKWARD_SAMEID": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 8, "triggers": False, "value": 0xC0}, + "SELF": {"type": 0x80, "param": 0, "first_bit": 0, "num_bits": 16, "triggers": True}, + "PARENT": {"type": 0x83, "param": 0, "first_bit": 0, "num_bits": 16, "triggers": False}, + "TILE": {"type": 0x80, "param": 0, "first_bit": 0, "num_bits": 16, "triggers": False}, + "BACKWARD_SELF": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 16, "triggers": False, "value": 0x00}, + "FORWARD_SELF": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 16, "triggers": False, "value": 0x40}, + "BACKWARD_ENGINE": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 16, "triggers": False, "value": 0x80}, + "BACKWARD_SAMEID": {"type": 0x84, "param": 1, "first_bit": 0, "num_bits": 16, "triggers": False, "value": 0xC0}, } random_types = { 0x00: vehicle_random_types, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/actions/action2var_variables.py new/nml-0.7.3/nml/actions/action2var_variables.py --- old/nml-0.7.2/nml/actions/action2var_variables.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/actions/action2var_variables.py 2023-05-21 23:10:21.000000000 +0200 @@ -147,7 +147,7 @@ 'position_in_articulated_veh' : {'var': 0x4D, 'start': 0, 'size': 8}, 'position_in_articulated_veh_from_end' : {'var': 0x4D, 'start': 8, 'size': 8}, 'waiting_triggers' : {'var': 0x5F, 'start': 0, 'size': 8}, - 'random_bits' : {'var': 0x5F, 'start': 8, 'size': 8}, + 'random_bits' : {'var': 0x5F, 'start': 8, 'size': 16}, 'direction' : {'var': 0x9F, 'start': 0, 'size': 8}, 'vehicle_is_hidden' : {'var': 0xB2, 'start': 0, 'size': 1}, 'vehicle_is_stopped' : {'var': 0xB2, 'start': 1, 'size': 1}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/actions/action3.py new/nml-0.7.3/nml/actions/action3.py --- old/nml-0.7.2/nml/actions/action3.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/actions/action3.py 2023-05-21 23:10:21.000000000 +0200 @@ -74,13 +74,13 @@ def write(self, file): size = 7 + 3 * len(self.cid_mappings) - if self.feature <= 3: - size += 2 # Vehicles use extended byte + if self.feature <= 3 or self.id >= 0xFF: + size += 2 # Vehicles or IDs >= 255 use extended byte file.start_sprite(size) file.print_bytex(3) file.print_bytex(self.feature) file.print_bytex(1 if not self.is_livery_override else 0x81) # a single id - file.print_varx(self.id, 3 if self.feature <= 3 else 1) + file.print_varx(self.id, 3 if self.feature <= 3 or self.id >= 0xFF else 1) file.print_byte(len(self.cid_mappings)) file.newline() for cargo, cid, comment in self.cid_mappings: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/ast/alt_sprites.py new/nml-0.7.3/nml/ast/alt_sprites.py --- old/nml-0.7.2/nml/ast/alt_sprites.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/ast/alt_sprites.py 2023-05-21 23:10:21.000000000 +0200 @@ -30,8 +30,10 @@ "ZOOM_LEVEL_OUT_4X": 4, "ZOOM_LEVEL_OUT_8X": 5, } +allow_extra_zoom = True bit_depths = {"BIT_DEPTH_8BPP": 8, "BIT_DEPTH_32BPP": 32.0} +allow_32bpp = True class AltSpritesBlock(base_statement.BaseStatement): @@ -86,7 +88,7 @@ ) global any_32bpp_sprites if self.bit_depth == 32: - any_32bpp_sprites = True + any_32bpp_sprites = allow_32bpp if len(param_list) >= 4: self.image_file = param_list[3].reduce() @@ -111,6 +113,8 @@ self.sprite_list = sprite_list def pre_process(self): + if (self.bit_depth == 32 and not allow_32bpp) or (self.zoom_level != 0 and not allow_extra_zoom): + return block = sprite_container.SpriteContainer.resolve_sprite_block(self.name) block.add_sprite_data( self.sprite_list, self.image_file, self.pos, self.zoom_level, self.bit_depth, self.mask_file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/global_constants.py new/nml-0.7.3/nml/global_constants.py --- old/nml-0.7.2/nml/global_constants.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/global_constants.py 2023-05-21 23:10:21.000000000 +0200 @@ -373,6 +373,9 @@ "STAT_FLAG_CUSTOM_FOUNDATIONS" : 3, "STAT_FLAG_EXTENDED_FOUNDATIONS" : 4, + # station tiles + "STAT_ALL_TILES" : 0xFF, + # station animation triggers "STAT_ANIM_IS_BUILT" : 0, "STAT_ANIM_CARGO_ARRIVES" : 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/grfstrings.py new/nml-0.7.3/nml/grfstrings.py --- old/nml-0.7.2/nml/grfstrings.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/grfstrings.py 2023-05-21 23:10:21.000000000 +0200 @@ -240,6 +240,7 @@ "CARGO_SHORT": {"unicode": r"\UE09A\1C", "ascii": r"\9A\1C", "size": 2 * 2}, "CARGO_TINY": {"unicode": r"\UE09A\1D", "ascii": r"\9A\1D", "size": 2 * 2}, "CARGO_NAME": {"unicode": r"\UE09A\1E", "ascii": r"\9A\1E", "size": 2}, + "FORCE": {"unicode": r"\UE09A\21", "ascii": r"\9A\21", "size": 4}, # Colors "BLUE": {"unicode": r"\UE088", "ascii": r"\88"}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml/main.py new/nml-0.7.3/nml/main.py --- old/nml-0.7.2/nml/main.py 2023-04-17 21:54:52.000000000 +0200 +++ new/nml-0.7.3/nml/main.py 2023-05-21 23:10:21.000000000 +0200 @@ -87,6 +87,8 @@ verbosity=generic.verbosity_level, rebuild_parser=False, debug_parser=False, + allow_extra_zoom=True, + allow_32bpp=True, ) opt_parser.add_option("-d", "--debug", action="store_true", dest="debug", help="write the AST to stdout") opt_parser.add_option("-s", "--stack", action="store_true", dest="stack", help="Dump stack when an error occurs") @@ -218,6 +220,10 @@ const=generic.Warning.DEPRECATION, help="Disable deprecation warnings", ) + opt_parser.add_option( + "--no-extra-zoom", action="store_false", dest="allow_extra_zoom", help="Skip extra zoom alternative sprites" + ) + opt_parser.add_option("--no-32bpp", action="store_false", dest="allow_32bpp", help="Skip 32bpp alternative sprites") opts, args = opt_parser.parse_args(argv) @@ -225,6 +231,8 @@ generic.Warning.disabled = opts.disable_warning generic.set_cache_root_dir(None if opts.no_cache else opts.cache_dir) spritecache.keep_orphaned = opts.keep_orphaned + alt_sprites.allow_extra_zoom = opts.allow_extra_zoom + alt_sprites.allow_32bpp = opts.allow_32bpp opts.outputfile_given = ( opts.grf_filename or opts.nfo_filename or opts.nml_filename or opts.dep_filename or opts.outputs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nml-0.7.2/nml.egg-info/PKG-INFO new/nml-0.7.3/nml.egg-info/PKG-INFO --- old/nml-0.7.2/nml.egg-info/PKG-INFO 2023-04-17 21:55:21.000000000 +0200 +++ new/nml-0.7.3/nml.egg-info/PKG-INFO 2023-05-21 23:10:47.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: nml -Version: 0.7.2 +Version: 0.7.3 Summary: An OpenTTD NewGRF compiler for the nml language Home-page: https://github.com/OpenTTD/nml Author: NML Development Team