111 if (w->IsWidgetDisabled(widget)) return false; |
111 if (w->IsWidgetDisabled(widget)) return false; |
112 |
112 |
113 SndPlayFx(SND_15_BEEP); |
113 SndPlayFx(SND_15_BEEP); |
114 w->SetDirty(); |
114 w->SetDirty(); |
115 |
115 |
116 if (IsWindowWidgetLowered(w, widget)) { |
116 if (w->IsWidgetLowered(widget)) { |
117 ResetObjectToPlace(); |
117 ResetObjectToPlace(); |
118 return false; |
118 return false; |
119 } |
119 } |
120 |
120 |
121 SetObjectToPlace(cursor, PAL_NONE, mode, w->window_class, w->window_number); |
121 SetObjectToPlace(cursor, PAL_NONE, mode, w->window_class, w->window_number); |
122 LowerWindowWidget(w, widget); |
122 w->LowerWidget(widget); |
123 _place_proc = placeproc; |
123 _place_proc = placeproc; |
124 return true; |
124 return true; |
125 } |
125 } |
126 |
126 |
127 |
127 |
692 { |
692 { |
693 int width; |
693 int width; |
694 int x = w->widget[GB(parent_button, 0, 8)].left; |
694 int x = w->widget[GB(parent_button, 0, 8)].left; |
695 |
695 |
696 assert(disabled_mask == 0 || item_count <= 8); |
696 assert(disabled_mask == 0 || item_count <= 8); |
697 LowerWindowWidget(w, parent_button); |
697 w->LowerWidget(parent_button); |
698 w->InvalidateWidget(parent_button); |
698 w->InvalidateWidget(parent_button); |
699 |
699 |
700 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
700 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
701 |
701 |
702 /* Extend the dropdown toolbar to the longest string in the list and |
702 /* Extend the dropdown toolbar to the longest string in the list and |
727 |
727 |
728 static Window *PopupMainPlayerToolbMenu(Window *w, int x, int main_button, int gray) |
728 static Window *PopupMainPlayerToolbMenu(Window *w, int x, int main_button, int gray) |
729 { |
729 { |
730 x += w->left; |
730 x += w->left; |
731 |
731 |
732 LowerWindowWidget(w, main_button); |
732 w->LowerWidget(main_button); |
733 w->InvalidateWidget(main_button); |
733 w->InvalidateWidget(main_button); |
734 |
734 |
735 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
735 DeleteWindowById(WC_TOOLBAR_MENU, 0); |
736 w = Window::Allocate(x, 0x16, 0xF1, 0x52, PlayerMenuWndProc, WC_TOOLBAR_MENU, _player_menu_widgets); |
736 w = Window::Allocate(x, 0x16, 0xF1, 0x52, PlayerMenuWndProc, WC_TOOLBAR_MENU, _player_menu_widgets); |
737 w->flash_timeout = 0; |
737 w->flash_timeout = 0; |
1287 DrawSprite(SPR_WHITE_POINT, PAL_NONE, 77 + coords[0], 55 + coords[1]); |
1287 DrawSprite(SPR_WHITE_POINT, PAL_NONE, 77 + coords[0], 55 + coords[1]); |
1288 coords += 2; |
1288 coords += 2; |
1289 } while (--n); |
1289 } while (--n); |
1290 } |
1290 } |
1291 |
1291 |
1292 if (IsWindowWidgetLowered(w, 5) || IsWindowWidgetLowered(w, 6)) // change area-size if raise/lower corner is selected |
1292 if (w->IsWidgetLowered(5) || w->IsWidgetLowered(6)) // change area-size if raise/lower corner is selected |
1293 SetTileSelectSize(_terraform_size, _terraform_size); |
1293 SetTileSelectSize(_terraform_size, _terraform_size); |
1294 |
1294 |
1295 break; |
1295 break; |
1296 |
1296 |
1297 case WE_KEYPRESS: { |
1297 case WE_KEYPRESS: { |
1458 _generating_world = false; |
1458 _generating_world = false; |
1459 break; |
1459 break; |
1460 } |
1460 } |
1461 |
1461 |
1462 case 7: case 8: case 9: |
1462 case 7: case 8: case 9: |
1463 RaiseWindowWidget(w, (_scengen_town_size - 1) + 7); |
1463 w->RaiseWidget((_scengen_town_size - 1) + 7); |
1464 _scengen_town_size = (e->we.click.widget - 7) + 1; |
1464 _scengen_town_size = (e->we.click.widget - 7) + 1; |
1465 LowerWindowWidget(w, (_scengen_town_size - 1) + 7); |
1465 w->LowerWidget((_scengen_town_size - 1) + 7); |
1466 w->SetDirty(); |
1466 w->SetDirty(); |
1467 break; |
1467 break; |
1468 } |
1468 } |
1469 break; |
1469 break; |
1470 |
1470 |
1471 case WE_TIMEOUT: |
1471 case WE_TIMEOUT: |
1472 RaiseWindowWidget(w, 5); |
1472 w->RaiseWidget(5); |
1473 RaiseWindowWidget(w, 6); |
1473 w->RaiseWidget(6); |
1474 w->SetDirty(); |
1474 w->SetDirty(); |
1475 break; |
1475 break; |
1476 case WE_PLACE_OBJ: |
1476 case WE_PLACE_OBJ: |
1477 _place_proc(e->we.place.tile); |
1477 _place_proc(e->we.place.tile); |
1478 break; |
1478 break; |
1479 case WE_ABORT_PLACE_OBJ: |
1479 case WE_ABORT_PLACE_OBJ: |
1480 w->RaiseButtons(); |
1480 w->RaiseButtons(); |
1481 LowerWindowWidget(w, (_scengen_town_size - 1) + 7); |
1481 w->LowerWidget((_scengen_town_size - 1) + 7); |
1482 w->SetDirty(); |
1482 w->SetDirty(); |
1483 break; |
1483 break; |
1484 } |
1484 } |
1485 } |
1485 } |
1486 |
1486 |
1862 case WE_PLACE_OBJ: { |
1862 case WE_PLACE_OBJ: { |
1863 _place_proc(e->we.place.tile); |
1863 _place_proc(e->we.place.tile); |
1864 } break; |
1864 } break; |
1865 |
1865 |
1866 case WE_ABORT_PLACE_OBJ: { |
1866 case WE_ABORT_PLACE_OBJ: { |
1867 RaiseWindowWidget(w, 25); |
1867 w->RaiseWidget(25); |
1868 w->SetDirty(); |
1868 w->SetDirty(); |
1869 } break; |
1869 } break; |
1870 |
1870 |
1871 case WE_MOUSELOOP: |
1871 case WE_MOUSELOOP: |
1872 if (IsWindowWidgetLowered(w, 0) != !!_pause) { |
1872 if (w->IsWidgetLowered(0) != !!_pause) { |
1873 ToggleWidgetLoweredState(w, 0); |
1873 w->ToggleWidgetLoweredState(0); |
1874 w->InvalidateWidget(0); |
1874 w->InvalidateWidget(0); |
1875 } |
1875 } |
1876 |
1876 |
1877 if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { |
1877 if (w->IsWidgetLowered(1) != !!_fast_forward) { |
1878 ToggleWidgetLoweredState(w, 1); |
1878 w->ToggleWidgetLoweredState(1); |
1879 w->InvalidateWidget(1); |
1879 w->InvalidateWidget(1); |
1880 } |
1880 } |
1881 break; |
1881 break; |
1882 |
1882 |
1883 case WE_TIMEOUT: { |
1883 case WE_TIMEOUT: { |
1884 uint i; |
1884 uint i; |
1885 for (i = 2; i < w->widget_count; i++) { |
1885 for (i = 2; i < w->widget_count; i++) { |
1886 if (IsWindowWidgetLowered(w, i)) { |
1886 if (w->IsWidgetLowered(i)) { |
1887 RaiseWindowWidget(w, i); |
1887 w->RaiseWidget(i); |
1888 w->InvalidateWidget(i); |
1888 w->InvalidateWidget(i); |
1889 } |
1889 } |
1890 } |
1890 } |
1891 break; |
1891 break; |
1892 } |
1892 } |
2061 case WE_PLACE_OBJ: { |
2061 case WE_PLACE_OBJ: { |
2062 _place_proc(e->we.place.tile); |
2062 _place_proc(e->we.place.tile); |
2063 } break; |
2063 } break; |
2064 |
2064 |
2065 case WE_ABORT_PLACE_OBJ: { |
2065 case WE_ABORT_PLACE_OBJ: { |
2066 RaiseWindowWidget(w, 25); |
2066 w->RaiseWidget(25); |
2067 w->SetDirty(); |
2067 w->SetDirty(); |
2068 } break; |
2068 } break; |
2069 |
2069 |
2070 case WE_MOUSELOOP: |
2070 case WE_MOUSELOOP: |
2071 if (IsWindowWidgetLowered(w, 0) != !!_pause) { |
2071 if (w->IsWidgetLowered(0) != !!_pause) { |
2072 ToggleWidgetLoweredState(w, 0); |
2072 w->ToggleWidgetLoweredState(0); |
2073 w->SetDirty(); |
2073 w->SetDirty(); |
2074 } |
2074 } |
2075 |
2075 |
2076 if (IsWindowWidgetLowered(w, 1) != !!_fast_forward) { |
2076 if (w->IsWidgetLowered(1) != !!_fast_forward) { |
2077 ToggleWidgetLoweredState(w, 1); |
2077 w->ToggleWidgetLoweredState(1); |
2078 w->SetDirty(); |
2078 w->SetDirty(); |
2079 } |
2079 } |
2080 break; |
2080 break; |
2081 |
2081 |
2082 case WE_MESSAGE: |
2082 case WE_MESSAGE: |