diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -93,13 +93,13 @@ const AIConfigItemList *AIConfig::GetCon return this->config_list; } -AIConfig *AIConfig::GetConfig(CompanyID company, bool forceNewgameSetting) +AIConfig *AIConfig::GetConfig(CompanyID company, AISettingSource source) { AIConfig **config; - if (!forceNewgameSetting) { - config = (_game_mode == GM_MENU) ? &_settings_newgame.ai_config[company] : &_settings_game.ai_config[company]; + if (source == AISS_FORCE_NEWGAME || (source == AISS_DEFAULT && _game_mode == GM_MENU)) { + config = &_settings_newgame.ai_config[company]; } else { - config = &_settings_newgame.ai_config[company]; + config = &_settings_game.ai_config[company]; } if (*config == NULL) *config = new AIConfig(); return *config;