mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 07:29:44 +00:00
(svn r9841) -Codechange: add a little more type strictness to the vehicle types.
This commit is contained in:
parent
a390db6941
commit
23492f1f34
@ -137,6 +137,7 @@ void CcCloneVehicle(bool success, TileIndex tile, uint32 p1, uint32 p2)
|
|||||||
case VEH_ROAD: CcCloneRoadVeh( true, tile, p1, p2); break;
|
case VEH_ROAD: CcCloneRoadVeh( true, tile, p1, p2); break;
|
||||||
case VEH_SHIP: CcCloneShip( true, tile, p1, p2); break;
|
case VEH_SHIP: CcCloneShip( true, tile, p1, p2); break;
|
||||||
case VEH_AIRCRAFT: CcCloneAircraft(true, tile, p1, p2); break;
|
case VEH_AIRCRAFT: CcCloneAircraft(true, tile, p1, p2); break;
|
||||||
|
default: NOT_REACHED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,6 +365,7 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
|
|||||||
case VEH_ROAD: v->unitnumber = ++num_road; break;
|
case VEH_ROAD: v->unitnumber = ++num_road; break;
|
||||||
case VEH_SHIP: v->unitnumber = ++num_ship; break;
|
case VEH_SHIP: v->unitnumber = ++num_ship; break;
|
||||||
case VEH_AIRCRAFT: if (IsNormalAircraft(v)) v->unitnumber = ++num_aircraft; break;
|
case VEH_AIRCRAFT: if (IsNormalAircraft(v)) v->unitnumber = ++num_aircraft; break;
|
||||||
|
default: NOT_REACHED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1301,9 +1301,7 @@ void NetworkPopulateCompanyInfo()
|
|||||||
_network_player_info[v->owner].num_vehicle[4]++;
|
_network_player_info[v->owner].num_vehicle[4]++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VEH_SPECIAL:
|
default: break;
|
||||||
case VEH_DISASTER:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -770,6 +770,8 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by
|
|||||||
case 0x66: return MapAircraftMovementAction(v); // Current movement action
|
case 0x66: return MapAircraftMovementAction(v); // Current movement action
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG(grf, 1, "Unhandled vehicle property 0x%X, type 0x%X", variable, v->type);
|
DEBUG(grf, 1, "Unhandled vehicle property 0x%X, type 0x%X", variable, v->type);
|
||||||
|
@ -677,6 +677,8 @@ void CallVehicleTicks()
|
|||||||
_vehicle_tick_procs[v->type](v);
|
_vehicle_tick_procs[v->type](v);
|
||||||
|
|
||||||
switch (v->type) {
|
switch (v->type) {
|
||||||
|
default: break;
|
||||||
|
|
||||||
case VEH_TRAIN:
|
case VEH_TRAIN:
|
||||||
case VEH_ROAD:
|
case VEH_ROAD:
|
||||||
case VEH_AIRCRAFT:
|
case VEH_AIRCRAFT:
|
||||||
@ -2850,6 +2852,7 @@ static void Load_VEHS()
|
|||||||
case VEH_SPECIAL: v = new (v) SpecialVehicle(); break;
|
case VEH_SPECIAL: v = new (v) SpecialVehicle(); break;
|
||||||
case VEH_DISASTER: v = new (v) DisasterVehicle(); break;
|
case VEH_DISASTER: v = new (v) DisasterVehicle(); break;
|
||||||
case VEH_INVALID: v = new (v) InvalidVehicle(); break;
|
case VEH_INVALID: v = new (v) InvalidVehicle(); break;
|
||||||
|
default: NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Old savegames used 'last_station_visited = 0xFF' */
|
/* Old savegames used 'last_station_visited = 0xFF' */
|
||||||
|
@ -64,15 +64,18 @@ enum RoadVehicleStates {
|
|||||||
RVSB_ROAD_STOP_TRACKDIR_MASK = 0x09 ///< Only bits 0 and 3 are used to encode the trackdir for road stops
|
RVSB_ROAD_STOP_TRACKDIR_MASK = 0x09 ///< Only bits 0 and 3 are used to encode the trackdir for road stops
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum VehicleType {
|
||||||
VEH_TRAIN,
|
VEH_TRAIN,
|
||||||
VEH_ROAD,
|
VEH_ROAD,
|
||||||
VEH_SHIP,
|
VEH_SHIP,
|
||||||
VEH_AIRCRAFT,
|
VEH_AIRCRAFT,
|
||||||
VEH_SPECIAL,
|
VEH_SPECIAL,
|
||||||
VEH_DISASTER,
|
VEH_DISASTER,
|
||||||
|
VEH_END,
|
||||||
VEH_INVALID = 0xFF,
|
VEH_INVALID = 0xFF,
|
||||||
} ;
|
};
|
||||||
|
template <> struct EnumPropsT<VehicleType> : MakeEnumPropsT<VehicleType, byte, VEH_TRAIN, VEH_END, VEH_INVALID> {};
|
||||||
|
typedef TinyEnumT<VehicleType> VehicleTypeByte;
|
||||||
|
|
||||||
enum VehStatus {
|
enum VehStatus {
|
||||||
VS_HIDDEN = 0x01,
|
VS_HIDDEN = 0x01,
|
||||||
@ -203,7 +206,7 @@ struct VehicleShip {
|
|||||||
|
|
||||||
|
|
||||||
struct Vehicle {
|
struct Vehicle {
|
||||||
byte type; // type, ie roadven,train,ship,aircraft,special
|
VehicleTypeByte type; ///< Type of vehicle
|
||||||
byte subtype; // subtype (Filled with values from EffectVehicles/TrainSubTypes/AircraftSubTypes)
|
byte subtype; // subtype (Filled with values from EffectVehicles/TrainSubTypes/AircraftSubTypes)
|
||||||
|
|
||||||
VehicleID index; // NOSAVE: Index in vehicle array
|
VehicleID index; // NOSAVE: Index in vehicle array
|
||||||
|
@ -377,6 +377,7 @@ static void VehicleRefitWndProc(Window *w, WindowEvent *e)
|
|||||||
int command = 0;
|
int command = 0;
|
||||||
|
|
||||||
switch (v->type) {
|
switch (v->type) {
|
||||||
|
default: NOT_REACHED();
|
||||||
case VEH_TRAIN: command = CMD_REFIT_RAIL_VEHICLE | CMD_MSG(STR_RAIL_CAN_T_REFIT_VEHICLE); break;
|
case VEH_TRAIN: command = CMD_REFIT_RAIL_VEHICLE | CMD_MSG(STR_RAIL_CAN_T_REFIT_VEHICLE); break;
|
||||||
case VEH_ROAD: command = CMD_REFIT_ROAD_VEH | CMD_MSG(STR_REFIT_ROAD_VEHICLE_CAN_T); break;
|
case VEH_ROAD: command = CMD_REFIT_ROAD_VEH | CMD_MSG(STR_REFIT_ROAD_VEHICLE_CAN_T); break;
|
||||||
case VEH_SHIP: command = CMD_REFIT_SHIP | CMD_MSG(STR_9841_CAN_T_REFIT_SHIP); break;
|
case VEH_SHIP: command = CMD_REFIT_SHIP | CMD_MSG(STR_9841_CAN_T_REFIT_SHIP); break;
|
||||||
|
Loading…
Reference in New Issue
Block a user