equal
deleted
inserted
replaced
326 } |
326 } |
327 |
327 |
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: DeleteWindow(w); 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 RaiseWindowWidget(w, _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 |
347 break; |
347 break; |
348 case GLAND_RANDOM_BUTTON: // Random seed |
348 case GLAND_RANDOM_BUTTON: // Random seed |
349 _patches_newgame.generation_seed = InteractiveRandom(); |
349 _patches_newgame.generation_seed = InteractiveRandom(); |
350 snprintf(_genseed_buffer, lengthof(_genseed_buffer), "%u", _patches_newgame.generation_seed); |
350 snprintf(_genseed_buffer, lengthof(_genseed_buffer), "%u", _patches_newgame.generation_seed); |
351 UpdateTextBufferSize(&_genseed_query.text); |
351 UpdateTextBufferSize(&_genseed_query.text); |
352 SetWindowDirty(w); |
352 w->SetDirty(); |
353 break; |
353 break; |
354 case GLAND_GENERATE_BUTTON: // Generate |
354 case GLAND_GENERATE_BUTTON: // Generate |
355 if (mode == GLWP_HEIGHTMAP && ( |
355 if (mode == GLWP_HEIGHTMAP && ( |
356 _heightmap_x * 2 < (1U << _patches_newgame.map_x) || _heightmap_x / 2 > (1U << _patches_newgame.map_x) || |
356 _heightmap_x * 2 < (1U << _patches_newgame.map_x) || _heightmap_x / 2 > (1U << _patches_newgame.map_x) || |
357 _heightmap_y * 2 < (1U << _patches_newgame.map_y) || _heightmap_y / 2 > (1U << _patches_newgame.map_y))) { |
357 _heightmap_y * 2 < (1U << _patches_newgame.map_y) || _heightmap_y / 2 > (1U << _patches_newgame.map_y))) { |
365 } |
365 } |
366 break; |
366 break; |
367 case GLAND_START_DATE_DOWN: case GLAND_START_DATE_UP: // Year buttons |
367 case GLAND_START_DATE_DOWN: case GLAND_START_DATE_UP: // Year buttons |
368 /* Don't allow too fast scrolling */ |
368 /* Don't allow too fast scrolling */ |
369 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
369 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
370 HandleButtonClick(w, e->we.click.widget); |
370 w->HandleButtonClick(e->we.click.widget); |
371 SetWindowDirty(w); |
371 w->SetDirty(); |
372 |
372 |
373 _patches_newgame.starting_year = clamp(_patches_newgame.starting_year + e->we.click.widget - GLAND_START_DATE_TEXT, MIN_YEAR, MAX_YEAR); |
373 _patches_newgame.starting_year = clamp(_patches_newgame.starting_year + e->we.click.widget - GLAND_START_DATE_TEXT, MIN_YEAR, MAX_YEAR); |
374 } |
374 } |
375 _left_button_clicked = false; |
375 _left_button_clicked = false; |
376 break; |
376 break; |
380 ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_START_DATE_QUERY_CAPT, 8, 100, w, CS_NUMERAL); |
380 ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_START_DATE_QUERY_CAPT, 8, 100, w, CS_NUMERAL); |
381 break; |
381 break; |
382 case GLAND_SNOW_LEVEL_DOWN: case GLAND_SNOW_LEVEL_UP: // Snow line buttons |
382 case GLAND_SNOW_LEVEL_DOWN: case GLAND_SNOW_LEVEL_UP: // Snow line buttons |
383 /* Don't allow too fast scrolling */ |
383 /* Don't allow too fast scrolling */ |
384 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
384 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
385 HandleButtonClick(w, e->we.click.widget); |
385 w->HandleButtonClick(e->we.click.widget); |
386 SetWindowDirty(w); |
386 w->SetDirty(); |
387 |
387 |
388 _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, 13); |
388 _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, 13); |
389 } |
389 } |
390 _left_button_clicked = false; |
390 _left_button_clicked = false; |
391 break; |
391 break; |
465 _opt_newgame.diff.quantity_sea_lakes = e->we.dropdown.index; |
465 _opt_newgame.diff.quantity_sea_lakes = e->we.dropdown.index; |
466 if (_opt_newgame.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0); |
466 if (_opt_newgame.diff_level != 3) ShowErrorMessage(INVALID_STRING_ID, STR_DIFFICULTY_TO_CUSTOM, 0, 0); |
467 DoCommandP(0, 13, _opt_newgame.diff.quantity_sea_lakes, NULL, CMD_CHANGE_DIFFICULTY_LEVEL); |
467 DoCommandP(0, 13, _opt_newgame.diff.quantity_sea_lakes, NULL, CMD_CHANGE_DIFFICULTY_LEVEL); |
468 break; |
468 break; |
469 } |
469 } |
470 SetWindowDirty(w); |
470 w->SetDirty(); |
471 break; |
471 break; |
472 |
472 |
473 case WE_ON_EDIT_TEXT: { |
473 case WE_ON_EDIT_TEXT: { |
474 if (e->we.edittext.str != NULL) { |
474 if (e->we.edittext.str != NULL) { |
475 int32 value = atoi(e->we.edittext.str); |
475 int32 value = atoi(e->we.edittext.str); |
483 InvalidateWidget(w, GLAND_SNOW_LEVEL_TEXT); |
483 InvalidateWidget(w, GLAND_SNOW_LEVEL_TEXT); |
484 _patches_newgame.snow_line_height = clamp(value, 2, 13); |
484 _patches_newgame.snow_line_height = clamp(value, 2, 13); |
485 break; |
485 break; |
486 } |
486 } |
487 |
487 |
488 SetWindowDirty(w); |
488 w->SetDirty(); |
489 } |
489 } |
490 break; |
490 break; |
491 } |
491 } |
492 } |
492 } |
493 } |
493 } |
626 ShowGenerateLandscape(); |
626 ShowGenerateLandscape(); |
627 break; |
627 break; |
628 case CSCEN_START_DATE_DOWN: case CSCEN_START_DATE_UP: // Year buttons |
628 case CSCEN_START_DATE_DOWN: case CSCEN_START_DATE_UP: // Year buttons |
629 /* Don't allow too fast scrolling */ |
629 /* Don't allow too fast scrolling */ |
630 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
630 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
631 HandleButtonClick(w, e->we.click.widget); |
631 w->HandleButtonClick(e->we.click.widget); |
632 SetWindowDirty(w); |
632 w->SetDirty(); |
633 |
633 |
634 _patches_newgame.starting_year = clamp(_patches_newgame.starting_year + e->we.click.widget - CSCEN_START_DATE_TEXT, MIN_YEAR, MAX_YEAR); |
634 _patches_newgame.starting_year = clamp(_patches_newgame.starting_year + e->we.click.widget - CSCEN_START_DATE_TEXT, MIN_YEAR, MAX_YEAR); |
635 } |
635 } |
636 _left_button_clicked = false; |
636 _left_button_clicked = false; |
637 break; |
637 break; |
641 ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_START_DATE_QUERY_CAPT, 8, 100, w, CS_NUMERAL); |
641 ShowQueryString(STR_CONFIG_PATCHES_INT32, STR_START_DATE_QUERY_CAPT, 8, 100, w, CS_NUMERAL); |
642 break; |
642 break; |
643 case CSCEN_FLAT_LAND_HEIGHT_DOWN: case CSCEN_FLAT_LAND_HEIGHT_UP: // Height level buttons |
643 case CSCEN_FLAT_LAND_HEIGHT_DOWN: case CSCEN_FLAT_LAND_HEIGHT_UP: // Height level buttons |
644 /* Don't allow too fast scrolling */ |
644 /* Don't allow too fast scrolling */ |
645 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
645 if ((w->flags4 & WF_TIMEOUT_MASK) <= 2 << WF_TIMEOUT_SHL) { |
646 HandleButtonClick(w, e->we.click.widget); |
646 w->HandleButtonClick(e->we.click.widget); |
647 SetWindowDirty(w); |
647 w->SetDirty(); |
648 |
648 |
649 _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, 15); |
649 _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, 15); |
650 } |
650 } |
651 _left_button_clicked = false; |
651 _left_button_clicked = false; |
652 break; |
652 break; |
661 case WE_DROPDOWN_SELECT: |
661 case WE_DROPDOWN_SELECT: |
662 switch (e->we.dropdown.button) { |
662 switch (e->we.dropdown.button) { |
663 case CSCEN_MAPSIZE_X_PULLDOWN: _patches_newgame.map_x = e->we.dropdown.index + 6; break; |
663 case CSCEN_MAPSIZE_X_PULLDOWN: _patches_newgame.map_x = e->we.dropdown.index + 6; break; |
664 case CSCEN_MAPSIZE_Y_PULLDOWN: _patches_newgame.map_y = e->we.dropdown.index + 6; break; |
664 case CSCEN_MAPSIZE_Y_PULLDOWN: _patches_newgame.map_y = e->we.dropdown.index + 6; break; |
665 } |
665 } |
666 SetWindowDirty(w); |
666 w->SetDirty(); |
667 break; |
667 break; |
668 |
668 |
669 case WE_ON_EDIT_TEXT: { |
669 case WE_ON_EDIT_TEXT: { |
670 if (e->we.edittext.str != NULL) { |
670 if (e->we.edittext.str != NULL) { |
671 int32 value = atoi(e->we.edittext.str); |
671 int32 value = atoi(e->we.edittext.str); |
679 InvalidateWidget(w, CSCEN_FLAT_LAND_HEIGHT_TEXT); |
679 InvalidateWidget(w, CSCEN_FLAT_LAND_HEIGHT_TEXT); |
680 _patches_newgame.se_flat_world_height = clamp(value, 0, 15); |
680 _patches_newgame.se_flat_world_height = clamp(value, 0, 15); |
681 break; |
681 break; |
682 } |
682 } |
683 |
683 |
684 SetWindowDirty(w); |
684 w->SetDirty(); |
685 } |
685 } |
686 break; |
686 break; |
687 } |
687 } |
688 } |
688 } |
689 } |
689 } |
789 /* And say where we are in that class */ |
789 /* And say where we are in that class */ |
790 SetDParam(0, _tp.current); |
790 SetDParam(0, _tp.current); |
791 SetDParam(1, _tp.total); |
791 SetDParam(1, _tp.total); |
792 DrawStringCentered(90, 58, STR_GENERATION_PROGRESS, 0); |
792 DrawStringCentered(90, 58, STR_GENERATION_PROGRESS, 0); |
793 |
793 |
794 SetWindowDirty(w); |
794 w->SetDirty(); |
795 break; |
795 break; |
796 } |
796 } |
797 } |
797 } |
798 |
798 |
799 static const WindowDesc _show_terrain_progress_desc = { |
799 static const WindowDesc _show_terrain_progress_desc = { |