Don't pretend that civs are optional
|Reported by:||elexis||Owned by:|
Currently the gamesetup always sets a
civ and sets the
player_defaults.json civ entry if the map didn't define one.
The commandline autostart
Gamesetup.cpp has a hardcoded
athen fallback if the user didn't set the civ.
rmgen/ code has an ugly "athen"
FALLBACK_CIV string and uses that in every place that does something with civs.
New patches like Phab:D900 also expect a civ argument and add usage of
The Identity entity component and the Player component of player entities currently also expect the civ argument to be well defined. All simulation component uses of these simulation components also require the civ to be well-defined.
So it only seems consequential to actually require the Civ property to be well-defined in all ways to generate a gamesetup configuration.
rmgen/ can be deleted and that
ultimately the civ checkbox in atlas must be removed (so that the civ dropdown value becomes mandatory).
Gamesetup.cpp should load
player_defaults.json to remove the hardcoded
athen, as mentioned in some line of code in that file.
If we ever consider making civs optional, a lot of simulation code will have to be rewritten. It seems much saner to let mods that don't come with civ choices to still implement their own neutral standard civ.