void ScriptConfig::ResetChangeableSettings() { if (this->info == NULL) return; for (SettingValueList::iterator it = this->settings.begin(); it != this->settings.end();) { const ScriptConfigItem *config_item = this->info->GetConfigItem((*it).first); assert(config_item != NULL); bool mask = SCRIPTCONFIG_INGAME; if (!_settings_client.gui.ai_developer_tools) mask |= SCRIPTCONFIG_DEVELOPER; if (_game_mode == GM_MENU || ((*config_item).flags & mask) != 0) { free((*it).first); it = this->settings.erase(it); } else { it++; } } }