src/genworld_gui.cpp
changeset 7809 40156c450f13
parent 7619 ebef4067b88a
child 7837 65d7362153a6
equal deleted inserted replaced
7808:70bb84732406 7809:40156c450f13
   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 		}