This file seemed to be some sort of reimplementation of <cassert> except
with some "feature" of trying to force the debugger to hit a breakpoint.
However, any decent debugger already hits a breakpoint with a standard
assert(), and this file really only served to make it harder to see the
actual error when using a Windows console.
Some instances of these macros were replaced with assert(), others with
VALIDATE() which instead throws an exception (and possibly puts up a
dialog, if the exception is caught before main()).
A few other related changes that got mixed in:
- Several error conditions now have a better error message (or indeed
any error message at all)
- Removed an unnecessary use of std::distance on a Boost iterator range.
- Removed a large chunk of code which did nothing but construct a widget
builder and then crash; the code was unreachable since an earlier loop
did the same thing (without crashing), and the comment seems to suggest
that it was a (seemingly no longer necessary) workaround for some buggy
compilers / linkers.
- noreturn added to the list of compatibilty C++11 features in global.hpp
(Of supported compilers, only VC12 lacks the new [[attribute]] syntax.)
- Fix detection of GCC in global.hpp
# Conflicts:
# src/gui/widgets/settings.cpp
This map generator is used in HttT 17 and SoF 4. which needed to be updated aswell.
With this we finally have a lua generator that is used in mainline and that
can be used an an example by wml authors who want to write other map generators.
Unfortunateley there are still umc add ons in 1.12 that use
scenario_generation=cave so i didn't remove the cpp implementation yet.
A test theme that replaces one window and one window definition appears to
work correctly now. There is still no option in Preferences to change
the theme. Maybe that can be done when there actually are multiple themes.
The amount of snow is based upon how quickly you made it through S12 (Northern Winter). It is 1/3rd the coverage from S12, so it varries from 0 to 33% total coverage of the map, since we don't want to really bog down the player. At 1/3rd coverage, if S12 was won on the last possible turn the player here should only lose a turn or two getting to the exits.
multiple mainline tags, specially [store_locations] assume that filter
only returns valid locations. This commit fixes an error in TSG scneario
'06 March'.
This also moves the "map_data" atribute_value->sting conversion to the
game_board class becasue the config writing also happens in there.
This prepares a patch to remove the border_size_ member from
the gamemap object.
After refactoring Prefs to use dialog fields, set_remember_password was called every time the dialog
closed. prv::password wasn't initialized at that point, meaning the password was always set to "".
This fixes the bug by explicitly clearing it if false is passed instead of setting it every time.
Previous iterations of the Prefs dialog only called the options setters when they were selected, meaning
this never came up as an issue. Toggling the option off would clear the saved password, and toggling it on
would leave it empty until it was re-entered.
Specifically, if you applied a filter that matched no games and switched to the campaigns view in
MP Create, you'd trigger the vertical list assert. If you enabled horizontal_grow = true on the
tab bar (a horizontal listbox) in the same dialog, you'd trigger the horizontal list assert.