# HG changeset patch # User rubidium # Date 2014-09-21 12:02:03 # Node ID 9b4a5dc5a0ddbf7f473fa40bf6d0c47436485e05 # Parent a1d8544753d76e879cdf7ad1aff2e1a78ca8aca2 (svn r26884) -Change: scale the NewGRF's snow line level according to the configured maximum map height diff --git a/src/newgrf.cpp b/src/newgrf.cpp --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -2696,13 +2696,13 @@ static ChangeInfoResult GlobalVarChangeI for (uint j = 0; j < SNOW_LINE_DAYS; j++) { table[i][j] = buf->ReadByte(); if (_cur.grffile->grf_version >= 8) { - if (table[i][j] != 0xFF) table[i][j] = table[i][j] * (1 + MAX_TILE_HEIGHT) / 256; + if (table[i][j] != 0xFF) table[i][j] = table[i][j] * (1 + _settings_game.construction.max_heightlevel) / 256; } else { if (table[i][j] >= 128) { /* no snow */ table[i][j] = 0xFF; } else { - table[i][j] = table[i][j] * (1 + MAX_TILE_HEIGHT) / 128; + table[i][j] = table[i][j] * (1 + _settings_game.construction.max_heightlevel) / 128; } } } @@ -5827,7 +5827,7 @@ bool GetGlobalVariable(byte param, uint3 case 0x20: { // snow line height byte snowline = GetSnowLine(); - if (_settings_game.game_creation.landscape == LT_ARCTIC && snowline <= MAX_TILE_HEIGHT) { + if (_settings_game.game_creation.landscape == LT_ARCTIC && snowline <= _settings_game.construction.max_heightlevel) { *value = Clamp(snowline * (grffile->grf_version >= 8 ? 1 : TILE_HEIGHT), 0, 0xFE); } else { /* No snow */ @@ -6484,7 +6484,7 @@ static uint32 GetPatchVariable(uint8 par /* The maximum height of the map. */ case 0x14: - return MAX_TILE_HEIGHT; + return _settings_game.construction.max_heightlevel; /* Extra foundations base sprite */ case 0x15: diff --git a/src/settings_type.h b/src/settings_type.h --- a/src/settings_type.h +++ b/src/settings_type.h @@ -278,7 +278,7 @@ struct GameCreationSettings { uint8 map_y; ///< Y size of map byte land_generator; ///< the landscape generator byte oil_refinery_limit; ///< distance oil refineries allowed from map edge - byte snow_line_height; ///< a number 0-15 that configured snow line height + byte snow_line_height; ///< the configured snow line height byte tgen_smoothness; ///< how rough is the terrain from 0-3 byte tree_placer; ///< the tree placer algorithm byte heightmap_rotation; ///< rotation director for the heightmap