1
0
Fork 0

(svn r1905) - Fix: [ 1118810 ] openttd: ship_cmd.c:642 ... Assertion failed. Mapwrap fixed in ship_cmd.c (was implicitely ok before biggermaps).

- CodeChange: rename all vehicle controllers to ...Controller for their similar behaviour
release/0.4.5
Darkvater 2005-02-22 19:38:44 +00:00
parent 6805abe0f3
commit 1f66d60272
3 changed files with 7 additions and 10 deletions

View File

@ -821,7 +821,7 @@ static byte GetAircraftFlyingAltitude(const Vehicle *v)
return maxz; return maxz;
} }
static bool Aircraft_5(Vehicle *v) static bool AircraftController(Vehicle *v)
{ {
Station *st; Station *st;
const AirportMovingData *amd; const AirportMovingData *amd;
@ -876,7 +876,7 @@ static bool Aircraft_5(Vehicle *v)
if (amd->flag & AMED_HELI_LOWER) { if (amd->flag & AMED_HELI_LOWER) {
if (UpdateAircraftSpeed(v)) { if (UpdateAircraftSpeed(v)) {
if (st->airport_tile == 0) { if (st->airport_tile == 0) {
// FIXME - Aircraft_5 -> if station no longer exists, do not land // FIXME - AircraftController -> if station no longer exists, do not land
// helicopter will circle until sign disappears, then go to next order // helicopter will circle until sign disappears, then go to next order
// * what to do when it is the only order left, right now it just stays in 1 place // * what to do when it is the only order left, right now it just stays in 1 place
v->u.air.state = FLYING; v->u.air.state = FLYING;
@ -988,8 +988,6 @@ static bool Aircraft_5(Vehicle *v)
if (amd->flag & AMED_LAND) { if (amd->flag & AMED_LAND) {
if (st->airport_tile == 0) { if (st->airport_tile == 0) {
//FIXME -- FIXED - Aircraft_5 -> if station no longer exists, do not land
// * what to do when it is the only order left, right now it just stays in 1 place?
v->u.air.state = FLYING; v->u.air.state = FLYING;
AircraftNextAirportPos_and_Order(v); AircraftNextAirportPos_and_Order(v);
// get aircraft back on running altitude // get aircraft back on running altitude
@ -1725,7 +1723,7 @@ static void AirportClearBlock(Vehicle *v, const AirportFTAClass *Airport)
static void AirportGoToNextPosition(Vehicle *v, const AirportFTAClass *Airport) static void AirportGoToNextPosition(Vehicle *v, const AirportFTAClass *Airport)
{ {
// if aircraft is not in position, wait until it is // if aircraft is not in position, wait until it is
if (!Aircraft_5(v)) {return;} if (!AircraftController(v)) {return;}
AirportClearBlock(v, Airport); AirportClearBlock(v, Airport);
AirportMove(v, Airport); // move aircraft to next position AirportMove(v, Airport); // move aircraft to next position
@ -2099,7 +2097,7 @@ void UpdateAirplanesOnNewStation(Station *st)
v->u.air.pos = v->u.air.previous_pos = ap->entry_point; v->u.air.pos = v->u.air.previous_pos = ap->entry_point;
v->u.air.state = FLYING; v->u.air.state = FLYING;
// landing plane needs to be reset to flying height (only if in pause mode upgrade, // landing plane needs to be reset to flying height (only if in pause mode upgrade,
// in normal mode, plane is reset in Aircraft_5. It doesn't hurt for FLYING // in normal mode, plane is reset in AircraftController. It doesn't hurt for FLYING
GetNewVehiclePos(v, &gp); GetNewVehiclePos(v, &gp);
// set new position x,y,z // set new position x,y,z
SetAircraftPosition(v, gp.x, gp.y, GetAircraftFlyingAltitude(v)); SetAircraftPosition(v, gp.x, gp.y, GetAircraftFlyingAltitude(v));

View File

@ -1214,7 +1214,7 @@ static inline void ClearSlot(Vehicle *v, RoadStop *rs)
rs->slot[v->u.road.slotindex] = INVALID_SLOT; rs->slot[v->u.road.slotindex] = INVALID_SLOT;
} }
static void RoadVehEventHandler(Vehicle *v) static void RoadVehController(Vehicle *v)
{ {
GetNewVehiclePosResult gp; GetNewVehiclePosResult gp;
byte new_dir, old_dir; byte new_dir, old_dir;
@ -1592,7 +1592,7 @@ static void AgeRoadVehCargo(Vehicle *v)
void RoadVeh_Tick(Vehicle *v) void RoadVeh_Tick(Vehicle *v)
{ {
AgeRoadVehCargo(v); AgeRoadVehCargo(v);
RoadVehEventHandler(v); RoadVehController(v);
} }
static void CheckIfRoadVehNeedsService(Vehicle *v) static void CheckIfRoadVehNeedsService(Vehicle *v)

View File

@ -691,7 +691,6 @@ static const byte _ship_subcoord[4][6][3] = {
} }
}; };
static void ShipController(Vehicle *v) static void ShipController(Vehicle *v)
{ {
GetNewVehiclePosResult gp; GetNewVehiclePosResult gp;
@ -779,7 +778,7 @@ static void ShipController(Vehicle *v)
} }
} else { } else {
// new tile // new tile
if (TileX(gp.new_tile) == MapMaxX() || TileY(gp.new_tile) == MapMaxY()) if (TileX(gp.new_tile) >= MapMaxX() || TileY(gp.new_tile) >= MapMaxY())
goto reverse_direction; goto reverse_direction;
dir = ShipGetNewDirectionFromTiles(gp.new_tile, gp.old_tile); dir = ShipGetNewDirectionFromTiles(gp.new_tile, gp.old_tile);