equal
deleted
inserted
replaced
26 #include "newgrf_engine.h" |
26 #include "newgrf_engine.h" |
27 #include "date.h" |
27 #include "date.h" |
28 #include "strings.h" |
28 #include "strings.h" |
29 #include "cargotype.h" |
29 #include "cargotype.h" |
30 #include "group.h" |
30 #include "group.h" |
|
31 #include "road_map.h" |
31 |
32 |
32 |
33 |
33 enum BuildVehicleWidgets { |
34 enum BuildVehicleWidgets { |
34 BUILD_VEHICLE_WIDGET_CLOSEBOX = 0, |
35 BUILD_VEHICLE_WIDGET_CLOSEBOX = 0, |
35 BUILD_VEHICLE_WIDGET_CAPTION, |
36 BUILD_VEHICLE_WIDGET_CAPTION, |
664 |
665 |
665 sel_id = INVALID_ENGINE; |
666 sel_id = INVALID_ENGINE; |
666 |
667 |
667 for (eid = ROAD_ENGINES_INDEX; eid < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; eid++) { |
668 for (eid = ROAD_ENGINES_INDEX; eid < ROAD_ENGINES_INDEX + NUM_ROAD_ENGINES; eid++) { |
668 if (!IsEngineBuildable(eid, VEH_ROAD, _local_player)) continue; |
669 if (!IsEngineBuildable(eid, VEH_ROAD, _local_player)) continue; |
|
670 if (!HASBIT(bv->filter.roadtypes, HASBIT(EngInfo(eid)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD)) continue; |
669 EngList_Add(&bv->eng_list, eid); |
671 EngList_Add(&bv->eng_list, eid); |
670 |
672 |
671 if (eid == bv->sel_engine) sel_id = eid; |
673 if (eid == bv->sel_engine) sel_id = eid; |
672 } |
674 } |
673 bv->sel_engine = sel_id; |
675 bv->sel_engine = sel_id; |
1017 case VEH_TRAIN: |
1019 case VEH_TRAIN: |
1018 WP(w, buildvehicle_d).filter.railtype = (tile == 0) ? RAILTYPE_END : GetRailType(tile); |
1020 WP(w, buildvehicle_d).filter.railtype = (tile == 0) ? RAILTYPE_END : GetRailType(tile); |
1019 ResizeWindow(w, 0, 16); |
1021 ResizeWindow(w, 0, 16); |
1020 break; |
1022 break; |
1021 case VEH_ROAD: |
1023 case VEH_ROAD: |
|
1024 WP(w, buildvehicle_d).filter.roadtypes = (tile == 0) ? ROADTYPES_ALL : GetRoadTypes(tile); |
1022 ResizeWindow(w, 0, 16); |
1025 ResizeWindow(w, 0, 16); |
1023 case VEH_SHIP: |
1026 case VEH_SHIP: |
1024 break; |
1027 break; |
1025 case VEH_AIRCRAFT: |
1028 case VEH_AIRCRAFT: |
1026 bv->filter.flags = |
1029 bv->filter.flags = |