0.3.0 (tbd) ------------------------------------------------------------------------ - 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 (fixes #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 docuemnt 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 (tbd) ------------------------------------------------------------------------ - 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.