Changeset - r21995:f3d5bc187e13
[Not reviewed]
master
0 3 0
frosch - 9 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
 
@@ -125,7 +125,8 @@ static int32 ClickChangeDateCheat(int32 
 
 * @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.
src/settings.cpp
Show inline comments
 
@@ -1277,6 +1277,27 @@ static bool ChangeDynamicEngines(int32 p
 
	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();
src/table/settings.ini
Show inline comments
 
@@ -28,6 +28,7 @@ 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);
 
@@ -382,7 +383,7 @@ 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
 
@@ -390,6 +391,7 @@ 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]
0 comments (0 inline, 0 general)