Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revisi¢n: 15116) +++ src/lang/english.txt (copia de trabajo) @@ -3429,6 +3429,7 @@ STR_NUM_1 :{BLACK}{SKIP}{NUM} STR_NUM_2 :{BLACK}{SKIP}{SKIP}{NUM} STR_NUM_3 :{BLACK}{SKIP}{SKIP}{SKIP}{NUM} +STR_NUM_4 :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{NUM} ########### String for New Landscape Generator Index: src/genworld_gui.cpp =================================================================== --- src/genworld_gui.cpp (revisi¢n: 15116) +++ src/genworld_gui.cpp (copia de trabajo) @@ -655,7 +655,11 @@ CSCEN_FLAT_LAND_HEIGHT_LABEL, CSCEN_FLAT_LAND_HEIGHT_DOWN, CSCEN_FLAT_LAND_HEIGHT_TEXT, - CSCEN_FLAT_LAND_HEIGHT_UP + CSCEN_FLAT_LAND_HEIGHT_UP, + CSCEN_SNOW_LEVEL_TEXT1, + CSCEN_SNOW_LEVEL_DOWN, + CSCEN_SNOW_LEVEL_TEXT, + CSCEN_SNOW_LEVEL_UP }; @@ -676,6 +680,11 @@ this->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_DOWN, _settings_newgame.game_creation.se_flat_world_height <= 0); this->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_UP, _settings_newgame.game_creation.se_flat_world_height >= MAX_TILE_HEIGHT); + /* Disable snowline if not hilly */ + this->SetWidgetDisabledState(CSCEN_SNOW_LEVEL_TEXT, _settings_newgame.game_creation.landscape != LT_ARCTIC); + this->SetWidgetDisabledState(CSCEN_SNOW_LEVEL_DOWN, _settings_newgame.game_creation.snow_line_height <= 2 || _settings_newgame.game_creation.landscape != LT_ARCTIC); + this->SetWidgetDisabledState(CSCEN_SNOW_LEVEL_UP, _settings_newgame.game_creation.snow_line_height >= MAX_SNOWLINE_HEIGHT || _settings_newgame.game_creation.landscape != LT_ARCTIC); + this->SetWidgetLoweredState(CSCEN_TEMPERATE, _settings_newgame.game_creation.landscape == LT_TEMPERATE); this->SetWidgetLoweredState(CSCEN_ARCTIC, _settings_newgame.game_creation.landscape == LT_ARCTIC); this->SetWidgetLoweredState(CSCEN_TROPICAL, _settings_newgame.game_creation.landscape == LT_TROPIC); @@ -686,6 +695,7 @@ SetDParam(1, 1 << _settings_newgame.game_creation.map_x); // CSCEN_MAPSIZE_X_PULLDOWN SetDParam(2, 1 << _settings_newgame.game_creation.map_y); // CSCEN_MAPSIZE_Y_PULLDOWN SetDParam(3, _settings_newgame.game_creation.se_flat_world_height); // CSCEN_FLAT_LAND_HEIGHT_TEXT + SetDParam(4, _settings_newgame.game_creation.snow_line_height); // CSCEN_SNOW_LEVEL_TEXT this->DrawWidgets(); } @@ -752,6 +762,24 @@ SetDParam(0, _settings_newgame.game_creation.se_flat_world_height); ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_FLAT_WORLD_HEIGHT_QUERY_CAPT, 3, 100, this, CS_NUMERAL, QSF_NONE); break; + + case CSCEN_SNOW_LEVEL_DOWN: + case CSCEN_SNOW_LEVEL_UP: // Snow line buttons + /* Don't allow too fast scrolling */ + if ((this->flags4 & WF_TIMEOUT_MASK) <= WF_TIMEOUT_TRIGGER) { + this->HandleButtonClick(widget); + this->SetDirty(); + + _settings_newgame.game_creation.snow_line_height = Clamp(_settings_newgame.game_creation.snow_line_height + widget - CSCEN_SNOW_LEVEL_TEXT, 2, MAX_SNOWLINE_HEIGHT); + } + _left_button_clicked = false; + break; + + case CSCEN_SNOW_LEVEL_TEXT: // Snow line text + this->widget_id = CSCEN_SNOW_LEVEL_TEXT; + SetDParam(0, _settings_newgame.game_creation.snow_line_height); + ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_SNOW_LINE_QUERY_CAPT, 3, 100, this, CS_NUMERAL, QSF_NONE); + break; } } @@ -779,6 +807,11 @@ this->InvalidateWidget(CSCEN_FLAT_LAND_HEIGHT_TEXT); _settings_newgame.game_creation.se_flat_world_height = Clamp(value, 0, MAX_TILE_HEIGHT); break; + + case CSCEN_SNOW_LEVEL_TEXT: + this->InvalidateWidget(CSCEN_SNOW_LEVEL_TEXT); + _settings_newgame.game_creation.snow_line_height = Clamp(value, 2, MAX_SNOWLINE_HEIGHT); + break; } this->SetDirty(); @@ -819,6 +852,13 @@ { WWT_IMGBTN, RESIZE_NONE, COLOUR_ORANGE, 282, 293, 131, 142, SPR_ARROW_DOWN, STR_FLAT_WORLD_HEIGHT_DOWN}, // CSCEN_FLAT_LAND_HEIGHT_DOWN { WWT_TEXTBTN, RESIZE_NONE, COLOUR_ORANGE, 294, 314, 131, 142, STR_NUM_3, STR_NULL}, // CSCEN_FLAT_LAND_HEIGHT_TEXT { WWT_IMGBTN, RESIZE_NONE, COLOUR_ORANGE, 315, 326, 131, 142, SPR_ARROW_UP, STR_FLAT_WORLD_HEIGHT_UP}, // CSCEN_FLAT_LAND_HEIGHT_UP + +/* Snow line */ +{ WWT_TEXT, RESIZE_NONE, COLOUR_ORANGE, 182, 278, 150, 160, STR_SNOW_LINE_HEIGHT, STR_NULL}, // CSCEN_SNOW_LEVEL_TEXT1 +{ WWT_IMGBTN, RESIZE_NONE, COLOUR_ORANGE, 282, 293, 149, 160, SPR_ARROW_DOWN, STR_SNOW_LINE_DOWN}, // CSCEN_SNOW_LEVEL_DOWN +{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_ORANGE, 294, 314, 149, 160, STR_NUM_4, STR_NULL}, // CSCEN_SNOW_LEVEL_TEXT +{ WWT_IMGBTN, RESIZE_NONE, COLOUR_ORANGE, 315, 326, 149, 160, SPR_ARROW_UP, STR_SNOW_LINE_UP}, // CSCEN_SNOW_LEVEL_UP + { WIDGETS_END}, };