"campaign_name" is not an existing attribute in the given config anymore.
An addon should only contain a single toplevel dir tag with the name of the addon anyway.
This adds "+" for Zoom-in as an additional hotkey (without removing the previously set value).
The "=" key doesn't seem to work when pressing it from a keyboard layout such as German Qwerty in Windows. It's also against the user's expectations that if we accidentally press on "minus" causing the map to zoom out, the expectation would be for the opposite operation to be "plus".
The movetype's special notes were becoming a new note for the individual unit.
Clean up the documentation on some of movetype's functions, as they had
documentation in both the .hpp and the .cpp.
Move `event_name_variable_substitution` to the top of the file, as it's testing
that the event triggers at all, before the tests that check which order the
events are triggered in.
The old `order_of_variable_events1` seemed to be a combination of two tests that
should exist, but the code didn't quite test either of them. This replaces it
with a new `order_of_variable_events1` and `order_of_variable_events3`.
Docs partially written by Pentarctagon, this started as a review comment
on the documentation PR.
when returning by value, the ideal way to store the returned value is
another value - using a const& works only because of how c++ prolongs
the lifetime of temporaries with const&'s
use move on strings that get destroyed at scope end
fix some formatting differences between a couple functions (parens,
spaces)
formatting to match the coding guidelines, including fixing up existing code
use [] to be consistent with the file
put { on the same line as for and if
C++20 will add std::erase_if as a convenience wrapper around std::remove_if,
handling the subsequent call to std::vector::erase. This simplifies readability,
avoiding the need to either store the result of std::remove_if in a temporary
or to put the second argument of vector::erase after the body of a lambda.
This adds utils::erase_if, which does the same thing. The C++20 function returns
the number of elements removed, but as none of the callers need that I've not
implemented it in utils::erase_if.
This commit omits the refactor of attack_type::overwrite_special_checking,
because that function is being worked on in parallel by Newfrenchy. It'll be
simpler for either of us to update it later instead of creating merge conflicts.