Changeset - r21995:f3d5bc187e13
[Not reviewed]
master
0 3 0
frosch - 10 years ago 2015-02-14 21:55:30
frosch@openttd.org
(svn r27151) -Add: Allow changing max heightlevel in scenario editor.
3 files changed with 26 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/cheat_gui.cpp
Show inline comments
 
@@ -116,25 +116,26 @@ static int32 ClickChangeDateCheat(int32 
 
	InvalidateWindowClassesData(WC_BUILD_OBJECT, 0);
 
	ResetSignalVariant();
 
	return _cur_year;
 
}
 

	
 
/**
 
 * Allow (or disallow) a change of the maximum allowed heightlevel.
 
 * @param p1 new value
 
 * @param p2 unused
 
 * @return New value (or unchanged old value) of the maximum
 
 *         allowed heightlevel value.
 
 */
 
static int32 ClickChangeMaxHlCheat(int32 p1, int32 p2) {
 
static int32 ClickChangeMaxHlCheat(int32 p1, int32 p2)
 
{
 
	p1 = Clamp(p1, MIN_MAX_HEIGHTLEVEL, MAX_MAX_HEIGHTLEVEL);
 

	
 
	/* Check if at least one mountain on the map is higher than the new value.
 
	 * If yes, disallow the change. */
 
	for (TileIndex t = 0; t < MapSize(); t++) {
 
		if ((int32)TileHeight(t) > p1) {
 
			ShowErrorMessage(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN, INVALID_STRING_ID, WL_ERROR);
 
			/* Return old, unchanged value */
 
			return _settings_game.construction.max_heightlevel;
 
		}
 
	}
 

	
src/settings.cpp
Show inline comments
 
@@ -1268,24 +1268,45 @@ static bool CheckFreeformEdges(int32 p1)
 
static bool ChangeDynamicEngines(int32 p1)
 
{
 
	if (_game_mode == GM_MENU) return true;
 

	
 
	if (!EngineOverrideManager::ResetToCurrentNewGRFConfig()) {
 
		ShowErrorMessage(STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES, INVALID_STRING_ID, WL_ERROR);
 
		return false;
 
	}
 

	
 
	return true;
 
}
 

	
 
static bool ChangeMaxHeightLevel(int32 p1)
 
{
 
	if (_game_mode == GM_NORMAL) return false;
 
	if (_game_mode != GM_EDITOR) return true;
 

	
 
	/* Check if at least one mountain on the map is higher than the new value.
 
	 * If yes, disallow the change. */
 
	for (TileIndex t = 0; t < MapSize(); t++) {
 
		if ((int32)TileHeight(t) > p1) {
 
			ShowErrorMessage(STR_CONFIG_SETTING_TOO_HIGH_MOUNTAIN, INVALID_STRING_ID, WL_ERROR);
 
			/* Return old, unchanged value */
 
			return false;
 
		}
 
	}
 

	
 
	/* The smallmap uses an index from heightlevels to colours. Trigger rebuilding it. */
 
	InvalidateWindowClassesData(WC_SMALLMAP, 2);
 

	
 
	return true;
 
}
 

	
 
static bool StationCatchmentChanged(int32 p1)
 
{
 
	Station::RecomputeIndustriesNearForAll();
 
	return true;
 
}
 

	
 

	
 
#ifdef ENABLE_NETWORK
 

	
 
static bool UpdateClientName(int32 p1)
 
{
 
	NetworkUpdateClientName();
src/table/settings.ini
Show inline comments
 
@@ -19,24 +19,25 @@ static bool CloseSignalGUI(int32 p1);
 
static bool InvalidateTownViewWindow(int32 p1);
 
static bool DeleteSelectStationWindow(int32 p1);
 
static bool UpdateConsists(int32 p1);
 
static bool TrainAccelerationModelChanged(int32 p1);
 
static bool RoadVehAccelerationModelChanged(int32 p1);
 
static bool TrainSlopeSteepnessChanged(int32 p1);
 
static bool RoadVehSlopeSteepnessChanged(int32 p1);
 
static bool DragSignalsDensityChanged(int32);
 
static bool TownFoundingChanged(int32 p1);
 
static bool DifficultyNoiseChange(int32 i);
 
static bool MaxNoAIsChange(int32 i);
 
static bool CheckRoadSide(int p1);
 
static bool ChangeMaxHeightLevel(int32 p1);
 
static bool CheckFreeformEdges(int32 p1);
 
static bool ChangeDynamicEngines(int32 p1);
 
static bool StationCatchmentChanged(int32 p1);
 
static bool InvalidateVehTimetableWindow(int32 p1);
 
static bool InvalidateCompanyLiveryWindow(int32 p1);
 
static bool InvalidateNewGRFChangeWindows(int32 p1);
 
static bool InvalidateIndustryViewWindow(int32 p1);
 
static bool InvalidateAISettingsWindow(int32 p1);
 
static bool RedrawTownAuthority(int32 p1);
 
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
 
static bool InvalidateCompanyWindow(int32 p1);
 
static bool ZoomMinMaxChanged(int32 p1);
 
@@ -373,32 +374,33 @@ full     = _roadsides
 
str      = STR_CONFIG_SETTING_ROAD_SIDE
 
strhelp  = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
 
strval   = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT
 
proc     = CheckRoadSide
 

	
 
; Construction
 

	
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.max_heightlevel
 
type     = SLE_UINT8
 
from     = 194
 
guiflags = SGF_NEWGAME_ONLY | SGF_NO_NETWORK
 
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
 
def      = DEF_MAX_HEIGHTLEVEL
 
min      = MIN_MAX_HEIGHTLEVEL
 
max      = MAX_MAX_HEIGHTLEVEL
 
interval = 1
 
str      = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL
 
strhelp  = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT
 
strval   = STR_JUST_INT
 
proc     = ChangeMaxHeightLevel
 
cat      = SC_BASIC
 

	
 
[SDT_BOOL]
 
base     = GameSettings
 
var      = construction.build_on_slopes
 
guiflags = SGF_NO_NETWORK
 
def      = true
 
cat      = SC_EXPERT
 

	
 
[SDT_VAR]
 
base     = GameSettings
 
var      = construction.command_pause_level
0 comments (0 inline, 0 general)