diff --git a/src/GameGUI.cpp b/src/GameGUI.cpp index 4a6421f72..29bb864e7 100644 --- a/src/GameGUI.cpp +++ b/src/GameGUI.cpp @@ -175,6 +175,8 @@ GameGUI::~GameGUI() { for (ParticleSet::iterator it = particles.begin(); it != particles.end(); ++it) delete *it; + if (globalContainer->settings.rememberUnit) + globalContainer->settings.save(); } void GameGUI::init() diff --git a/src/GameGUIDefaultAssignManager.cpp b/src/GameGUIDefaultAssignManager.cpp index 9e0d0b71b..ce98bcdec 100644 --- a/src/GameGUIDefaultAssignManager.cpp +++ b/src/GameGUIDefaultAssignManager.cpp @@ -41,6 +41,12 @@ int GameGUIDefaultAssignManager::getDefaultAssignedUnits(int typenum) void GameGUIDefaultAssignManager::setDefaultAssignedUnits(int typenum, int value) { unitCount[typenum] = value; + if (!globalContainer->settings.rememberUnit) + return; + // carry the choice over to the next game through the settings + const BuildingType* type = globalContainer->buildingsTypes.get(typenum); + if (type) + globalContainer->settings.defaultUnitsAssigned[type->shortTypeNum][type->level*2 + (type->isBuildingSite ? 0 : 1)] = value; }