1.17.6
Campaigns
- The South Guard
- S4: Fixed replay OOS on victory event (issue #6832)
- S4: Fixed replay OOS on victory event (issue #6832)
- Under the Burning Suns
- S8: Fixed replay OOS on victory event (issue #6267)
- S8: Fixed replay OOS on victory event (issue #6267)
- World Conquest
- Fixed Bezoar artifact being bugged and broken.
- 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.
- Both the action and the filter can now be a native Lua function, if needed.
- `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)