This removes --wconsole, --wnoconsole, and --wnoredirect. Instead these are now handled by --no-log-to-file and --log-to-file.
If logging to file is enabled, then output will be written to the log file. If logging to file is not enabled, then output is written to the terminal. On Windows, a terminal will be created for the output to be written to if wesnoth is not launched from a terminal.
gui_->show_everything() also depends on the blindfold
feature somehow, that's why the previous implementation
avoided using it and just disabled show_everything in
play_controllers constructor. However i now think
it's safe to use it here.
- We now don't show an error message in the log when no
[side]s are defined, (this broke the unit test).
- We avoid calling `gui_->set_playing_team` when no [side]s
are defined.
- skip_empty_sides now doesn't throw, previously the behaviour
was inconsistent when there were no non-null sides. (it didn't
throw when there were no sides at all)
- skip_empty_sides now returns two values instead of changing
the parameter. (this was mostly to make the implementation
easier)
Move the line that includes data/test/scenarios/manual_tests/ below the
line that includes data/test/macros/. This allows a manual test to use
the setup in COMMON_KEEP_A_B_C_D_UNIT_TEST, putting units in the right position
to test combat and leadership abilities.
Also improve comments in data/test/_main.cfg.
* wmlxgettext: Error out on unused #po, #po-override directives
* wmlxgettext: Ignore out of domain #po, #po-override comments
* wmlxgettext: Properly clear pending #po, #po-override on textdomain switch
* Fix misplaced #po comments in DiD, SoF, TSG, Editor
Some of these ugly relocations can be reverted in or after #7570.
Add a new guideline that reserves test names containing `_fail_`
or ending `_fail` for tests that don't `PASS`. The rest is just
collecting knowledge already written elsewhere.
Previously statistics were stored in global variables, now
it is a part of saved_game. With this saved_game now finally
represent the contents of a safefile as it was intended to,
without needing to fill the statistics part in some global
variable. (See also #4672 )
In particular now no longer have to manually reset the
statistics as random parts of the code, it gets reset
along with the saved_game object. Also it is now in theroy
possible for multiple saved_game objects to exist.
Statistics was split in two objects, the statistics_record
which only contains the data, and statistics_t, which
provides methods to modify statistics during a game (to get
cleaner dependencies)
This fixes multiple related bugs with statistics in replays:
- #4133 (stats not bring reset when loading a replay)
- #4133 (duplicate entry for current scenario in replay)
- #4441 (wrong stats at the beginning of a replay)
And issues with statistics being lost for non-host players when
reloading a game in (online) mp (no ticket for that one found).
* wmltools3: Make the CrossRef class iterable
Removes generator() method.
* wmltools3: Check for warn level on lack of wmlscope: set export
* wmltools3: Support passing a list of file paths to initialize CrossRef
* wmltools3: Track lineno_end for Reference
* wmltools3: Track default values for macro optional parameters
optional_args is no longer a list, but a dict.
* wmltools3: Track macro bodies as Reference.body
* wmltools3: Register quoted macro arguments verbatim
* wmltools3: Improve parse_macroref
- Support parsing nested macro calls.
- Remove excessive need of parens around macro calls/arguments.
- Support escaping quotes.
- Other compliance improvements.