mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r3248) - Codechange: Change interface of CanRefitTo() to supply the engine type directly instead of getting it from a vehicle. This allows the function to be used before vehicles are involved.
This commit is contained in:
parent
4191adb92c
commit
fde99748c0
|
@ -496,7 +496,7 @@ int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
avi = AircraftVehInfo(v->engine_type);
|
avi = AircraftVehInfo(v->engine_type);
|
||||||
|
|
||||||
/* Check cargo */
|
/* Check cargo */
|
||||||
if (new_cid > NUM_CARGO || !CanRefitTo(v, new_cid)) return CMD_ERROR;
|
if (new_cid > NUM_CARGO || !CanRefitTo(v->engine_type, new_cid)) return CMD_ERROR;
|
||||||
|
|
||||||
SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_RUN);
|
SET_EXPENSES_TYPE(EXPENSES_AIRCRAFT_RUN);
|
||||||
|
|
||||||
|
|
|
@ -1056,7 +1056,7 @@ int32 CmdRefitShip(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
|
|
||||||
/* Check cargo */
|
/* Check cargo */
|
||||||
if (!ShipVehInfo(v->engine_type)->refittable) return CMD_ERROR;
|
if (!ShipVehInfo(v->engine_type)->refittable) return CMD_ERROR;
|
||||||
if (new_cid > NUM_CARGO || !CanRefitTo(v, new_cid)) return CMD_ERROR;
|
if (new_cid > NUM_CARGO || !CanRefitTo(v->engine_type, new_cid)) return CMD_ERROR;
|
||||||
|
|
||||||
SET_EXPENSES_TYPE(EXPENSES_SHIP_RUN);
|
SET_EXPENSES_TYPE(EXPENSES_SHIP_RUN);
|
||||||
|
|
||||||
|
|
|
@ -1717,7 +1717,7 @@ int32 CmdRefitRailVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||||
/* XXX: We also refit all the attached wagons en-masse if they
|
/* XXX: We also refit all the attached wagons en-masse if they
|
||||||
* can be refitted. This is how TTDPatch does it. TODO: Have
|
* can be refitted. This is how TTDPatch does it. TODO: Have
|
||||||
* some nice [Refit] button near each wagon. --pasky */
|
* some nice [Refit] button near each wagon. --pasky */
|
||||||
if (!CanRefitTo(v, new_cid)) continue;
|
if (!CanRefitTo(v->engine_type, new_cid)) continue;
|
||||||
|
|
||||||
if (v->cargo_cap != 0) {
|
if (v->cargo_cap != 0) {
|
||||||
const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
|
const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
|
||||||
|
|
|
@ -680,15 +680,15 @@ bool CanFillVehicle(Vehicle *v)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check if a given vehicle (type) can be refitted to a given cargo
|
/** Check if a given engine type can be refitted to a given cargo
|
||||||
* @param *v vehicle to check
|
* @param engine_type Engine type to check
|
||||||
* @param cid_to check refit to this cargo-type
|
* @param cid_to check refit to this cargo-type
|
||||||
* @return true if it is possible, false otherwise
|
* @return true if it is possible, false otherwise
|
||||||
*/
|
*/
|
||||||
bool CanRefitTo(const Vehicle *v, CargoID cid_to)
|
bool CanRefitTo(EngineID engine_type, CargoID cid_to)
|
||||||
{
|
{
|
||||||
CargoID cid = _global_cargo_id[_opt_ptr->landscape][cid_to];
|
CargoID cid = _global_cargo_id[_opt_ptr->landscape][cid_to];
|
||||||
return HASBIT(_engine_info[v->engine_type].refit_mask, cid) != 0;
|
return HASBIT(_engine_info[engine_type].refit_mask, cid) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DoDrawVehicle(const Vehicle *v)
|
static void DoDrawVehicle(const Vehicle *v)
|
||||||
|
|
|
@ -273,7 +273,7 @@ Vehicle *FindVehicleOnTileZ(TileIndex tile, byte z);
|
||||||
void InitializeTrains(void);
|
void InitializeTrains(void);
|
||||||
|
|
||||||
bool CanFillVehicle(Vehicle *v);
|
bool CanFillVehicle(Vehicle *v);
|
||||||
bool CanRefitTo(const Vehicle *v, CargoID cid_to);
|
bool CanRefitTo(EngineID engine_type, CargoID cid_to);
|
||||||
|
|
||||||
void ViewportAddVehicles(DrawPixelInfo *dpi);
|
void ViewportAddVehicles(DrawPixelInfo *dpi);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue