From e43bf5dabdb4a62b4e6b6812db422b962b4eaaf1 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 5 Dec 2012 19:35:38 +0000 Subject: [PATCH] (svn r24788) -Change: Detach script settings from difficulty settings. Always allow changing all script settings without setting difficulty to custom. --- src/ai/ai_config.cpp | 2 +- src/ai/ai_gui.cpp | 19 ------------------- src/script/script_config.cpp | 5 ----- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index 295495457e..7241eab0a0 100644 --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -80,7 +80,7 @@ int AIConfig::GetSetting(const char *name) const { if (this->info == NULL) { SettingValueList::const_iterator it = this->settings.find(name); - if (it == this->settings.end() || GetGameSettings().difficulty.diff_level != SP_CUSTOM) { + if (it == this->settings.end()) { assert(strcmp("start_date", name) == 0); switch (GetGameSettings().difficulty.diff_level) { case SP_EASY: return AI::START_NEXT_EASY; diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index f287442fc5..acb95a4a3e 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -416,21 +416,6 @@ struct AISettingsWindow : public Window { } } - /** - * Check whether we modified the difficulty level or not. - */ - void CheckDifficultyLevel() - { - if (_game_mode == GM_MENU) { - if (_settings_newgame.difficulty.diff_level != SP_CUSTOM) { - _settings_newgame.difficulty.diff_level = SP_CUSTOM; - ShowErrorMessage(STR_WARNING_DIFFICULTY_TO_CUSTOM, INVALID_STRING_ID, WL_WARNING); - } - } else if (_settings_game.difficulty.diff_level != SP_CUSTOM) { - IConsoleSetSetting("difficulty.diff_level", SP_CUSTOM); - } - } - virtual void OnPaint() { if (this->closing_dropdown) { @@ -517,8 +502,6 @@ struct AISettingsWindow : public Window { this->ai_config->SetSetting(config_item.name, new_val); this->clicked_button = num; this->timeout = 5; - - this->CheckDifficultyLevel(); } } else if (!bool_item && !config_item.complete_labels) { /* Display a query box so users can enter a custom value. */ @@ -550,7 +533,6 @@ struct AISettingsWindow : public Window { if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (it->flags & SCRIPTCONFIG_INGAME) == 0) return; int32 value = atoi(str); this->ai_config->SetSetting((*it).name, value); - this->CheckDifficultyLevel(); this->SetDirty(); } @@ -561,7 +543,6 @@ struct AISettingsWindow : public Window { for (int i = 0; i < this->clicked_row; i++) it++; if (_game_mode == GM_NORMAL && ((this->slot == OWNER_DEITY) || Company::IsValidID(this->slot)) && (it->flags & SCRIPTCONFIG_INGAME) == 0) return; this->ai_config->SetSetting((*it).name, index); - this->CheckDifficultyLevel(); this->SetDirty(); } diff --git a/src/script/script_config.cpp b/src/script/script_config.cpp index 46f13cd0ce..7260febdf1 100644 --- a/src/script/script_config.cpp +++ b/src/script/script_config.cpp @@ -86,11 +86,6 @@ void ScriptConfig::ClearConfigList() int ScriptConfig::GetSetting(const char *name) const { - /* Return default values if the difficulty is not set to Custom */ - if (GetGameSettings().difficulty.diff_level != SP_CUSTOM) { - return this->info->GetSettingDefaultValue(name); - } - SettingValueList::const_iterator it = this->settings.find(name); if (it == this->settings.end()) return this->info->GetSettingDefaultValue(name); return (*it).second;