The Battle for Wesnoth v1.15.13 Release Notes

  • ### Add-ons client

    • The details panel now shows the list of tags in each add-on.
    • Added a filter based on tags. ### Lua API
    • Added pango_color to the wesnoth.colors table, for easy use in formatted text.
    • Add new function filesystem.resolve_asset to convert [binary_path] relative paths to data-relative paths.
    • Add new function filesystem.have_asset which can determine if an image or sound exists.
    • wesnoth.have_file, wesnoth.read_file, wesnoth.image_size moved to new filesystem library
    • Add a more advanced way of manipulating version strings via wesnoth.version constructor function.
    • Add a wesnoth.scenario data module that consolidates everything there is to know about the current scenario. Much of this information was previously available through wesnoth.game_config, but there are some new details too.
    • Fixed a regression introduced in 1.15.5 causing GUI2 widgets set to a hidden state to remain visible but not able to be interacted with.
    • Fixed a regression introduced in 1.15.5 causing GUI2 listboxes to break when cleared and re-filled under certain circumstances. ### Packaging
    • Increased minimum required version of SDL to 2.0.8 (PR #5736). ### Translations
    • Updated translations: British English, Czech, Dutch, Italian, Russian. ### Units
    • Horses added
    • Seahorse added
    • Zombie horse variation added
    • Update piglet/boar graphics ### User interface
    • The multiplayer "turns over" dialog now uses each team's colors when showing teams' names. ### WML Engine
    • Modify implementation of overwrite_specials attribute for replace yes/no parameter by none/one_side/both_sides and select abilities used like weapons and specials who must be overwrited(owned by fighter where special applied or both)
    • Add a ability_id_active attribute to [filter]
    • [terrain_mask] now accepts mask_file as an alternative to an inline mask. The file is loaded from the same place as map_file in the [scenario] tag (ie, a maps/ subdirectory of your binary path). Anyone who prefers to keep masks separate from regular maps is free to make a subdirectory for their masks (or just keep all their masks inline).
    • [effect]apply_to=movement now always affects vision too, except when given the apply_to_vision=no attribute ### Miscellaneous and Bug Fixes
    • More optimization in the UI drawing code, fixes the crash displaying the full credits (issue #5043).
    • Made GUI.pyw compatible with Python 3.9 (issue #5719).
    • Removed workarounds for bugs affecting older SDL 2.0 versions, including an extra copy of the game screen made during gamemap scrolling (PR #5736).
    • FPS values calculated when the :fps or :benchmark are now written to a file which can then be used to track FPS values over time.
    • Removed old image optimisation scripts, as there's a rewrite in Python.