mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 22:28:56 +00:00
(svn r3104) -Codechange: [refit] removed now obsolite code that the old autoreplace needed
This commit is contained in:
parent
6c4b37c9fe
commit
c406487b14
@ -497,15 +497,12 @@ int32 CmdChangeAircraftServiceInt(int x, int y, uint32 flags, uint32 p1, uint32
|
||||
* @param p1 vehicle ID of the aircraft to refit
|
||||
* @param p2 various bitstuffed elements
|
||||
* - p2 = (bit 0-7) - the new cargo type to refit to (p2 & 0xFF)
|
||||
* - p2 = (bit 8) - skip check for stopped in hangar, used by autoreplace (p2 & 0x100)
|
||||
* @todo p2 bit8 check <b>NEEDS TO GO</b>
|
||||
*/
|
||||
int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Vehicle *v;
|
||||
int pass, mail;
|
||||
int32 cost;
|
||||
bool SkipStoppedInHangerCheck = !!HASBIT(p2, 8); // XXX - needs to go, yes?
|
||||
CargoID new_cid = p2 & 0xFF; //gets the cargo number
|
||||
const AircraftVehicleInfo *avi;
|
||||
|
||||
@ -514,7 +511,7 @@ int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
v = GetVehicle(p1);
|
||||
|
||||
if (v->type != VEH_Aircraft || !CheckOwnership(v->owner)) return CMD_ERROR;
|
||||
if (!SkipStoppedInHangerCheck && !CheckStoppedInHangar(v)) return_cmd_error(STR_A01B_AIRCRAFT_MUST_BE_STOPPED);
|
||||
if (!CheckStoppedInHangar(v)) return_cmd_error(STR_A01B_AIRCRAFT_MUST_BE_STOPPED);
|
||||
|
||||
avi = AircraftVehInfo(v->engine_type);
|
||||
|
||||
@ -553,10 +550,6 @@ int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
u = v->next;
|
||||
mail = (new_cid != CT_PASSENGERS) ? 0 : avi->mail_capacity;
|
||||
u->cargo_cap = mail;
|
||||
//autorefitted planes wants to keep the cargo
|
||||
//it will be checked if the cargo is valid in CmdReplaceVehicle
|
||||
if (!(SkipStoppedInHangerCheck))
|
||||
v->cargo_count = u->cargo_count = 0;
|
||||
v->cargo_type = new_cid;
|
||||
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
|
||||
}
|
||||
|
11
ship_cmd.c
11
ship_cmd.c
@ -1063,25 +1063,22 @@ int32 CmdChangeShipServiceInt(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
* @param p1 vehicle ID of the ship to refit
|
||||
* @param p2 various bitstuffed elements
|
||||
* - p2 = (bit 0-7) - the new cargo type to refit to (p2 & 0xFF)
|
||||
* - p2 = (bit 8) - skip check for stopped in depot, used by autoreplace (p2 & 0x100)
|
||||
* @todo p2 bit8 check <b>NEEDS TO GO</b>
|
||||
*/
|
||||
int32 CmdRefitShip(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Vehicle *v;
|
||||
int32 cost;
|
||||
CargoID new_cid = p2 & 0xFF; //gets the cargo number
|
||||
bool SkipStoppedInDepotCheck = !!HASBIT(p2, 8); // XXX - needs to go, yes?
|
||||
|
||||
if (!IsVehicleIndex(p1)) return CMD_ERROR;
|
||||
|
||||
v = GetVehicle(p1);
|
||||
|
||||
if (v->type != VEH_Ship || !CheckOwnership(v->owner)) return CMD_ERROR;
|
||||
if (!SkipStoppedInDepotCheck) {
|
||||
|
||||
if (!IsTileDepotType(v->tile, TRANSPORT_WATER) || !(v->vehstatus&VS_STOPPED) || v->u.ship.state != 0x80)
|
||||
return_cmd_error(STR_980B_SHIP_MUST_BE_STOPPED_IN);
|
||||
}
|
||||
|
||||
|
||||
/* Check cargo */
|
||||
if (!ShipVehInfo(v->engine_type)->refittable) return CMD_ERROR;
|
||||
@ -1095,10 +1092,6 @@ int32 CmdRefitShip(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
//autorefitted ships wants to keep the cargo
|
||||
//it will be checked if the cargo is valid in CmdRenewVehicle
|
||||
if (!(SkipStoppedInDepotCheck))
|
||||
v->cargo_count = 0;
|
||||
v->cargo_type = new_cid;
|
||||
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user