NML 0.4.0 released

NML 0.4.0 is released. It requires python3.2+ now and offers improved NewGRF support and gains much speed by using caching for sprite encodings
Added by planetmaker almost 2 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 http://bundles.openttdcoop.org/nml/releases/0.4.0/changelog.txt
Get the latest release version from the bundles server: http://bundles.openttdcoop.org/nml/releases/LATEST/

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.