Changeset - r14320:c817132688c6
[Not reviewed]
master
0 3 0
rubidium - 15 years ago 2010-01-21 23:19:50
rubidium@openttd.org
(svn r18883) -Codechange: warn in the difficulty and AI configuration window when setting the number of AIs to non-zero when you don't have AIs
3 files changed with 13 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/lang/english.txt
Show inline comments
 
@@ -1056,24 +1056,25 @@ STR_ECONOMY_STEADY                      
 
STR_ECONOMY_FLUCTUATING                                         :Fluctuating
 

	
 
STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS                      :At end of line, and at stations
 
STR_REVERSE_AT_END_OF_LINE_ONLY                                 :At end of line only
 

	
 
STR_DISASTERS_OFF                                               :Off
 
STR_DISASTERS_ON                                                :On
 

	
 
STR_CITY_APPROVAL_PERMISSIVE                                    :Permissive
 
STR_CITY_APPROVAL_TOLERANT                                      :Tolerant
 
STR_CITY_APPROVAL_HOSTILE                                       :Hostile
 

	
 
STR_WARNING_NO_SUITABLE_AI                                      :{WHITE}No suitable AIs available...{}You can download several AIs via the 'Online Content' system
 
STR_WARNING_DIFFICULTY_TO_CUSTOM                                :{WHITE}This action changed the difficulty level to custom
 

	
 
# Advanced settings window
 
STR_CONFIG_SETTING_CAPTION                                      :{WHITE}Advanced Settings
 

	
 
STR_CONFIG_SETTING_OFF                                          :Off
 
STR_CONFIG_SETTING_ON                                           :On
 
STR_CONFIG_SETTING_DISABLED                                     :disabled
 
STR_CONFIG_SETTING_VEHICLESPEED                                 :{LTBLUE}Show vehicle speed in status bar: {ORANGE}{STRING1}
 
STR_CONFIG_SETTING_BUILDONSLOPES                                :{LTBLUE}Allow building on slopes and coasts: {ORANGE}{STRING1}
 
STR_CONFIG_SETTING_AUTOSLOPE                                    :{LTBLUE}Allow terraforming under buildings, tracks, etc. (autoslope): {ORANGE}{STRING1}
 
STR_CONFIG_SETTING_CATCHMENT                                    :{LTBLUE}Allow more realistically sized catchment areas: {ORANGE}{STRING1}
src/settings.cpp
Show inline comments
 
@@ -49,24 +49,25 @@
 
#include "elrail_func.h"
 
#include "gui.h"
 
#include "town.h"
 
#include "video/video_driver.hpp"
 
#include "sound/sound_driver.hpp"
 
#include "music/music_driver.hpp"
 
#include "blitter/factory.hpp"
 
#include "base_media_base.h"
 
#include "gamelog.h"
 
#include "settings_func.h"
 
#include "ini_type.h"
 
#include "ai/ai_config.hpp"
 
#include "ai/ai.hpp"
 
#include "newgrf.h"
 
#include "ship.h"
 
#include "company_base.h"
 
#include "engine_base.h"
 

	
 
#include "void_map.h"
 
#include "station_base.h"
 

	
 
#include "table/strings.h"
 
#include "table/settings.h"
 

	
 
ClientSettings _settings_client;
 
@@ -842,24 +843,29 @@ static bool DifficultyReset(int32 level)
 
static bool DifficultyChange(int32)
 
{
 
	if (_game_mode == GM_MENU) {
 
		if (_settings_newgame.difficulty.diff_level != 3) {
 
			ShowErrorMessage(STR_WARNING_DIFFICULTY_TO_CUSTOM, INVALID_STRING_ID, 0, 0);
 
			_settings_newgame.difficulty.diff_level = 3;
 
		}
 
		SetWindowClassesDirty(WC_SELECT_GAME);
 
	} else {
 
		_settings_game.difficulty.diff_level = 3;
 
	}
 

	
 
	if (((_game_mode == GM_MENU) ? _settings_newgame.difficulty : _settings_game.difficulty).max_no_competitors != 0 &&
 
			AI::GetInfoList()->size() == 0 && (!_networking || _network_server)) {
 
		ShowErrorMessage(STR_WARNING_NO_SUITABLE_AI, INVALID_STRING_ID, 0, 0, true);
 
	}
 

	
 
	/* If we are a network-client, update the difficult setting (if it is open).
 
	 * Use this instead of just dirtying the window because we need to load in
 
	 * the new difficulty settings */
 
	if (_networking && FindWindowById(WC_GAME_OPTIONS, 0) != NULL) {
 
		ShowGameDifficulty();
 
	}
 

	
 
	return true;
 
}
 

	
 
static bool DifficultyNoiseChange(int32 i)
 
{
src/settings_gui.cpp
Show inline comments
 
@@ -22,24 +22,25 @@
 
#include "strings_func.h"
 
#include "window_func.h"
 
#include "string_func.h"
 
#include "widgets/dropdown_type.h"
 
#include "widgets/dropdown_func.h"
 
#include "openttd.h"
 
#include "highscore.h"
 
#include "base_media_base.h"
 
#include "company_base.h"
 
#include "company_func.h"
 
#include "viewport_func.h"
 
#include "core/geometry_func.hpp"
 
#include "ai/ai.hpp"
 
#include <map>
 

	
 
#include "table/sprites.h"
 
#include "table/strings.h"
 

	
 
static const StringID _units_dropdown[] = {
 
	STR_GAME_OPTIONS_MEASURING_UNITS_IMPERIAL,
 
	STR_GAME_OPTIONS_MEASURING_UNITS_METRIC,
 
	STR_GAME_OPTIONS_MEASURING_UNITS_SI,
 
	INVALID_STRING_ID
 
};
 

	
 
@@ -644,24 +645,29 @@ public:
 
			} else {
 
				/* Decrease button clicked */
 
				val -= sdb->interval;
 
				val = max(val, sdb->min);
 
			}
 

	
 
			/* save value in temporary variable */
 
			WriteValue(GetVariableAddress(&this->opt_mod_temp, &sd->save), sd->save.conv, val);
 
			this->RaiseWidget(GDW_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
 
			SetDifficultyLevel(3, &this->opt_mod_temp.difficulty); // set difficulty level to custom
 
			this->LowerWidget(GDW_LVL_CUSTOM);
 
			this->InvalidateData();
 

	
 
			if (widget / 3 == 0 && this->opt_mod_temp.difficulty.max_no_competitors != 0 &&
 
					AI::GetInfoList()->size() == 0) {
 
				ShowErrorMessage(STR_WARNING_NO_SUITABLE_AI, INVALID_STRING_ID, 0, 0, true);
 
			}
 
			return;
 
		}
 

	
 
		switch (widget) {
 
			case GDW_LVL_EASY:
 
			case GDW_LVL_MEDIUM:
 
			case GDW_LVL_HARD:
 
			case GDW_LVL_CUSTOM:
 
				/* temporarily change difficulty level */
 
				this->RaiseWidget(GDW_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
 
				SetDifficultyLevel(widget - GDW_LVL_EASY, &this->opt_mod_temp.difficulty);
 
				this->LowerWidget(GDW_LVL_EASY + this->opt_mod_temp.difficulty.diff_level);
0 comments (0 inline, 0 general)