NML:Changes 0.4

From GRFSpecs
Revision as of 13:12, 19 February 2015 by Planetmaker (talk | contribs) (Changes in NML 0.4.0)
Jump to navigationJump to search

Change to python3

With NML 0.4 we change some of its foundations, it now is written in python3 and requires python 3.2 or newer. Requirements are:

  • python 3.2 or newer
  • python3-pillow (imaging library)
  • python3-ply (lexer library)

Other changes

  • New warnings about and flags for realsprites: (NO)ALPHA, (NO)WHITE and (NO)ANIM. See explanation in realsprite page.
  • 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 translations
  • 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)

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.