225 DrawWindowWidgets(w); |
225 DrawWindowWidgets(w); |
226 break; |
226 break; |
227 |
227 |
228 case WE_CLICK: { |
228 case WE_CLICK: { |
229 if (e->we.click.widget >= 3) _build_road_button_proc[e->we.click.widget - 3](w); |
229 if (e->we.click.widget >= 3) _build_road_button_proc[e->we.click.widget - 3](w); |
230 } break; |
230 } break; |
231 |
231 |
232 case WE_KEYPRESS: |
232 case WE_KEYPRESS: |
233 switch (e->we.keypress.keycode) { |
233 switch (e->we.keypress.keycode) { |
234 case '1': BuildRoadClick_NE(w); break; |
234 case '1': BuildRoadClick_NE(w); break; |
235 case '2': BuildRoadClick_NW(w); break; |
235 case '2': BuildRoadClick_NW(w); break; |
255 RaiseWindowButtons(w); |
255 RaiseWindowButtons(w); |
256 DisableWindowWidget(w, RTW_REMOVE); |
256 DisableWindowWidget(w, RTW_REMOVE); |
257 InvalidateWidget(w, RTW_REMOVE); |
257 InvalidateWidget(w, RTW_REMOVE); |
258 |
258 |
259 w = FindWindowById(WC_BUS_STATION, 0); |
259 w = FindWindowById(WC_BUS_STATION, 0); |
260 if (w != NULL) WP(w,def_d).close = true; |
260 if (w != NULL) WP(w, def_d).close = true; |
261 w = FindWindowById(WC_TRUCK_STATION, 0); |
261 w = FindWindowById(WC_TRUCK_STATION, 0); |
262 if (w != NULL) WP(w,def_d).close = true; |
262 if (w != NULL) WP(w, def_d).close = true; |
263 w = FindWindowById(WC_BUILD_DEPOT, 0); |
263 w = FindWindowById(WC_BUILD_DEPOT, 0); |
264 if (w != NULL) WP(w,def_d).close = true; |
264 if (w != NULL) WP(w, def_d).close = true; |
265 break; |
265 break; |
266 |
266 |
267 case WE_PLACE_DRAG: { |
267 case WE_PLACE_DRAG: { |
268 int sel_method; |
268 int sel_method; |
269 switch (e->we.place.userdata) { |
269 switch (e->we.place.userdata) { |
409 LowerWindowWidget(w, _road_depot_orientation + 3); |
409 LowerWindowWidget(w, _road_depot_orientation + 3); |
410 SndPlayFx(SND_15_BEEP); |
410 SndPlayFx(SND_15_BEEP); |
411 SetWindowDirty(w); |
411 SetWindowDirty(w); |
412 break; |
412 break; |
413 } |
413 } |
414 } break; |
414 } break; |
415 |
415 |
416 case WE_MOUSELOOP: |
416 case WE_MOUSELOOP: |
417 if (WP(w,def_d).close) DeleteWindow(w); |
417 if (WP(w, def_d).close) DeleteWindow(w); |
418 break; |
418 break; |
419 |
419 |
420 case WE_DESTROY: |
420 case WE_DESTROY: |
421 if (!WP(w,def_d).close) ResetObjectToPlace(); |
421 if (!WP(w, def_d).close) ResetObjectToPlace(); |
422 break; |
422 break; |
423 } |
423 } |
424 } |
424 } |
425 |
425 |
426 static const Widget _build_road_depot_widgets[] = { |
426 static const Widget _build_road_depot_widgets[] = { |
470 } |
470 } |
471 |
471 |
472 image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE : GFX_TRUCK_BASE; |
472 image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE : GFX_TRUCK_BASE; |
473 |
473 |
474 StationPickerDrawSprite(103, 35, RAILTYPE_BEGIN, image); |
474 StationPickerDrawSprite(103, 35, RAILTYPE_BEGIN, image); |
475 StationPickerDrawSprite(103, 85, RAILTYPE_BEGIN, image+1); |
475 StationPickerDrawSprite(103, 85, RAILTYPE_BEGIN, image + 1); |
476 StationPickerDrawSprite(35, 85, RAILTYPE_BEGIN, image+2); |
476 StationPickerDrawSprite(35, 85, RAILTYPE_BEGIN, image + 2); |
477 StationPickerDrawSprite(35, 35, RAILTYPE_BEGIN, image+3); |
477 StationPickerDrawSprite(35, 35, RAILTYPE_BEGIN, image + 3); |
478 |
478 |
479 image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE_EXT : GFX_TRUCK_BASE_EXT; |
479 image = (w->window_class == WC_BUS_STATION) ? GFX_BUS_BASE_EXT : GFX_TRUCK_BASE_EXT; |
480 |
480 |
481 StationPickerDrawSprite(171, 35, RAILTYPE_BEGIN, image); |
481 StationPickerDrawSprite(171, 35, RAILTYPE_BEGIN, image); |
482 StationPickerDrawSprite(171, 85, RAILTYPE_BEGIN, image + 1); |
482 StationPickerDrawSprite(171, 85, RAILTYPE_BEGIN, image + 1); |
483 |
483 |
484 DrawStationCoverageAreaText(2, 146, |
484 DrawStationCoverageAreaText(2, 146, |
485 ((w->window_class == WC_BUS_STATION) ? (1<<CT_PASSENGERS) : ~(1<<CT_PASSENGERS)), |
485 ((w->window_class == WC_BUS_STATION) ? (1 << CT_PASSENGERS) : ~(1 << CT_PASSENGERS)), |
486 3); |
486 3); |
487 |
487 |
488 } break; |
488 } break; |
489 |
489 |
490 case WE_CLICK: { |
490 case WE_CLICK: { |