253 SetWindowWidgetDisabledState(w, GLAND_TREE_PULLDOWN, _game_mode == GM_EDITOR); |
253 SetWindowWidgetDisabledState(w, GLAND_TREE_PULLDOWN, _game_mode == GM_EDITOR); |
254 |
254 |
255 SetWindowWidgetDisabledState(w, GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
255 SetWindowWidgetDisabledState(w, GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
256 SetWindowWidgetDisabledState(w, GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
256 SetWindowWidgetDisabledState(w, GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
257 SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_ARCTIC); |
257 SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_ARCTIC); |
258 SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= 13 || _opt_newgame.landscape != LT_ARCTIC); |
258 SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= MAX_SNOWLINE_HEIGHT || _opt_newgame.landscape != LT_ARCTIC); |
259 |
259 |
260 SetWindowWidgetLoweredState(w, GLAND_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); |
260 SetWindowWidgetLoweredState(w, GLAND_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); |
261 SetWindowWidgetLoweredState(w, GLAND_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); |
261 SetWindowWidgetLoweredState(w, GLAND_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); |
262 SetWindowWidgetLoweredState(w, GLAND_TROPICAL, _opt_newgame.landscape == LT_TROPIC); |
262 SetWindowWidgetLoweredState(w, GLAND_TROPICAL, _opt_newgame.landscape == LT_TROPIC); |
263 SetWindowWidgetLoweredState(w, GLAND_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); |
263 SetWindowWidgetLoweredState(w, GLAND_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); |
400 /* Don't allow too fast scrolling */ |
400 /* Don't allow too fast scrolling */ |
401 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
401 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
402 HandleButtonClick(w, e->we.click.widget); |
402 HandleButtonClick(w, e->we.click.widget); |
403 SetWindowDirty(w); |
403 SetWindowDirty(w); |
404 |
404 |
405 _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, 13); |
405 _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, MAX_SNOWLINE_HEIGHT); |
406 } |
406 } |
407 _left_button_clicked = false; |
407 _left_button_clicked = false; |
408 break; |
408 break; |
409 case GLAND_SNOW_LEVEL_TEXT: // Snow line text |
409 case GLAND_SNOW_LEVEL_TEXT: // Snow line text |
410 WP(w, generate_d).widget_id = GLAND_SNOW_LEVEL_TEXT; |
410 WP(w, generate_d).widget_id = GLAND_SNOW_LEVEL_TEXT; |
496 InvalidateWidget(w, GLAND_START_DATE_TEXT); |
496 InvalidateWidget(w, GLAND_START_DATE_TEXT); |
497 _patches_newgame.starting_year = clamp(value, MIN_YEAR, MAX_YEAR); |
497 _patches_newgame.starting_year = clamp(value, MIN_YEAR, MAX_YEAR); |
498 break; |
498 break; |
499 case GLAND_SNOW_LEVEL_TEXT: |
499 case GLAND_SNOW_LEVEL_TEXT: |
500 InvalidateWidget(w, GLAND_SNOW_LEVEL_TEXT); |
500 InvalidateWidget(w, GLAND_SNOW_LEVEL_TEXT); |
501 _patches_newgame.snow_line_height = clamp(value, 2, 13); |
501 _patches_newgame.snow_line_height = clamp(value, 2, MAX_SNOWLINE_HEIGHT); |
502 break; |
502 break; |
503 } |
503 } |
504 |
504 |
505 SetWindowDirty(w); |
505 SetWindowDirty(w); |
506 } |
506 } |
609 |
609 |
610 case WE_PAINT: |
610 case WE_PAINT: |
611 SetWindowWidgetDisabledState(w, CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
611 SetWindowWidgetDisabledState(w, CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
612 SetWindowWidgetDisabledState(w, CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
612 SetWindowWidgetDisabledState(w, CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
613 SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); |
613 SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); |
614 SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= 15); |
614 SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= MAX_TILE_HEIGHT); |
615 |
615 |
616 SetWindowWidgetLoweredState(w, CSCEN_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); |
616 SetWindowWidgetLoweredState(w, CSCEN_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); |
617 SetWindowWidgetLoweredState(w, CSCEN_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); |
617 SetWindowWidgetLoweredState(w, CSCEN_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); |
618 SetWindowWidgetLoweredState(w, CSCEN_TROPICAL, _opt_newgame.landscape == LT_TROPIC); |
618 SetWindowWidgetLoweredState(w, CSCEN_TROPICAL, _opt_newgame.landscape == LT_TROPIC); |
619 SetWindowWidgetLoweredState(w, CSCEN_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); |
619 SetWindowWidgetLoweredState(w, CSCEN_TOYLAND, _opt_newgame.landscape == LT_TOYLAND); |
670 /* Don't allow too fast scrolling */ |
670 /* Don't allow too fast scrolling */ |
671 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
671 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
672 HandleButtonClick(w, e->we.click.widget); |
672 HandleButtonClick(w, e->we.click.widget); |
673 SetWindowDirty(w); |
673 SetWindowDirty(w); |
674 |
674 |
675 _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, 15); |
675 _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, MAX_TILE_HEIGHT); |
676 } |
676 } |
677 _left_button_clicked = false; |
677 _left_button_clicked = false; |
678 break; |
678 break; |
679 case CSCEN_FLAT_LAND_HEIGHT_TEXT: // Height level text |
679 case CSCEN_FLAT_LAND_HEIGHT_TEXT: // Height level text |
680 WP(w, generate_d).widget_id = CSCEN_FLAT_LAND_HEIGHT_TEXT; |
680 WP(w, generate_d).widget_id = CSCEN_FLAT_LAND_HEIGHT_TEXT; |
701 InvalidateWidget(w, CSCEN_START_DATE_TEXT); |
701 InvalidateWidget(w, CSCEN_START_DATE_TEXT); |
702 _patches_newgame.starting_year = clamp(value, MIN_YEAR, MAX_YEAR); |
702 _patches_newgame.starting_year = clamp(value, MIN_YEAR, MAX_YEAR); |
703 break; |
703 break; |
704 case CSCEN_FLAT_LAND_HEIGHT_TEXT: |
704 case CSCEN_FLAT_LAND_HEIGHT_TEXT: |
705 InvalidateWidget(w, CSCEN_FLAT_LAND_HEIGHT_TEXT); |
705 InvalidateWidget(w, CSCEN_FLAT_LAND_HEIGHT_TEXT); |
706 _patches_newgame.se_flat_world_height = clamp(value, 0, 15); |
706 _patches_newgame.se_flat_world_height = clamp(value, 0, MAX_TILE_HEIGHT); |
707 break; |
707 break; |
708 } |
708 } |
709 |
709 |
710 SetWindowDirty(w); |
710 SetWindowDirty(w); |
711 } |
711 } |