221 glwp_modes mode = (glwp_modes)w->window_number; |
221 glwp_modes mode = (glwp_modes)w->window_number; |
222 uint y; |
222 uint y; |
223 |
223 |
224 switch (e->event) { |
224 switch (e->event) { |
225 case WE_CREATE: |
225 case WE_CREATE: |
226 LowerWindowWidget(w, _opt_newgame.landscape + GLAND_TEMPERATE); |
226 w->LowerWidget(_opt_newgame.landscape + GLAND_TEMPERATE); |
227 |
227 |
228 snprintf(_genseed_buffer, sizeof(_genseed_buffer), "%u", _patches_newgame.generation_seed); |
228 snprintf(_genseed_buffer, sizeof(_genseed_buffer), "%u", _patches_newgame.generation_seed); |
229 InitializeTextBuffer(&_genseed_query.text, _genseed_buffer, lengthof(_genseed_buffer), 120); |
229 InitializeTextBuffer(&_genseed_query.text, _genseed_buffer, lengthof(_genseed_buffer), 120); |
230 _genseed_query.caption = STR_NULL; |
230 _genseed_query.caption = STR_NULL; |
231 _genseed_query.afilter = CS_NUMERAL; |
231 _genseed_query.afilter = CS_NUMERAL; |
250 w->SetWidgetDisabledState(GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
250 w->SetWidgetDisabledState(GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
251 w->SetWidgetDisabledState(GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
251 w->SetWidgetDisabledState(GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
252 w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_HILLY); |
252 w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_HILLY); |
253 w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= 13 || _opt_newgame.landscape != LT_HILLY); |
253 w->SetWidgetDisabledState(GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= 13 || _opt_newgame.landscape != LT_HILLY); |
254 |
254 |
255 SetWindowWidgetLoweredState(w, GLAND_TEMPERATE, _opt_newgame.landscape == LT_NORMAL); |
255 w->SetWidgetLoweredState(GLAND_TEMPERATE, _opt_newgame.landscape == LT_NORMAL); |
256 SetWindowWidgetLoweredState(w, GLAND_ARCTIC, _opt_newgame.landscape == LT_HILLY); |
256 w->SetWidgetLoweredState(GLAND_ARCTIC, _opt_newgame.landscape == LT_HILLY); |
257 SetWindowWidgetLoweredState(w, GLAND_TROPICAL, _opt_newgame.landscape == LT_DESERT); |
257 w->SetWidgetLoweredState(GLAND_TROPICAL, _opt_newgame.landscape == LT_DESERT); |
258 SetWindowWidgetLoweredState(w, GLAND_TOYLAND, _opt_newgame.landscape == LT_CANDY); |
258 w->SetWidgetLoweredState(GLAND_TOYLAND, _opt_newgame.landscape == LT_CANDY); |
259 w->DrawWidgets(); |
259 w->DrawWidgets(); |
260 |
260 |
261 y = (mode == GLWP_HEIGHTMAP) ? 22 : 0; |
261 y = (mode == GLWP_HEIGHTMAP) ? 22 : 0; |
262 |
262 |
263 DrawString( 12, 91 + y, STR_MAPSIZE, 0); |
263 DrawString( 12, 91 + y, STR_MAPSIZE, 0); |
328 break; |
328 break; |
329 case WE_CLICK: |
329 case WE_CLICK: |
330 switch (e->we.click.widget) { |
330 switch (e->we.click.widget) { |
331 case 0: w->Close(); break; |
331 case 0: w->Close(); break; |
332 case GLAND_TEMPERATE: case GLAND_ARCTIC: case GLAND_TROPICAL: case GLAND_TOYLAND: |
332 case GLAND_TEMPERATE: case GLAND_ARCTIC: case GLAND_TROPICAL: case GLAND_TOYLAND: |
333 RaiseWindowWidget(w, _opt_newgame.landscape + GLAND_TEMPERATE); |
333 w->RaiseWidget(_opt_newgame.landscape + GLAND_TEMPERATE); |
334 SetNewLandscapeType(e->we.click.widget - GLAND_TEMPERATE); |
334 SetNewLandscapeType(e->we.click.widget - GLAND_TEMPERATE); |
335 break; |
335 break; |
336 case GLAND_MAPSIZE_X_TEXT: case GLAND_MAPSIZE_X_PULLDOWN: // Mapsize X |
336 case GLAND_MAPSIZE_X_TEXT: case GLAND_MAPSIZE_X_PULLDOWN: // Mapsize X |
337 w->ShowDropDownMenu(mapsizes, _patches_newgame.map_x - 6, GLAND_MAPSIZE_X_PULLDOWN, 0, 0); |
337 w->ShowDropDownMenu(mapsizes, _patches_newgame.map_x - 6, GLAND_MAPSIZE_X_PULLDOWN, 0, 0); |
338 break; |
338 break; |
577 static void CreateScenarioWndProc(Window *w, WindowEvent *e) |
577 static void CreateScenarioWndProc(Window *w, WindowEvent *e) |
578 { |
578 { |
579 static const StringID mapsizes[] = {STR_64, STR_128, STR_256, STR_512, STR_1024, STR_2048, INVALID_STRING_ID}; |
579 static const StringID mapsizes[] = {STR_64, STR_128, STR_256, STR_512, STR_1024, STR_2048, INVALID_STRING_ID}; |
580 |
580 |
581 switch (e->event) { |
581 switch (e->event) { |
582 case WE_CREATE: LowerWindowWidget(w, _opt_newgame.landscape + CSCEN_TEMPERATE); break; |
582 case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + CSCEN_TEMPERATE); break; |
583 |
583 |
584 case WE_PAINT: |
584 case WE_PAINT: |
585 w->SetWidgetDisabledState(CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
585 w->SetWidgetDisabledState(CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); |
586 w->SetWidgetDisabledState(CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
586 w->SetWidgetDisabledState(CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); |
587 w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); |
587 w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); |
588 w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= 15); |
588 w->SetWidgetDisabledState(CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= 15); |
589 |
589 |
590 SetWindowWidgetLoweredState(w, CSCEN_TEMPERATE, _opt_newgame.landscape == LT_NORMAL); |
590 w->SetWidgetLoweredState(CSCEN_TEMPERATE, _opt_newgame.landscape == LT_NORMAL); |
591 SetWindowWidgetLoweredState(w, CSCEN_ARCTIC, _opt_newgame.landscape == LT_HILLY); |
591 w->SetWidgetLoweredState(CSCEN_ARCTIC, _opt_newgame.landscape == LT_HILLY); |
592 SetWindowWidgetLoweredState(w, CSCEN_TROPICAL, _opt_newgame.landscape == LT_DESERT); |
592 w->SetWidgetLoweredState(CSCEN_TROPICAL, _opt_newgame.landscape == LT_DESERT); |
593 SetWindowWidgetLoweredState(w, CSCEN_TOYLAND, _opt_newgame.landscape == LT_CANDY); |
593 w->SetWidgetLoweredState(CSCEN_TOYLAND, _opt_newgame.landscape == LT_CANDY); |
594 w->DrawWidgets(); |
594 w->DrawWidgets(); |
595 |
595 |
596 DrawStringRightAligned(211, 97, STR_MAPSIZE, 0); |
596 DrawStringRightAligned(211, 97, STR_MAPSIZE, 0); |
597 DrawString( 221, 97, mapsizes[_patches_newgame.map_x - 6], 0x10); |
597 DrawString( 221, 97, mapsizes[_patches_newgame.map_x - 6], 0x10); |
598 DrawStringCentered( 272, 97, STR_BY, 0); |
598 DrawStringCentered( 272, 97, STR_BY, 0); |
608 |
608 |
609 break; |
609 break; |
610 case WE_CLICK: |
610 case WE_CLICK: |
611 switch (e->we.click.widget) { |
611 switch (e->we.click.widget) { |
612 case CSCEN_TEMPERATE: case CSCEN_ARCTIC: case CSCEN_TROPICAL: case CSCEN_TOYLAND: |
612 case CSCEN_TEMPERATE: case CSCEN_ARCTIC: case CSCEN_TROPICAL: case CSCEN_TOYLAND: |
613 RaiseWindowWidget(w, _opt_newgame.landscape + CSCEN_TEMPERATE); |
613 w->RaiseWidget(_opt_newgame.landscape + CSCEN_TEMPERATE); |
614 SetNewLandscapeType(e->we.click.widget - CSCEN_TEMPERATE); |
614 SetNewLandscapeType(e->we.click.widget - CSCEN_TEMPERATE); |
615 break; |
615 break; |
616 case CSCEN_MAPSIZE_X_TEXT: case CSCEN_MAPSIZE_X_PULLDOWN: // Mapsize X |
616 case CSCEN_MAPSIZE_X_TEXT: case CSCEN_MAPSIZE_X_PULLDOWN: // Mapsize X |
617 w->ShowDropDownMenu(mapsizes, _patches_newgame.map_x - 6, CSCEN_MAPSIZE_X_PULLDOWN, 0, 0); |
617 w->ShowDropDownMenu(mapsizes, _patches_newgame.map_x - 6, CSCEN_MAPSIZE_X_PULLDOWN, 0, 0); |
618 break; |
618 break; |