This allows passing an explicit path on Mac (instead of using the automatic -p xcode option), since the binary is not named "wesnoth" on that platform.
SUPPORT.md was a small subset of CONTRIBUTING.md, and CONTRIBUTING.md no longer has a TOOD section and so should be moved to where more people will see it.
Adjusted the weather change effect from side 3 turns to side 1 turns. Side 1 is never empty so it would bypass the side 3 as empty cheat which impeded weather changed.
The log handler does some kind of per-line sorting of these, so a single deprecation warning ends up with the detail line first and the message line second (line order reversed). When there are multiple deprecation messages, their detail lines and message lines get jumbled together. This seems to be tied together with how it detects repeated instances of the exact same error/warning, so putting both the message and the detail on the same line is much simpler than tinkering with that.
It *is* a built-in library, but it changes over time. It may prove
useful in future times to be able to readily tell what Lua version is
attached to a particular Wesnoth dev version since it's harder to keep
track of singular releases (e.g. I don't remember which dev release
upgraded us to Lua 5.4 right now).
To report the WFL call stack in the event of errors, a static stack is used to
record that call-stack. This wasn't thread-safe, and it intermittently crashed
when the game config was movetype patching (the other WFL thread involved is
the GUI2 layout code).
Also a Rule of Three fix for the call_stack_manager class. While this wasn't
the cause of the crash, it could also have lead to a call_stack.pop_back() on
an empty stack.
These would also pass on 1.14, checking that movement does affect vision if and
only if vision hasn't been modified separately. The comments talk about an
[effect]also_apply_to_vision= attribute which hasn't been added yet, the aim of these
tests is to regression test that attribute when it is added.
desktop/version: Use systemd's os-release file if available
This allows us to obtain the OS version without blocking for a
long amount of time waiting for lsb_release (which is deprecated
anyway).
The parsing is intentionally basic.
The trait should not be inside a [modifications] block.
The store/unstore that happens later probably rebuilt the unit, thus applying
the TRAIT_LOYAL; that's unnecessary when the [modifications] tag is removed.