fixes up commit 82c6b98907d9709aef0d23a3846c1e75ac48e1d5
Use smart "handles" for halos which have been added to a halo
manager. The handles remember what manager they came from, and
delete themselves automatically on destruction.
This wasn't an issue when haloes were basically managed by a
C library, but if we want to get rid of the static singleton
system, the handles need to be smarter than just int's.
Fixes the build with the fuh enabled on clang 3.3:
> src/server/forum_user_handler.cpp:206:10: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion]
> return time_t(0);
> ^~~~~~~~~
> src/server/forum_user_handler.cpp:215:10: error: expression which evaluates to zero treated as a null pointer constant of type 'const char *' [-Werror,-Wnon-literal-null-conversion]
> return time_t(0);
> ^~~~~~~~~
A time_t(0) is cast equivalently to a null pointer, and an empty C
string is equivalent to a null pointer for std::string instantiation.
These attributes work similarly as all other lock attributes such as
'gold_lock': 'faction_lock' locks faction selection, while 'leader_lock' locks
both leader and its gender selections.
These attributes were added to fix#21978.
Dialogue changed to have proper English formatting. Eradion death
message fixed to remove potential of an enemy side expressing concern
over his death.
The changes in config required changes in ai/contexts which
cascaded, also many places were throwing game::game_error without
including its definition except from config.
As per AI0867's request, the deletions of all old map overlays and the
addition of new ones for the German translation now are registered in
l10n-track.
[ci skip]
Without the corresponding maps, the overlays are completely unnecessary.
The titlescreen is preserved for UMC use - all other cases are from
campaigns and aren't guaranteed to be included with the game.
[ci skip]