summaryrefslogtreecommitdiff
path: root/src/ai
diff options
context:
space:
mode:
authorzuu <zuu@openttd.org>2013-03-17 21:58:18 +0000
committerzuu <zuu@openttd.org>2013-03-17 21:58:18 +0000
commitc6187b5d9733807884777678f88a661534e1efbc (patch)
tree77ebe3bca09829b3b977d1a48b523f8ca7114321 /src/ai
parenta78baec2ea43c9e1441f99a1e892a9e52cf36601 (diff)
downloadopenttd-c6187b5d9733807884777678f88a661534e1efbc.tar.xz
(svn r25104) -Fix [FS#5507]: Allow changing GS settings in-game via the AI/GS config window.
Diffstat (limited to 'src/ai')
-rw-r--r--src/ai/ai_gui.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp
index 7ebdb4bfe..7e569c5dc 100644
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -772,7 +772,7 @@ struct AIConfigWindow : public Window {
*/
static bool IsEditable(CompanyID slot)
{
- if (slot == OWNER_DEITY) return _game_mode != GM_NORMAL;
+ if (slot == OWNER_DEITY) return _game_mode != GM_NORMAL || Game::GetInstance() != NULL;
if (_game_mode != GM_NORMAL) {
return slot > 0 && slot <= GetGameSettings().difficulty.max_no_competitors;
@@ -920,7 +920,7 @@ struct AIConfigWindow : public Window {
this->SetWidgetDisabledState(WID_AIC_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
this->SetWidgetDisabledState(WID_AIC_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
- this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY);
+ this->SetWidgetDisabledState(WID_AIC_CHANGE, (this->selected_slot == OWNER_DEITY && _game_mode == GM_NORMAL) || this->selected_slot == INVALID_COMPANY);
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || GetConfig(this->selected_slot)->GetConfigList()->size() == 0);
this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == OWNER_DEITY || this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));
this->SetWidgetDisabledState(WID_AIC_MOVE_DOWN, this->selected_slot == OWNER_DEITY || this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot + 1)));