src/build_vehicle_gui.cpp
changeset 7181 f966d75af3a6
parent 7139 4ae3ab180d05
child 7268 9c77f6baef3b
equal deleted inserted replaced
7180:6ecf06dd7299 7181:f966d75af3a6
    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 =