513 { WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, |
515 { WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, |
514 |
516 |
515 { WIDGETS_END}, |
517 { WIDGETS_END}, |
516 }; |
518 }; |
517 |
519 |
518 static const WindowDesc _build_railroad_desc = { |
520 static const WindowDesc _build_rail_desc = { |
519 640-372, 22, 372, 36, |
521 640-372, 22, 372, 36, |
520 WC_BUILD_TOOLBAR,0, |
522 WC_BUILD_TOOLBAR,0, |
521 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
523 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
522 _build_railroad_widgets, |
524 _build_rail_widgets, |
523 BuildRailToolbWndProc |
525 BuildRailToolbWndProc |
524 }; |
526 }; |
525 |
527 |
526 static const Widget _build_monorail_widgets[] = { |
528 /** Enum referring to the widgets of the build rail toolbar |
527 { WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW}, |
529 */ |
528 { WWT_CAPTION, RESIZE_NONE, 7, 11, 359, 0, 13, STR_100B_MONORAIL_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
530 typedef enum { |
529 { WWT_STICKYBOX, RESIZE_NONE, 7, 360, 371, 0, 13, 0x0, STR_STICKY_BUTTON}, |
531 RTW_CAPTION = 1, |
530 |
532 RTW_BUILD_NS = 4, |
531 { WWT_PANEL, RESIZE_NONE, 7, 110, 113, 14, 35, 0x0, STR_NULL}, |
533 RTW_BUILD_X = 5, |
532 |
534 RTW_BUILD_EW = 6, |
533 { WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, 0x4E7, STR_1018_BUILD_RAILROAD_TRACK}, |
535 RTW_BUILD_Y = 7, |
534 { WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, 0x4E8, STR_1018_BUILD_RAILROAD_TRACK}, |
536 RTW_AUTORAIL = 8, |
535 { WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, 0x4E9, STR_1018_BUILD_RAILROAD_TRACK}, |
537 RTW_BUILD_DEPOT = 10, |
536 { WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, 0x4EA, STR_1018_BUILD_RAILROAD_TRACK}, |
538 RTW_BUILD_TUNNEL = 15, |
537 { WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_OPENTTD_BASE + 1, STR_BUILD_AUTORAIL_TIP}, |
539 RTW_CONVERT_RAIL = 17 |
538 |
540 } RailToolbarWidgets; |
539 { WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC}, |
541 |
540 { WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, SPR_OPENTTD_BASE + 12, STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING}, |
542 /** Configures the rail toolbar for railtype given |
541 { WWT_PANEL, RESIZE_NONE, 7, 158, 179, 14, 35, SPR_OPENTTD_BASE + 3, STR_CONVERT_RAIL_TO_WAYPOINT_TIP}, |
543 * @param railtype the railtype to display |
542 |
544 * @param w the window to modify |
543 { WWT_PANEL, RESIZE_NONE, 7, 180, 221, 14, 35, 0x512, STR_101A_BUILD_RAILROAD_STATION}, |
545 */ |
544 { WWT_PANEL, RESIZE_NONE, 7, 222, 243, 14, 35, 0x50B, STR_101B_BUILD_RAILROAD_SIGNALS}, |
546 static void SetupRailToolbar(uint16 railtype, Window *w) |
545 { WWT_PANEL, RESIZE_NONE, 7, 244, 285, 14, 35, 0xA22, STR_101C_BUILD_RAILROAD_BRIDGE}, |
547 { |
546 { WWT_PANEL, RESIZE_NONE, 7, 286, 305, 14, 35, 0x97F, STR_101D_BUILD_RAILROAD_TUNNEL}, |
548 const RailtypeInfo *rti = GetRailTypeInfo(railtype); |
547 { WWT_PANEL, RESIZE_NONE, 7, 306, 327, 14, 35, 0x2CA, STR_101E_TOGGLE_BUILD_REMOVE_FOR}, |
549 |
548 { WWT_PANEL, RESIZE_NONE, 7, 328, 349, 14, 35, SPR_OPENTTD_BASE + 27, STR_CONVERT_RAIL_TIP}, |
550 assert(railtype < RAILTYPE_END); |
549 |
551 w->widget[RTW_CAPTION].unkA = rti->strings.toolbar_caption; |
550 { WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, |
552 w->widget[RTW_BUILD_NS].unkA = rti->gui_sprites.build_ns_rail; |
551 |
553 w->widget[RTW_BUILD_X].unkA = rti->gui_sprites.build_x_rail; |
552 { WIDGETS_END}, |
554 w->widget[RTW_BUILD_EW].unkA = rti->gui_sprites.build_ew_rail; |
553 }; |
555 w->widget[RTW_BUILD_Y].unkA = rti->gui_sprites.build_y_rail; |
554 |
556 w->widget[RTW_AUTORAIL].unkA = rti->gui_sprites.auto_rail; |
555 static const WindowDesc _build_monorail_desc = { |
557 w->widget[RTW_BUILD_DEPOT].unkA = rti->gui_sprites.build_depot; |
556 640-372, 22, 372, 36, |
558 w->widget[RTW_CONVERT_RAIL].unkA = rti->gui_sprites.convert_rail; |
557 WC_BUILD_TOOLBAR,0, |
559 w->widget[RTW_BUILD_TUNNEL].unkA = rti->gui_sprites.build_tunnel; |
558 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
560 } |
559 _build_monorail_widgets, |
|
560 BuildRailToolbWndProc |
|
561 }; |
|
562 |
|
563 static const Widget _build_maglev_widgets[] = { |
|
564 { WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW}, |
|
565 { WWT_CAPTION, RESIZE_NONE, 7, 11, 359, 0, 13, STR_100C_MAGLEV_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
|
566 { WWT_STICKYBOX, RESIZE_NONE, 7, 360, 371, 0, 13, 0x0, STR_STICKY_BUTTON}, |
|
567 |
|
568 { WWT_PANEL, RESIZE_NONE, 7, 110, 113, 14, 35, 0x0, STR_NULL}, |
|
569 |
|
570 { WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, 0x4EB, STR_1018_BUILD_RAILROAD_TRACK}, |
|
571 { WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, 0x4EC, STR_1018_BUILD_RAILROAD_TRACK}, |
|
572 { WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, 0x4EE, STR_1018_BUILD_RAILROAD_TRACK}, |
|
573 { WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, 0x4ED, STR_1018_BUILD_RAILROAD_TRACK}, |
|
574 { WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_OPENTTD_BASE + 2, STR_BUILD_AUTORAIL_TIP}, |
|
575 |
|
576 { WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC}, |
|
577 { WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, SPR_OPENTTD_BASE + 13, STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING}, |
|
578 { WWT_PANEL, RESIZE_NONE, 7, 158, 179, 14, 35, SPR_OPENTTD_BASE + 3, STR_CONVERT_RAIL_TO_WAYPOINT_TIP}, |
|
579 |
|
580 { WWT_PANEL, RESIZE_NONE, 7, 180, 221, 14, 35, 0x512, STR_101A_BUILD_RAILROAD_STATION}, |
|
581 { WWT_PANEL, RESIZE_NONE, 7, 222, 243, 14, 35, 0x50B, STR_101B_BUILD_RAILROAD_SIGNALS}, |
|
582 { WWT_PANEL, RESIZE_NONE, 7, 244, 285, 14, 35, 0xA22, STR_101C_BUILD_RAILROAD_BRIDGE}, |
|
583 { WWT_PANEL, RESIZE_NONE, 7, 286, 305, 14, 35, 0x980, STR_101D_BUILD_RAILROAD_TUNNEL}, |
|
584 { WWT_PANEL, RESIZE_NONE, 7, 306, 327, 14, 35, 0x2CA, STR_101E_TOGGLE_BUILD_REMOVE_FOR}, |
|
585 { WWT_PANEL, RESIZE_NONE, 7, 328, 349, 14, 35, SPR_OPENTTD_BASE + 29, STR_CONVERT_RAIL_TIP}, |
|
586 |
|
587 { WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, |
|
588 |
|
589 { WIDGETS_END}, |
|
590 }; |
|
591 |
|
592 static const WindowDesc _build_maglev_desc = { |
|
593 640-372, 22, 372, 36, |
|
594 WC_BUILD_TOOLBAR,0, |
|
595 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
|
596 _build_maglev_widgets, |
|
597 BuildRailToolbWndProc |
|
598 }; |
|
599 |
|
600 |
|
601 static const WindowDesc * const _build_rr_desc[] = { |
|
602 &_build_railroad_desc, |
|
603 &_build_monorail_desc, |
|
604 &_build_maglev_desc, |
|
605 }; |
|
606 |
561 |
607 void ShowBuildRailToolbar(int index, int button) |
562 void ShowBuildRailToolbar(int index, int button) |
608 { |
563 { |
609 Window *w; |
564 Window *w; |
610 |
565 |