NML repo moved to GitHub

Added by andythenorth over 2 years ago

The NML repo has moved to GitHub

As of December 2018 issues are still on devzone. That may change in future.

NML 0.4.2 released

Added by planetmaker almost 6 years ago

0.4.2 (2015-09-13)

-Add: New industry type limits of OpenTTD 1.6
-Fix: [CF] Build the version which is asked to be built instead of tip
-Fix: Mark the cython acceleration module as optional.
-Fix #7641: Sort gender and case translation tables deterministically (matthijs)
-Fix #7640: Use dashes, not hyphens in manpage (matthijs)
-Fix: getbits
-Fix #7336: Action 6 offset was off by one for VA2 ranges when using a list of expressions in a switch.
-Fix #7185: Incorrect Action6 offsets for Production Action2.
-Doc: Be more verbose about and remove bootstrap from manifest as well

NML 0.4.1 released

Added by planetmaker over 6 years ago

This version adds access to the additional rocky tiles as of OpenTTD r27220 and adds a new 'getbits' function.
But it mainly fixes the packaging issues as experienced with NML 0.4.0:

  • Add: second_rocky_tileset
  • Add: Build-in function 'getbits'
  • Change: Try to improve packaging by applying some in-built automatisms via find_package() (oberhumer) (issue #7540)
  • Fix: Building source bundle was broken
  • Fix: Version identification for tags
  • Doc: Update readme with python version info
  • Cleanup: Remove pre-OpenTTD-1.1 wrappers for SHIFT_LEFT, SHIFT_RIGHT and SHIFTU_RIGHT.
  • Cleanup: Remove bootstrap

Note to package maintainers:

  • Bundles should now contain again everything needed to build NML
  • Naming of the files changed back to a scheme following nml-VERSION.PLATFORM.tar.gz

NML 0.4.0 released

Added by planetmaker over 6 years ago

This version brings some major changes compared to the 0.3.x versions:

  • Conversion to python3. The minimum required python version now is python 3.2.
  • Rigerous caching of real sprites. This improves encoding speed a lot on subsequent runs, especially for NewGRFs with many real sprites, more so for 32bpp
  • Statistics on the NewGRF on used IDs for vehicles, houses, etc as well as available switches, parameters etc
  • Feature: [NewGRF] create_effect and effect_spawn_model
  • Feature: [NewGRF] EFFECT_SPRITE_NONE constant for create_effect callback
  • Feature: [NewGRF] support for OTTD_RECOLOUR action5 sprite(s)
  • Feature: [NewGRF] Support for Latin
  • Feature: [NewGRF] Variable to test for enabled wagon speed limits. (issue #6474)
  • Feature: [NewGRF] Warn about usage of animation and semi-transparent colours, and add spriteset flags to enable/disable the checks. (issue #1085)
  • Fix: [NewGRF] Number of vehicles in var 41 is one-based, only var 40 is zero-based.
  • Fix: [NewGRF] Patch flags can only be accessed via action 7/9. (issue #6996)
  • Fix: [NewGRF] Action7/9 bit tests must use varsize 1.

There's numerous other fixes, changes and additions. For a full changelog, see
Get the latest release version from the bundles server:

Note to package maintainers:

  • Dependency change: python 3.2+
  • Dependency change: preferably use pillow for python3 as imaging library instead of PIL.
  • Build requirement change (optional): c compiler needed to build the optional cython module for grf encoding (nml/_lz77.c). It's an optional speed improvement over the python-only implementation.

NML now using python 3.2+

Added by planetmaker about 7 years ago

Today Alberth and myself changed the required python version of NML nightly versions and a future NML 0.4.0 to python 3.2 or newer as python2 is slowly phasing out, and also the imaging module is better supported with python3. For some time there will continue be updates to the 0.3 branch as well with an occasional maintenance release, though.

If you're on windows, this is of little consequence to you, we continue to provide an exe file which can be used out-of-box, now based on python 3.3.

If you're on OSX or linux and use nmlc from a repository checkout, you'll want to use the package manager of choice and install python3 and python3-ply and python3-pillow (or called python3-imaging or similar).

If you encounter any problems, please let us know :)

Also package maintainers may consider to already look into updating their dependency lists accordingly

Alberth & planetmaker

NML 0.3.1 released

Added by planetmaker about 7 years ago

This is a maintenance release for the 0.3 branch of NML.

It brings a few user-visible changes by introducing new variables:
vehicle variable vehicle_is_unloading and object variable nearby_tile_object_view, introduces new string commands CARGO_LONG, CARGO_SHORT and CARGO_TINY and the house callback result CB_RESULT_HOUSE_NO_MORE_PRODUCTION.

Notably for packagers or users of old(er) systems: NML requires python 2.6 or 2.7 henceforth, the support for python 2.5 is dropped. This version also fixes a problem with the reported version in the source tar ball as found in the previous release. Additionally a python-2.7 egg can be downloaded from the bundle site.

Happy NewGRF-ing

NML 0.2.4 released

Added by yexo almost 9 years ago

Mostly a bug-fix release for the 0.2 branch, but it also adds some minor features mostly in the form of previously unsupported variables/callbacks. The decision to add those features was made because the 0.3 branch which is currently work-in-progress does not and will not support OpenTTD 1.1 and older. Since there are still people wanting to make their NewGRFs available for people with older OpenTTD versions they can keep using the 0.2 branch.

Full changelog for this release:
- Feature: Report NML line information as well as pixel position for pure white pixels. Also, report number of pixels in the sprite, instead of the whole image. (issue #4029)
- Feature: 'signals' callback for railtypes.
- Feature: Allow the 'nfo' unit to be used with non-constant values. (issue #3828)
- Feature: 'build_prod_change' callback for industries to set industry production level on construction.
- Feature: Vehicle misc_flag VEHTYPE_FLAG_NO_BREAKDOWN_SMOKE.
- Feature: 'current_max_speed' variable for vehicles. (issue #3979)
- Feature: 'vehicle_is_in_depot' variable for aircraft.
- Feature: 'range' property and callback for aircraft.
- Feature: 'production_rate_1/2' variables for industries.
- Feature: 'town_zone' variable for railtypes.
- Feature: 'other_veh_(curv_info|is_hidden|x_offset|y_offset|z_offset)' variables for vehicles.
- Fix: Provide a proper error message when running out of action2 IDs
- Fix: A '{' at the end of a string could cause a crash
- Fix: Backslash-escapes in strings weren't properly validated. Also remove useless \n escape. (issue #3636)
- Fix: Provide a proper error message if a substring is missing, instead of an assertion error. (issue #3932)
- Fix: 'refit_cost' callback may also be called from the purchase menu.
- Fix: Allow using constants > 255 as variable parameter. (issue #4086)
- Fix: Sprite layout register code contained an unsorted iteration over dictionary keys, resulting in possible regression failures.

NML 0.2.1 released

Added by yexo over 9 years ago

A bug-fix release from the 0.2 branch. No major new features, just a few new constants to make porting projects to NML 0.3 easier and some bug-fixes.

  • Add: CB_RESULT_NO_MORE_ARTICULATED_PARTS, CB_RESULT_REVERSED_VEHICLE and CB_RESULT_NO_TEXT as constants to make porting projects to NML 0.3 easier.
  • Fix: Internal error when the ID in a replace-block was not a compile-time constant
  • Fix: Crash when referencing a SpriteSetCollection in a graphics-block that was inside an if-block
  • Fix: Text files in docs/ were not included in source package
  • Doc: Add GPL v2 header to all .py files

NML 0.2.0 released

Added by yexo over 9 years ago

1.5 years after starting with NML we can finaly released version 0.2.0. The list of features, changes and fixes since 0.1 is too long to list. If all the features you want are supported by NML 0.2, we urge you to keep using it. NML 0.3 might have a few syntax-breaking changes, although we'll try to prevent that.

The 0.2 branch will be updated for a while with fixes, and this will be the last version to support OpenTTD 1.1.x. Starting with 0.3, NML will put it's focus on OpenTTD 1.2+.


Also available in: Atom