0.3.1 (2014-05-10) ------------------------------------------------------------------------ - Add: String commands CARGO_LONG, CARGO_SHORT and CARGO_TINY - Add: Object variable 'nearby_tile_object_view' - Add: Vehicle variable 'vehicle_is_unloading' - Add: House callback result 'CB_RESULT_HOUSE_NO_MORE_PRODUCTION' - Fix: Typo-fix in font_glpyh block name. - Fix: Error in raising an error in format_string - Fix: Don't catch more exception than expected, comment typo fixes, removed empty line - Fix: Report error from the spriteview position, instead of using a non-existing variable. - Fix: Do not report a position using a non-existing instance variable. - Fix: Don't crash on raising None after printing a warning. - Fix: Add also rpm spec file and syntax highlighting creation scripts to source distribution - Doc: Additional documentation, small fixes/improvments. - Change: Drop Python 2.5 support. 0.3.0 (2014-01-01) ------------------------------------------------------------------------ - Feature: use grf container format v2, nfo v32 and grf v8 - Feature: Support for alternate sprites, including 32bpp - Feature: Support for houses - Feature: Configurable volume for sound effects - Feature: Support pillow image library as well (Toshio Kuratomi) (issue #4799) - Feature: Remove the 64 kiB file size limit on sound effects - Feature: Vehicles: Deprecate property 'refittable_cargo_types' (issue #3583) - Feature: Vehicles: Add property 'default_cargo_type' for trains, RVs and ships (issue #3571) - Feature: Vehicle properties cargo_allow_refit and cargo_disallow_refit - Feature: Vehicles variables curvature info: 'curv_info', ' curv_info_prev_cur', 'curv_info_cur_next' and 'curv_info_prev_next' (variable 0x62) - Feature: Vehicles variables 'position_in_articulated_veh' and 'position_in_articulated_veh_from_end' (var 0x4D) - Feature: Canals variable 'dike_map' (variable 0x82) - Feature: Base-station variables for airports and stations - Feature: Station variables - Feature: Objects property 'count_per_map256' - Feature: General variables 'base_sprite_foundations' and 'base_sprite_shores' (variables 0x15 and 0x16) - Feature: Cargo property 'capacity multiplier' (property 0x1D) - Feature: Allow outputting multiple sprites per real sprite slot (issue #3712) - Feature: Labels for recolour sprites, as for real sprites - Feature: use language code instead of number as argument for ##grflangid pragma in language files (issue #3960) - Feature: Improved error output (issue #2929, #3814, #4736, #4299, #5411, #6209) - Feature: Unit conversions for non-constant values (issue #3828) - Feature: Builtin function format_string(format, args) (issue #4074) - Feature: Cache real sprites when building a GRF, to reduce compilation time - Feature: Allow using 'default: foo' in switch-blocks, or omitting the default altogether (issue #4186) - Feature: Check for identical language IDs in the different language files (issue #4997) - Feature: Verify whether translations use the plural form expected by their language - Feature: Consider file system paths case-insensitive at all systems (issue #5429) - Change: Vehicles: 'length' property and callback for trains and RVs (replaces 'shorten_vehicle') - Change: Vehicles: No longer set the default cargo automatically (issue #3571) - Change: Rework the RV speed property, so it works with non-constant values (issue #3828) - Change: Merge aircraft properties 'is_helicopter' and 'is_large' into a single common property 'aircraft_type' (issue #3700) - Change: Rename LOADINGSTAGE_XXX to LOADING_STAGE_XXX - Change: Canals: variable 'tile_height' now returns height in tiles - Change: Rename 'availability' callback to 'construction_probability' - Change: snowline_height is in tiles - Change: Output cropping debug output to stderr instead of stdout - Change: Unlink .grf file before write (issue #4165) - Change: Let item ID -1 mean 'use default ID' (as if no ID was specified) - Change: Don't always set the same property value for all tiles, only do so when appropriate - Change: Allocate parameters starting at 127 instead of 64 (issue #4222) - Change: improve optimization for expressions containing comparison operators by marking them as "return bool" - Change: Modify version output to always give the version and revision, for both, releases and nightlies - Change: delay changing not into xor with 1 to the last moment, it's not efficient when doing the computations via actionD, only for action2 - Change: use the location of the version_info.py file instead of the current repo's version (issue #5513) - Feature: Maintenance cost properties for airports and railtypes - Feature: New base costs for property maintenance - Add: max_height_level variable - Add: a few constants for generic groundsprites in the baseset - Add: new constant CB_RESULT_NO_TEXT for use in cargo_subtype_(text/display) - Add: Alternative railtype label list (issue #3459) - Add: New property 'value_function' for action 0 properties - Add: Command-line parameter '--no-cache' (-n) to disable caching of real sprites. Enable this parameter in the regression makefile for the NML-output to NFO/GRF compilation step - Add: Command-line parameter '--quiet' to disable all warnings (issue #3106) - Add: Command-line parameter '--md5' to write md5sum of grf to another file (issue #3732) - Add: NML output for item size and sprite layout parameters - Add: Language files: ##map_case pragma similar to ##map_gender - Add: TILE_CLASS_VOID to allow checking for map border and to have a constant when using nearby_tile_class on it - Add: Scripts to create syntax highlighting file for kate and notepad++ - Add: misc object flag 'OBJ_FLAG_SCALE_BY_WATER' to influence amount of objects placed on maps - Add: Support for Scottish Gaelic - Fix: hardcoded path in .devzone/build/files caused errors with new CF (issue #3267) - Fix: proper error message when input nml is not utf-8 encoded (issue #3233) - Fix: also use the filename in error messages if it isn't preprocessed by gcc but directly supplied as input file - Fix: provide proper error message when running out of parameter or label numbers - Fix: it was not possible to use constants in the -part of an item-block - Fix: Rename all occurences of 'base_sprites' to 'base_graphics', to avoid possible confusion such as wrong NML output - Fix: Real sprite lists may contain unexpanded templates, so comparing their lengths makes no sense - Fix: only reduce start_id argument to replace-block during pre-process stage (issue #3744) - Fix: with statement needs import from future for python 2.5 - Fix: Fix tile compression to remove some useless (for grfv2) code and add a missing check for the chunk length (issue #3785) - Fix: Sprites with long format (!= long chunks) tile compression had incorrect offsets - Fix: some string industry properties didn't accept a string as value - Fix: do palette conversion before putting the sprite data in a tuple - Fix: ind. tile 'autoslope' cb num was set to 0x3B instead of 0x3C - Fix: compatibility with python 2.5 (issue #3998) - Fix: provide file/line information when detecting an error in a string even when in a later stage (issue #3898) - Fix: Backslash-escapes in strings weren't properly validated. Also remove useless \n escape (issue #3636) - Fix: Proper handling of failed callbacks (issue #2933) - Fix: Provide a proper error message if a substring is missing, instead of an assertion error (also issue #3674) (issue #3932) - Fix: Use translations for statically included string parameters if possible, even if the base string is not translated (issue #3642) - Fix: Proper error message when running out of switch registers (issue #3082) - Fix: Don't use a string instead of a position object (issue #4063) - Fix: We should always round floats, but not try to round everything else - Fix: refit_cost callback may also be called from the purchase menu - Fix: Publishing one of the generated grfs is enough. Especially if they would overwrite eachother on publishing - Fix: Make ActionA work for more than 255 consecutive sprites - Fix: applying operator ! to a constant number didn't work (issue #4458) - Fix: Missing range check for callback results could cause assertions (issue #4769) - Fix: Cache white pixel messages (issue #4760) - Fix: Random switch interdependencies were messed up (issue #4742) - Fix: Rail type and snowline table action6 offsets weren't updated when changing ID to an extended byte (issue #4787) - Fix: Incorrect action 6 offset in random action 2 (issue #4730) - Fix: Use the same (decimal) numbering scheme for plurals in language files as OpenTTD (issue #4811) - Fix: cargo_age_period is property 2B, not 28. A typo caused CB36 to fail - Fix: Position information for errors regarding sound file includes was missing / broken (issue #4850) - Fix: Give the expected default lang file name in case it wasn't found - Fix: Road vehicle speed was incorrectly set for vehicles faster than 70mph (issue #5336) - Fix: Object variable 'company colour' returned faulty values (issue #5624) - Fix: Snowline code still generated GRFv7 output (issue #5609) - Fix: Town name parts could end up with more than 255 entries - Fix: Also add offset when skipping fixed rail types - Fix: Don't loop forever on / paths (issue #6209) - Fix: adjust_value had tendency to take the value higher than the wanted - Fix: aircraft speed property conversion didn't do the conversion from (issue #4667) - Fix: For houses without any callbacks a dummy VA2 with zero cases was created, which unintentionally returned a computed value (issue #5294) - Fix: P string command shall default to the previous parameter (issue #6503) - Doc: add abstract base class to document Action0Property and relatives - Doc: RPM build spec - Doc: why the default language is processed twice - Doc: Add some code documentation to the grfstrings.py file - Remove: Ability to save 32bpp sprites as pngs, and lots of other stuff that won't be needed anymore - Remove: Deprecated refittable_cargo_types property. Instead zero it upon writing a different refit property, to avoid possible conflicts with other grfs (issue #3583) - Remove: Unused command-line parameter 'sprites-dir.' - Remove: Cargo properties single_unit_text and multiple_units_text 0.2.5 (2014-01-01) ------------------------------------------------------------------------ - Feature: Support pillow image library as well (Toshio Kuratomi) (issue #4799) - Change: Modify version output to always give the version and revision, for both, releases and nightlies - Add: New GUI sprite in OpenTTD r24749, r25293, r25344 and r25916 - Fix: Use the correct version_info.py file instead of the current repo's version (issue #5513) - Fix: Town name parts could end up with more than 255 entries - Fix: Also add offset when skipping fixed rail types - Fix: adjust_value had tendency to take the value higher than the wanted value - Fix: aircraft speed property conversion didn't do the conversion from (issue #4667) 0.2.4 (2012-10-14) ------------------------------------------------------------------------ - 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: Constant CB_RESULT_REFIT_COST_MASK - 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 0.2.3 (2012-02-19) ------------------------------------------------------------------------ - Feature: Action5 for tunnel portals - Fix: Properly catch out-of-bounds image reads (issue #3666) - Fix: Character code 0xA0 (NBSP) is used for an up arrow in TTD, so don't write it as ascii. Force unicode instead (issue #3643) 0.2.2 (2012-01-29) ------------------------------------------------------------------------ - Feature: support for (optional) url-information in the grf-block - Feature: names for newly defined cargo classes: CC_POWDERIZED and CC_NEO_BULK - Feature: clean target to Makefile in main dir and let make clean remove regression/parsetab.py - Fix: don't crash when a line in custom_tags.txt is missing a colon delimiter - Fix: each action4 is limited to 255 strings. Write multiple actions when we have more than that - Fix: groff warning about manpage - Fix: include buildout.cfg in src distribution and prune regression/nml_output/ (issue #3490) - Fix: Add NML output for replacenew-block (issue #3450) - Fix: include nmlc script so regression runs out-of-the-box for source package - Fix: several files from examples/ were missing in source distributions - Fix: 'make install' was broken - Doc: add notice about ZPL in readme.txt 0.2.1 (2011-12-18) ------------------------------------------------------------------------ - Feature: 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 0.2.0 (2011-11-20) ------------------------------------------------------------------------ No changelog available for 0.2.0 and earlier