This both silences a wmllint warning about special notes and ensures
that the special notes displayed in the unit's description in-game are
consistent with the two variations for this unit type (not that many
people will ever get to see the pre-reveal variation's anyway).
No translatable string changes.
Silences a newly introduced wmllint warning.
No effective changes since the engine sees these as synonymous when only
one of the attributes is present.
Silences a newly introduced wmllint warning.
No effective changes since the engine sees these as synonymous when only
one of the attributes is present.
Silences a newly introduced wmllint warning.
No effective changes since the engine sees these as synonymous when only
one of the attributes is present.
Using #warning or #error at the very end of a file would generate a
trailing garbage character in diagnostics, apparently caused by
read_rest_of_line() checking for EOF before the stream can actually know
it's at EOF.
I'm not good at streams, but this fixes the bug for me with no
regressions, and the function in question is only used by the
code handling #warning/#error anyway.
This is somewhat incomplete, but already covers most core functionality
and helped uncover an important bug in the BFS implementation (see
commit 1c927c8407).
Most notably, normalize_path() isn't tested yet, as well as corner cases
with empty strings and get_wml_location().
This is essentially a port to the BFS implementation of the fs API of
commits 314425ab0e and
9f458d1bb2, which were authored separately
from the BFS branch.
Note that this introduces another disparity in behavior between the BFS
and legacy implementations of this API, in that the BFS
get_wml_location() function will now always start at <data dir>/data/
instead of starting at <data dir> in obscure border cases. This is
expected to have no impact on anything at all for reasons discussed on
IRC.
wesnoth.get_locations includes border hexes, so they need to be
excluded specifically. Previously this could cause error messages and
the CA to be blacklisted.
The problem is due to a dog adjacent to a sheep being excluded from the
dog_move CA (so that it can act further later on in case the sheep
moves again). It is fixed by adding another CA at the end that simply
takes all moves away from all dogs once all other CAs are done.
Hexes occupied by allied units were previously not excluded properly by
the AI, which could lead to error messages and the candidate action to
be blacklisted.