mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-09 19:10:38 +00:00
(svn r15538) -Fix (r15334): The difficulty level wasn't set to custom when changing the amount of towns/industries from the newgame gui.
This commit is contained in:
parent
13bc604fde
commit
c3c549f731
@ -16,6 +16,7 @@
|
|||||||
#include "../string_func.h"
|
#include "../string_func.h"
|
||||||
#include "../textbuf_gui.h"
|
#include "../textbuf_gui.h"
|
||||||
#include "../settings_type.h"
|
#include "../settings_type.h"
|
||||||
|
#include "../settings_func.h"
|
||||||
#include "../network/network_content.h"
|
#include "../network/network_content.h"
|
||||||
|
|
||||||
#include "ai.hpp"
|
#include "ai.hpp"
|
||||||
@ -485,15 +486,13 @@ struct AIConfigWindow : public Window {
|
|||||||
case AIC_WIDGET_BACKGROUND: {
|
case AIC_WIDGET_BACKGROUND: {
|
||||||
/* Check if the user clicked on one of the arrows to configure the number of AIs */
|
/* Check if the user clicked on one of the arrows to configure the number of AIs */
|
||||||
if (IsInsideBS(pt.x, 10, 20) && IsInsideBS(pt.y, 18, 10)) {
|
if (IsInsideBS(pt.x, 10, 20) && IsInsideBS(pt.y, 18, 10)) {
|
||||||
|
int new_value;
|
||||||
if (pt.x <= 20) {
|
if (pt.x <= 20) {
|
||||||
_settings_newgame.difficulty.max_no_competitors = max(0, _settings_newgame.difficulty.max_no_competitors - 1);
|
new_value = max(0, _settings_newgame.difficulty.max_no_competitors - 1);
|
||||||
} else {
|
} else {
|
||||||
_settings_newgame.difficulty.max_no_competitors = min(MAX_COMPANIES - 1, _settings_newgame.difficulty.max_no_competitors + 1);
|
new_value = min(MAX_COMPANIES - 1, _settings_newgame.difficulty.max_no_competitors + 1);
|
||||||
}
|
|
||||||
if (_settings_newgame.difficulty.diff_level != 3) {
|
|
||||||
_settings_newgame.difficulty.diff_level = 3;
|
|
||||||
ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
|
||||||
}
|
}
|
||||||
|
IConsoleSetSetting("difficulty.max_no_competitors", new_value);
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -571,15 +571,11 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
|||||||
case GLAND_SMOOTHNESS_PULLDOWN: _settings_newgame.game_creation.tgen_smoothness = index; break;
|
case GLAND_SMOOTHNESS_PULLDOWN: _settings_newgame.game_creation.tgen_smoothness = index; break;
|
||||||
|
|
||||||
case GLAND_TOWN_PULLDOWN:
|
case GLAND_TOWN_PULLDOWN:
|
||||||
_settings_newgame.difficulty.number_towns = index;
|
IConsoleSetSetting("difficulty.number_towns", index);
|
||||||
if (_settings_newgame.difficulty.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
|
||||||
IConsoleSetSetting("difficulty.number_towns", _settings_newgame.difficulty.number_towns);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GLAND_INDUSTRY_PULLDOWN:
|
case GLAND_INDUSTRY_PULLDOWN:
|
||||||
_settings_newgame.difficulty.number_industries = index;
|
IConsoleSetSetting("difficulty.number_industries", index);
|
||||||
if (_settings_newgame.difficulty.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
|
||||||
IConsoleSetSetting("difficulty.number_industries", _settings_newgame.difficulty.number_industries);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GLAND_LANDSCAPE_PULLDOWN:
|
case GLAND_LANDSCAPE_PULLDOWN:
|
||||||
@ -592,15 +588,11 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case GLAND_TERRAIN_PULLDOWN:
|
case GLAND_TERRAIN_PULLDOWN:
|
||||||
_settings_newgame.difficulty.terrain_type = index;
|
IConsoleSetSetting("difficulty.terrain_type", index);
|
||||||
if (_settings_newgame.difficulty.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
|
||||||
IConsoleSetSetting("difficulty.terrain_type", _settings_newgame.difficulty.terrain_type);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GLAND_WATER_PULLDOWN:
|
case GLAND_WATER_PULLDOWN:
|
||||||
_settings_newgame.difficulty.quantity_sea_lakes = index;
|
IConsoleSetSetting("difficulty.quantity_sea_lakes", index);
|
||||||
if (_settings_newgame.difficulty.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
|
||||||
IConsoleSetSetting("difficulty.quantity_sea_lakes", _settings_newgame.difficulty.quantity_sea_lakes);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
|
@ -1009,7 +1009,10 @@ static bool DifficultyReset(int32 level)
|
|||||||
static bool DifficultyChange(int32)
|
static bool DifficultyChange(int32)
|
||||||
{
|
{
|
||||||
if (_game_mode == GM_MENU) {
|
if (_game_mode == GM_MENU) {
|
||||||
|
if (_settings_newgame.difficulty.diff_level != 3) {
|
||||||
|
ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0);
|
||||||
_settings_newgame.difficulty.diff_level = 3;
|
_settings_newgame.difficulty.diff_level = 3;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
_settings_game.difficulty.diff_level = 3;
|
_settings_game.difficulty.diff_level = 3;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user