we don't need these because we call check_victory at the end of the
synced_context.
I removed them because check_victory assumes that "this code is run
rarely" which is not the case if we call it there.
do_execute which calls run_in_synced_context can throw end_level
exception because run_in_synced context calls check_victory. So we don't
need the additional check_victory in action_result::execute anymore.
Only do this when the value is that triggered the fault is nonempty,
otherwise you get a fault even when the attribute does not appear
in the user generated config -- in that case should silently take
the default.
fixes up 986a87228786f7034b999b06fafb46d6700d3848
The make_enum macro header now includes wml_exception.hpp, and
game_config. We use the FAIL macro to launch a transient
twml_exception dialog when an enum is casted from an illegal
string value. This means that when enums in our C++ classes are
initialized using lexical_cast<enum_type> (cfg["attribute"]),
we will automatically give error reports for bad values.
gcc wouldn't compile this when "from" was of type enum, because
it says it wouldn't be initialized. The explicit call to default
constructor fixes it. Thanks to gfgtdf for this simple fix to
this problem.
I'm not sure if this is necessary as it is not reported, but
worst case is that not doing this could cause malformed
scenario files in the editor folder to crash wesnoth while
browsing in mp_create.
With the change to --log-strict, it's not necessary to rerun with
strict mode off, so we can get rid of part of the old system.
Feel free to revert this is you don't want travis to require all
unit tests to pass as part of the build.
Just wanted to remove the empty strings that got created:
find . -type f -exec sed -i 's/<< "" <</<</g' '{}' \;
find . -type f -exec sed -i 's/<<"" <</<</g' '{}' \;
I also unstaged tools/schema/tags.cpp, since I don't think I changed
that.