/**
 *  clears the addon memory.
 *
 *  if @p recreate is @p true then the addons are re-registered 
 *  and set to defaults
 *
 *  @author FloSoft
 */
void GlobalGameSettings::reset(bool recreate)
{
	for( std::vector<item>::iterator it = addons.begin(); it != addons.end(); ++it)
		delete it->addon;

	addons.clear();

	if(recreate)
	{
		registerAddon(new AddonLimitCatapults);
		registerAddon(new AddonInexhaustibleMines);
		registerAddon(new AddonRefundMaterials);
		registerAddon(new AddonExhaustibleWells);
		registerAddon(new AddonRefundOnEmergency);
		registerAddon(new AddonManualRoadEnlargement);
		registerAddon(new AddonCatapultGraphics);

		registerAddon(new AddonDemolitionProhibition);
		registerAddon(new AddonCharburner);
		registerAddon(new AddonTrade);

		registerAddon(new AddonChangeGoldDeposits);
		registerAddon(new AddonMaxWaterwayLength);
		registerAddon(new AddonCustomBuildSequence);
		registerAddon(new AddonStatisticsVisibility);

		registerAddon(new AddonDefenderBehavior);
		registerAddon(new AddonAIDebugWindow);
		
		registerAddon(new AddonNoCoinsDefault);

		registerAddon(new AddonAdjustMilitaryStrength);
	}
}
/**
 *  clears the addon memory.
 *
 *  if @p recreate is @p true then the addons are re-registered
 *  and set to defaults
 *
 *  @author FloSoft
 */
void GlobalGameSettings::reset(bool recreate)
{
    for( std::vector<item>::iterator it = addons.begin(); it != addons.end(); ++it)
        delete it->addon;

    addons.clear();

    if(recreate)
    {
        registerAddon(new AddonLimitCatapults);
        registerAddon(new AddonInexhaustibleMines);
        registerAddon(new AddonRefundMaterials);
        registerAddon(new AddonExhaustibleWells);
        registerAddon(new AddonRefundOnEmergency);
        registerAddon(new AddonManualRoadEnlargement);
        registerAddon(new AddonCatapultGraphics);

        registerAddon(new AddonDemolitionProhibition);
        registerAddon(new AddonCharburner);
        registerAddon(new AddonTrade);

        registerAddon(new AddonChangeGoldDeposits);
        registerAddon(new AddonMaxWaterwayLength);
        registerAddon(new AddonCustomBuildSequence);
        registerAddon(new AddonStatisticsVisibility);

        registerAddon(new AddonDefenderBehavior);
        registerAddon(new AddonAIDebugWindow);

        registerAddon(new AddonNoCoinsDefault);

        registerAddon(new AddonAdjustMilitaryStrength);

        registerAddon(new AddonToolOrdering);

        registerAddon(new AddonMilitaryAid);
        registerAddon(new AddonInexhaustibleGraniteMines);
        registerAddon(new AddonMaxRank);
        registerAddon(new AddonSeaAttack);
        registerAddon(new AddonInexhaustibleFish);

        registerAddon(new AddonShipSpeed);
		registerAddon(new AddonMoreAnimals);
		registerAddon(new AddonBurnDuration);
		registerAddon(new AddonNoAlliedPush);
		registerAddon(new AddonBattlefieldPromotion);
		registerAddon(new AddonHalfCostMilEquip);
		registerAddon(new AddonMilitaryControl);
    }
}