The Battle for Wesnoth v1.17.6 Release Notes

  • ### Campaigns

    • The South Guard
      • S4: Fixed replay OOS on victory event (issue #6832)
    • Under the Burning Suns
      • S8: Fixed replay OOS on victory event (issue #6267)
    • World Conquest
      • Fixed Bezoar artifact being bugged and broken. ### Lua API
    • New wesnoth.interface.screen_fade function applies an overlay colour to the game display, fading over the given duration (PR #6864).
    • New functions have been added to register game events from Lua: wesnoth.game_events.add, wesnoth.game_events.add_menu, wesnoth.game_events.add_repeating, wesnoth.game_events.add_wml.
      • Both the action and the filter can now be a native Lua function, if needed.
      • All features of the [event] tag are available.
      • The primary API is wesnoth.game_event.add - the others are shortcuts for common use-cases.
    • wesnoth.game_events.fire (renamed from wesnoth.fire_event) now supports passing unusual event-specific data such as damage in an attack event or previous owner in a village capture event.
    • wesnoth.fire_event_by_id is renamed to wesnoth.game_events.fire_by_id.
    • wesnoth.current.event_context now has an additional data attribute that contains the full event data, including the former owner in a village capture event (which was previously never exposed anywhere).
    • wesnoth.remove_event_handler renamed to wesnoth.game_events.remove for consistency with other event functions. ### Packaging
    • Increased minimum required version of SDL to 2.0.10 for non-macOS platforms.
    • Increased minimum required version of SDL to 2.0.22 and the minimum required OS version to 10.12 for macOS due to needing the fix https://github.com/libsdl-org/SDL/commit/3bebdaccb7bff8c40438856081d404a7ce3def30. ### Rendering Engine
    • Large changes have been made to Wesnoth's rendering engine, enabling hardware acceleration for the majority of components and resolving many long-standing issues. Performance should be greatly increased, and CPU and GPU usage greatly decreased in almost all situations. Issues confirmed resolved: #1291, #1350, #1605, #1755, #2059, #2458, #2618, #2865, #3238, #3255, #3421, #3592, #3798, #3937, #4210, #4460, #4877, #5115, #5420, #5494. ### Translations
    • Updated translations: Arabic, British English, Czech, Finnish, French, Italian, Japanese, Swedish ### Units
    • Fixed Warden’s and Arbiter’s animations popping on water tiles (issue #6508)
    • Updated some Loyalist sprites: Sergeant, Lieutenant, Swordsman, Pikeman, Royal Guard, Halberdier
    • Animations for Nightgaunt ### WML Engine
    • A new interface action [screen_fade] provides a smooth screen fade effect which also covers units (issue #6745).
    • Events now support filter conditions using the Wesnoth Formula Language with a new filter_formula key.
    • It is now possible for variable interpolation in an event name to expand to multiple event names - the name is split on commas both before and after variable interpolation.
    • The [fire_event] tag now supports a [data] subtag that can be used to pass any arbitrary information to the event. In particular, it supports passing damage to an attack event and former owner to a village capture event. ### Miscellaneous and Bug Fixes
    • Fixed being unable to interact with units when Scroll Lock is active (issue #6759)
    • Fixed the addon manager UI blanking incorrectly (issue #6787)
    • Implemented a workaround for bad SDL rectangle drawing in some versions (issue #6799)