61 |
61 |
62 /* Setup widget strings to fit the different types of vehicles */ |
62 /* Setup widget strings to fit the different types of vehicles */ |
63 static void SetupWindowStrings(Window *w, byte type) |
63 static void SetupWindowStrings(Window *w, byte type) |
64 { |
64 { |
65 switch (type) { |
65 switch (type) { |
66 case VEH_Train: |
66 case VEH_TRAIN: |
67 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_JUST_STRING; |
67 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_JUST_STRING; |
68 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_8843_TRAIN_VEHICLE_SELECTION; |
68 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_8843_TRAIN_VEHICLE_SELECTION; |
69 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_881F_BUILD_VEHICLE; |
69 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_881F_BUILD_VEHICLE; |
70 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN; |
70 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN; |
71 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_8820_RENAME; |
71 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_8820_RENAME; |
72 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_8845_RENAME_TRAIN_VEHICLE_TYPE; |
72 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_8845_RENAME_TRAIN_VEHICLE_TYPE; |
73 break; |
73 break; |
74 case VEH_Road: |
74 case VEH_ROAD: |
75 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9006_NEW_ROAD_VEHICLES; |
75 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9006_NEW_ROAD_VEHICLES; |
76 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9026_ROAD_VEHICLE_SELECTION; |
76 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9026_ROAD_VEHICLE_SELECTION; |
77 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_9007_BUILD_VEHICLE; |
77 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_9007_BUILD_VEHICLE; |
78 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_9027_BUILD_THE_HIGHLIGHTED_ROAD; |
78 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_9027_BUILD_THE_HIGHLIGHTED_ROAD; |
79 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9034_RENAME; |
79 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9034_RENAME; |
80 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9035_RENAME_ROAD_VEHICLE_TYPE; |
80 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9035_RENAME_ROAD_VEHICLE_TYPE; |
81 break; |
81 break; |
82 case VEH_Ship: |
82 case VEH_SHIP: |
83 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9808_NEW_SHIPS; |
83 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_9808_NEW_SHIPS; |
84 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9825_SHIP_SELECTION_LIST_CLICK; |
84 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_9825_SHIP_SELECTION_LIST_CLICK; |
85 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_9809_BUILD_SHIP; |
85 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_9809_BUILD_SHIP; |
86 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_9826_BUILD_THE_HIGHLIGHTED_SHIP; |
86 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_9826_BUILD_THE_HIGHLIGHTED_SHIP; |
87 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9836_RENAME; |
87 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_9836_RENAME; |
88 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9837_RENAME_SHIP_TYPE; |
88 w->widget[BUILD_VEHICLE_WIDGET_RENAME].tooltips = STR_9837_RENAME_SHIP_TYPE; |
89 break; |
89 break; |
90 case VEH_Aircraft: |
90 case VEH_AIRCRAFT: |
91 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_A005_NEW_AIRCRAFT; |
91 w->widget[BUILD_VEHICLE_WIDGET_CAPTION].data = STR_A005_NEW_AIRCRAFT; |
92 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_A025_AIRCRAFT_SELECTION_LIST; |
92 w->widget[BUILD_VEHICLE_WIDGET_LIST].tooltips = STR_A025_AIRCRAFT_SELECTION_LIST; |
93 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_A006_BUILD_AIRCRAFT; |
93 w->widget[BUILD_VEHICLE_WIDGET_BUILD].data = STR_A006_BUILD_AIRCRAFT; |
94 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT; |
94 w->widget[BUILD_VEHICLE_WIDGET_BUILD].tooltips = STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT; |
95 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_A037_RENAME; |
95 w->widget[BUILD_VEHICLE_WIDGET_RENAME].data = STR_A037_RENAME; |
560 } |
560 } |
561 DrawString(x,y, STR_PURCHASE_INFO_CAPACITY, 0); |
561 DrawString(x,y, STR_PURCHASE_INFO_CAPACITY, 0); |
562 y += 10; |
562 y += 10; |
563 } |
563 } |
564 break; |
564 break; |
565 case VEH_Road: |
565 case VEH_ROAD: |
566 y = DrawRoadVehPurchaseInfo(x, y, engine_number, RoadVehInfo(engine_number)); |
566 y = DrawRoadVehPurchaseInfo(x, y, engine_number, RoadVehInfo(engine_number)); |
567 refitable = true; |
567 refitable = true; |
568 break; |
568 break; |
569 case VEH_Ship: { |
569 case VEH_SHIP: { |
570 const ShipVehicleInfo *svi = ShipVehInfo(engine_number); |
570 const ShipVehicleInfo *svi = ShipVehInfo(engine_number); |
571 y = DrawShipPurchaseInfo(x, y, engine_number, svi); |
571 y = DrawShipPurchaseInfo(x, y, engine_number, svi); |
572 refitable = svi->refittable; |
572 refitable = svi->refittable; |
573 } break; |
573 } break; |
574 case VEH_Aircraft: |
574 case VEH_AIRCRAFT: |
575 y = DrawAircraftPurchaseInfo(x, y, engine_number, AircraftVehInfo(engine_number)); |
575 y = DrawAircraftPurchaseInfo(x, y, engine_number, AircraftVehInfo(engine_number)); |
576 refitable = true; |
576 refitable = true; |
577 break; |
577 break; |
578 } |
578 } |
579 |
579 |
580 /* Draw details, that applies to all types except rail wagons */ |
580 /* Draw details, that applies to all types except rail wagons */ |
581 if (e->type != VEH_Train || RailVehInfo(engine_number)->railveh_type != RAILVEH_WAGON) { |
581 if (e->type != VEH_TRAIN || RailVehInfo(engine_number)->railveh_type != RAILVEH_WAGON) { |
582 /* Design date - Life length */ |
582 /* Design date - Life length */ |
583 SetDParam(0, ymd.year); |
583 SetDParam(0, ymd.year); |
584 SetDParam(1, e->lifelength); |
584 SetDParam(1, e->lifelength); |
585 DrawString(x, y, STR_PURCHASE_INFO_DESIGNED_LIFE, 0); |
585 DrawString(x, y, STR_PURCHASE_INFO_DESIGNED_LIFE, 0); |
586 y += 10; |
586 y += 10; |
614 * when engines become obsolete and are removed */ |
614 * when engines become obsolete and are removed */ |
615 for (sel_id = INVALID_ENGINE, eid = 0; eid < NUM_TRAIN_ENGINES; eid++) { |
615 for (sel_id = INVALID_ENGINE, eid = 0; eid < NUM_TRAIN_ENGINES; eid++) { |
616 const RailVehicleInfo *rvi = RailVehInfo(eid); |
616 const RailVehicleInfo *rvi = RailVehInfo(eid); |
617 |
617 |
618 if (bv->filter.railtype != RAILTYPE_END && !HasPowerOnRail(rvi->railtype, bv->filter.railtype)) continue; |
618 if (bv->filter.railtype != RAILTYPE_END && !HasPowerOnRail(rvi->railtype, bv->filter.railtype)) continue; |
619 if (!IsEngineBuildable(eid, VEH_Train, _local_player)) continue; |
619 if (!IsEngineBuildable(eid, VEH_TRAIN, _local_player)) continue; |
620 |
620 |
621 EngList_Add(&bv->eng_list, eid); |
621 EngList_Add(&bv->eng_list, eid); |
622 if (rvi->railveh_type != RAILVEH_WAGON) { |
622 if (rvi->railveh_type != RAILVEH_WAGON) { |
623 num_engines++; |
623 num_engines++; |
624 } else { |
624 } else { |
651 EngList_RemoveAll(&bv->eng_list); |
651 EngList_RemoveAll(&bv->eng_list); |
652 |
652 |
653 sel_id = INVALID_ENGINE; |
653 sel_id = INVALID_ENGINE; |
654 |
654 |
655 for (eid = ROAD_ENGINES_INDEX; eid < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; eid++) { |
655 for (eid = ROAD_ENGINES_INDEX; eid < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; eid++) { |
656 if (!IsEngineBuildable(eid, VEH_Road, _local_player)) continue; |
656 if (!IsEngineBuildable(eid, VEH_ROAD, _local_player)) continue; |
657 EngList_Add(&bv->eng_list, eid); |
657 EngList_Add(&bv->eng_list, eid); |
658 |
658 |
659 if (eid == bv->sel_engine) sel_id = eid; |
659 if (eid == bv->sel_engine) sel_id = eid; |
660 } |
660 } |
661 bv->sel_engine = sel_id; |
661 bv->sel_engine = sel_id; |
670 EngList_RemoveAll(&bv->eng_list); |
670 EngList_RemoveAll(&bv->eng_list); |
671 |
671 |
672 sel_id = INVALID_ENGINE; |
672 sel_id = INVALID_ENGINE; |
673 |
673 |
674 for (eid = SHIP_ENGINES_INDEX; eid < SHIP_ENGINES_INDEX + NUM_SHIP_ENGINES; eid++) { |
674 for (eid = SHIP_ENGINES_INDEX; eid < SHIP_ENGINES_INDEX + NUM_SHIP_ENGINES; eid++) { |
675 if (!IsEngineBuildable(eid, VEH_Ship, _local_player)) continue; |
675 if (!IsEngineBuildable(eid, VEH_SHIP, _local_player)) continue; |
676 EngList_Add(&bv->eng_list, eid); |
676 EngList_Add(&bv->eng_list, eid); |
677 |
677 |
678 if (eid == bv->sel_engine) sel_id = eid; |
678 if (eid == bv->sel_engine) sel_id = eid; |
679 } |
679 } |
680 bv->sel_engine = sel_id; |
680 bv->sel_engine = sel_id; |
692 * Also check to see if the previously selected plane is still available, |
692 * Also check to see if the previously selected plane is still available, |
693 * and if not, reset selection to INVALID_ENGINE. This could be the case |
693 * and if not, reset selection to INVALID_ENGINE. This could be the case |
694 * when planes become obsolete and are removed */ |
694 * when planes become obsolete and are removed */ |
695 sel_id = INVALID_ENGINE; |
695 sel_id = INVALID_ENGINE; |
696 for (eid = AIRCRAFT_ENGINES_INDEX; eid < AIRCRAFT_ENGINES_INDEX + NUM_AIRCRAFT_ENGINES; eid++) { |
696 for (eid = AIRCRAFT_ENGINES_INDEX; eid < AIRCRAFT_ENGINES_INDEX + NUM_AIRCRAFT_ENGINES; eid++) { |
697 if (IsEngineBuildable(eid, VEH_Aircraft, _local_player)) { |
697 if (!IsEngineBuildable(eid, VEH_AIRCRAFT, _local_player)) continue; |
698 const AircraftVehicleInfo *avi = AircraftVehInfo(eid); |
698 if (w->window_number != 0 && !IsAircraftBuildableAtStation(eid, w->window_number)) continue; |
699 switch (bv->filter.flags & ~AirportFTAClass::SHORT_STRIP) { // we don't care about the length of the runway here |
699 |
700 case AirportFTAClass::HELICOPTERS: |
700 EngList_Add(&bv->eng_list, eid); |
701 if (avi->subtype != AIR_HELI) continue; |
701 if (eid == bv->sel_engine) sel_id = eid; |
702 break; |
|
703 |
|
704 case AirportFTAClass::AIRPLANES: |
|
705 if (!(avi->subtype & AIR_CTOL)) continue; |
|
706 break; |
|
707 |
|
708 case AirportFTAClass::ALL: break; |
|
709 default: |
|
710 NOT_REACHED(); |
|
711 } |
|
712 |
|
713 EngList_Add(&bv->eng_list, eid); |
|
714 |
|
715 if (eid == bv->sel_engine) sel_id = eid; |
|
716 } |
|
717 } |
702 } |
718 |
703 |
719 bv->sel_engine = sel_id; |
704 bv->sel_engine = sel_id; |
720 } |
705 } |
721 |
706 |
723 static void GenerateBuildList(Window *w) |
708 static void GenerateBuildList(Window *w) |
724 { |
709 { |
725 buildvehicle_d *bv = &WP(w, buildvehicle_d); |
710 buildvehicle_d *bv = &WP(w, buildvehicle_d); |
726 |
711 |
727 switch (bv->vehicle_type) { |
712 switch (bv->vehicle_type) { |
728 case VEH_Train: |
713 case VEH_TRAIN: |
729 GenerateBuildTrainList(w); |
714 GenerateBuildTrainList(w); |
730 return; // trains should not reach the last sorting |
715 return; // trains should not reach the last sorting |
731 case VEH_Road: |
716 case VEH_ROAD: |
732 GenerateBuildRoadVehList(w); |
717 GenerateBuildRoadVehList(w); |
733 break; |
718 break; |
734 case VEH_Ship: |
719 case VEH_SHIP: |
735 GenerateBuildShipList(w); |
720 GenerateBuildShipList(w); |
736 break; |
721 break; |
737 case VEH_Aircraft: |
722 case VEH_AIRCRAFT: |
738 GenerateBuildAircraftList(w); |
723 GenerateBuildAircraftList(w); |
739 break; |
724 break; |
740 } |
725 } |
741 _internal_sort_order = bv->descending_sort_order; |
726 _internal_sort_order = bv->descending_sort_order; |
742 EngList_Sort(&bv->eng_list, _sorter[bv->vehicle_type][bv->sort_criteria]); |
727 EngList_Sort(&bv->eng_list, _sorter[bv->vehicle_type][bv->sort_criteria]); |
743 } |
728 } |
744 |
729 |
745 static void DrawVehicleEngine(byte type, int x, int y, EngineID engine, SpriteID pal) |
730 static void DrawVehicleEngine(byte type, int x, int y, EngineID engine, SpriteID pal) |
746 { |
731 { |
747 switch (type) { |
732 switch (type) { |
748 case VEH_Train: DrawTrainEngine( x, y, engine, pal); break; |
733 case VEH_TRAIN: DrawTrainEngine( x, y, engine, pal); break; |
749 case VEH_Road: DrawRoadVehEngine( x, y, engine, pal); break; |
734 case VEH_ROAD: DrawRoadVehEngine( x, y, engine, pal); break; |
750 case VEH_Ship: DrawShipEngine( x, y, engine, pal); break; |
735 case VEH_SHIP: DrawShipEngine( x, y, engine, pal); break; |
751 case VEH_Aircraft: DrawAircraftEngine(x, y, engine, pal); break; |
736 case VEH_AIRCRAFT: DrawAircraftEngine(x, y, engine, pal); break; |
752 default: NOT_REACHED(); |
737 default: NOT_REACHED(); |
753 } |
738 } |
754 } |
739 } |
755 |
740 |
756 /** Engine drawing loop |
741 /** Engine drawing loop |
856 |
841 |
857 case BUILD_VEHICLE_WIDGET_BUILD: { |
842 case BUILD_VEHICLE_WIDGET_BUILD: { |
858 EngineID sel_eng = bv->sel_engine; |
843 EngineID sel_eng = bv->sel_engine; |
859 if (sel_eng != INVALID_ENGINE) { |
844 if (sel_eng != INVALID_ENGINE) { |
860 switch (bv->vehicle_type) { |
845 switch (bv->vehicle_type) { |
861 case VEH_Train: |
846 case VEH_TRAIN: |
862 DoCommandP(w->window_number, sel_eng, 0, (RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) ? CcBuildWagon : CcBuildLoco, |
847 DoCommandP(w->window_number, sel_eng, 0, (RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) ? CcBuildWagon : CcBuildLoco, |
863 CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE)); |
848 CMD_BUILD_RAIL_VEHICLE | CMD_MSG(STR_882B_CAN_T_BUILD_RAILROAD_VEHICLE)); |
864 break; |
849 break; |
865 case VEH_Road: |
850 case VEH_ROAD: |
866 DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE)); |
851 DoCommandP(w->window_number, sel_eng, 0, CcBuildRoadVeh, CMD_BUILD_ROAD_VEH | CMD_MSG(STR_9009_CAN_T_BUILD_ROAD_VEHICLE)); |
867 break; |
852 break; |
868 case VEH_Ship: |
853 case VEH_SHIP: |
869 DoCommandP(w->window_number, sel_eng, 0, CcBuildShip, CMD_BUILD_SHIP | CMD_MSG(STR_980D_CAN_T_BUILD_SHIP)); |
854 DoCommandP(w->window_number, sel_eng, 0, CcBuildShip, CMD_BUILD_SHIP | CMD_MSG(STR_980D_CAN_T_BUILD_SHIP)); |
870 break; |
855 break; |
871 case VEH_Aircraft: |
856 case VEH_AIRCRAFT: |
872 DoCommandP(w->window_number, sel_eng, 0, CcBuildAircraft, CMD_BUILD_AIRCRAFT | CMD_MSG(STR_A008_CAN_T_BUILD_AIRCRAFT)); |
857 DoCommandP(w->window_number, sel_eng, 0, CcBuildAircraft, CMD_BUILD_AIRCRAFT | CMD_MSG(STR_A008_CAN_T_BUILD_AIRCRAFT)); |
873 break; |
858 break; |
874 } |
859 } |
875 } |
860 } |
876 break; |
861 break; |
881 if (sel_eng != INVALID_ENGINE) { |
866 if (sel_eng != INVALID_ENGINE) { |
882 StringID str = STR_NULL; |
867 StringID str = STR_NULL; |
883 |
868 |
884 bv->rename_engine = sel_eng; |
869 bv->rename_engine = sel_eng; |
885 switch (bv->vehicle_type) { |
870 switch (bv->vehicle_type) { |
886 case VEH_Train: str = STR_886A_RENAME_TRAIN_VEHICLE_TYPE; break; |
871 case VEH_TRAIN: str = STR_886A_RENAME_TRAIN_VEHICLE_TYPE; break; |
887 case VEH_Road: str = STR_9036_RENAME_ROAD_VEHICLE_TYPE; break; |
872 case VEH_ROAD: str = STR_9036_RENAME_ROAD_VEHICLE_TYPE; break; |
888 case VEH_Ship: str = STR_9838_RENAME_SHIP_TYPE; break; |
873 case VEH_SHIP: str = STR_9838_RENAME_SHIP_TYPE; break; |
889 case VEH_Aircraft: str = STR_A039_RENAME_AIRCRAFT_TYPE; break; |
874 case VEH_AIRCRAFT: str = STR_A039_RENAME_AIRCRAFT_TYPE; break; |
890 } |
875 } |
891 ShowQueryString(GetCustomEngineName(sel_eng), str, 31, 160, w, CS_ALPHANUMERAL); |
876 ShowQueryString(GetCustomEngineName(sel_eng), str, 31, 160, w, CS_ALPHANUMERAL); |
892 } |
877 } |
893 break; |
878 break; |
894 } |
879 } |
924 case WE_ON_EDIT_TEXT: { |
909 case WE_ON_EDIT_TEXT: { |
925 if (e->we.edittext.str[0] != '\0') { |
910 if (e->we.edittext.str[0] != '\0') { |
926 StringID str = STR_NULL; |
911 StringID str = STR_NULL; |
927 _cmd_text = e->we.edittext.str; |
912 _cmd_text = e->we.edittext.str; |
928 switch (bv->vehicle_type) { |
913 switch (bv->vehicle_type) { |
929 case VEH_Train: str = STR_886B_CAN_T_RENAME_TRAIN_VEHICLE; break; |
914 case VEH_TRAIN: str = STR_886B_CAN_T_RENAME_TRAIN_VEHICLE; break; |
930 case VEH_Road: str = STR_9037_CAN_T_RENAME_ROAD_VEHICLE; break; |
915 case VEH_ROAD: str = STR_9037_CAN_T_RENAME_ROAD_VEHICLE; break; |
931 case VEH_Ship: str = STR_9839_CAN_T_RENAME_SHIP_TYPE; break; |
916 case VEH_SHIP: str = STR_9839_CAN_T_RENAME_SHIP_TYPE; break; |
932 case VEH_Aircraft: str = STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE; break; |
917 case VEH_AIRCRAFT: str = STR_A03A_CAN_T_RENAME_AIRCRAFT_TYPE; break; |
933 } |
918 } |
934 DoCommandP(0, bv->rename_engine, 0, NULL, CMD_RENAME_ENGINE | CMD_MSG(str)); |
919 DoCommandP(0, bv->rename_engine, 0, NULL, CMD_RENAME_ENGINE | CMD_MSG(str)); |
935 } |
920 } |
936 break; |
921 break; |
937 } |
922 } |
990 |
975 |
991 bv->sort_criteria = _last_sort_criteria[type]; |
976 bv->sort_criteria = _last_sort_criteria[type]; |
992 bv->descending_sort_order = _last_sort_order[type]; |
977 bv->descending_sort_order = _last_sort_order[type]; |
993 |
978 |
994 switch (type) { |
979 switch (type) { |
995 case VEH_Train: |
980 case VEH_TRAIN: |
996 WP(w,buildvehicle_d).filter.railtype = (tile == 0) ? RAILTYPE_END : GetRailType(tile); |
981 WP(w,buildvehicle_d).filter.railtype = (tile == 0) ? RAILTYPE_END : GetRailType(tile); |
997 ResizeWindow(w, 0, 16); |
982 ResizeWindow(w, 0, 16); |
998 break; |
983 break; |
999 case VEH_Road: |
984 case VEH_ROAD: |
1000 ResizeWindow(w, 20, 16); |
985 ResizeWindow(w, 20, 16); |
1001 case VEH_Ship: |
986 case VEH_SHIP: |
1002 ResizeWindow(w, 27, 0); |
987 ResizeWindow(w, 27, 0); |
1003 break; |
988 break; |
1004 case VEH_Aircraft: |
989 case VEH_AIRCRAFT: |
1005 bv->filter.flags = |
990 bv->filter.flags = |
1006 tile == 0 ? AirportFTAClass::ALL : GetStationByTile(tile)->Airport()->flags; |
991 tile == 0 ? AirportFTAClass::ALL : GetStationByTile(tile)->Airport()->flags; |
1007 ResizeWindow(w, 12, 0); |
992 ResizeWindow(w, 12, 0); |
1008 break; |
993 break; |
1009 } |
994 } |