Fixes#4253.
The schema's validation of ranges now rejects negative numbers, because the C++
code doesn't support them (both before and after this commit):
* utils::parse_range("-7") will return {0,0}, because std::stoi("") throws invalid_argument.
* src/map/location.cpp will parse it as -7, but that will never match an on-map coordinate
This removes all of the "do not translate part^string part" strings, replacing
them with more help in English and a place for translators to explain what the
untranslatable "all" means. For commands where the usage has notes about the
arguments, this embeds the \n in the strings passed to register_command; that
seems a reasonable balance between usability and effort to implement it.
Cherry-picking between 1.14 and 1.15: In 1.14.x, the "droid" command only has
options "on" and "off". The "full" option was only added in 1.15.
This still requires a huge surface to render all of the text on to,
but is an easier fix than redesigning the credits screen.
This removes the only caller of utils::vertical_split, which is why
that utility function is also removed.
Fixes#4238 (which called for this revert)
Fixes#4240 (regression in #4188)
Reopens#4187
* Revert "fixup! Show the turn dialog before updating the GUI for the incoming player."
This reverts commit 511553ddd4.
* Revert "changelog: Add #4187"
This reverts commit dada4e1826.
* Revert "Show the turn dialog before updating the GUI for the incoming player."
This reverts commit 21ec7963ef.
This makes [movetype] consistent with [unit]. The code in movetype.cpp is used
for handling both of those tags and so already had support for "flying" in the
merge() and write() functions.
This shouldn't be backported to 1.14. For this reason, it also includes
handling the C++ todos to use C++14's std::make_unique.
Current situation:
* All observers allowed (Observers checked).
* No observers allowed (Observers unchecked).
New situation:
* All observers allowed (Observers checked, no password set).
* Some observers allowed (Observers checked, password set).
* No observers allowed (Observers unchecked).