(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:
peter1138 2005-11-29 22:29:59 +00:00
parent 4191adb92c
commit fde99748c0
5 changed files with 8 additions and 8 deletions

View File

@ -496,7 +496,7 @@ int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
avi = AircraftVehInfo(v->engine_type);
/* 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);

View File

@ -1056,7 +1056,7 @@ int32 CmdRefitShip(int x, int y, uint32 flags, uint32 p1, uint32 p2)
/* Check cargo */
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);

View File

@ -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
* can be refitted. This is how TTDPatch does it. TODO: Have
* 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) {
const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);

View File

@ -680,15 +680,15 @@ bool CanFillVehicle(Vehicle *v)
return false;
}
/** Check if a given vehicle (type) can be refitted to a given cargo
* @param *v vehicle to check
/** Check if a given engine type can be refitted to a given cargo
* @param engine_type Engine type to check
* @param cid_to check refit to this cargo-type
* @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];
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)

View File

@ -273,7 +273,7 @@ Vehicle *FindVehicleOnTileZ(TileIndex tile, byte z);
void InitializeTrains(void);
bool CanFillVehicle(Vehicle *v);
bool CanRefitTo(const Vehicle *v, CargoID cid_to);
bool CanRefitTo(EngineID engine_type, CargoID cid_to);
void ViewportAddVehicles(DrawPixelInfo *dpi);