summaryrefslogtreecommitdiff
path: root/src/vehicle.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2007-12-15 23:11:18 +0000
committersmatz <smatz@openttd.org>2007-12-15 23:11:18 +0000
commit60f9bbd17e0a2974d4e2d4da573ca6d75e06d3a2 (patch)
tree8577a9e0a6fc5a9738a729065c3218757a625053 /src/vehicle.cpp
parent38c25ab03b8cfa939f9e78d796e9d92bee867b7a (diff)
downloadopenttd-60f9bbd17e0a2974d4e2d4da573ca6d75e06d3a2.tar.xz
(svn r11642) -Codechange: VehicleFromPos does check for v->tile == tile, so remove useless checks
Diffstat (limited to 'src/vehicle.cpp')
-rw-r--r--src/vehicle.cpp30
1 files changed, 7 insertions, 23 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 8074a08b4..7b9c8bc9c 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -120,10 +120,10 @@ StringID VehicleInTheWayErrMsg(const Vehicle* v)
static void *EnsureNoVehicleProcZ(Vehicle *v, void *data)
{
- const TileInfo *ti = (const TileInfo*)data;
+ byte z = *(byte*)data;
- if (v->tile != ti->tile || v->type == VEH_DISASTER || (v->type == VEH_AIRCRAFT && v->subtype == AIR_SHADOW)) return NULL;
- if (v->z_pos > ti->z) return NULL;
+ if (v->type == VEH_DISASTER || (v->type == VEH_AIRCRAFT && v->subtype == AIR_SHADOW)) return NULL;
+ if (v->z_pos > z) return NULL;
_error_message = VehicleInTheWayErrMsg(v);
return v;
@@ -131,12 +131,7 @@ static void *EnsureNoVehicleProcZ(Vehicle *v, void *data)
Vehicle *FindVehicleOnTileZ(TileIndex tile, byte z)
{
- TileInfo ti;
-
- ti.tile = tile;
- ti.z = z;
-
- return (Vehicle*)VehicleFromPos(tile, &ti, EnsureNoVehicleProcZ);
+ return (Vehicle*)VehicleFromPos(tile, &z, &EnsureNoVehicleProcZ);
}
bool EnsureNoVehicleOnGround(TileIndex tile)
@@ -170,17 +165,10 @@ Vehicle *FindVehicleBetween(TileIndex from, TileIndex to, byte z, bool without_c
}
-/** Struct used for GetVehicleTunnelBridge() */
-struct TunnelBridgeInfo {
- TileIndex tile; ///< tile
-};
-
/** Procedure called for every vehicle found in tunnel/bridge in the hash map */
static void *GetVehicleTunnelBridgeProc(Vehicle *v, void *data)
{
- TunnelBridgeInfo *tbi = (TunnelBridgeInfo*)data;
-
- if (v->tile != tbi->tile || (v->type != VEH_TRAIN && v->type != VEH_ROAD)) return NULL;
+ if (v->type != VEH_TRAIN && v->type != VEH_ROAD) return NULL;
_error_message = VehicleInTheWayErrMsg(v);
return v;
@@ -194,14 +182,10 @@ static void *GetVehicleTunnelBridgeProc(Vehicle *v, void *data)
*/
Vehicle *GetVehicleTunnelBridge(TileIndex tile, TileIndex endtile)
{
- TunnelBridgeInfo tbi = {tile};
-
- Vehicle *v = (Vehicle*)VehicleFromPos(tile, &tbi, &GetVehicleTunnelBridgeProc);
+ Vehicle *v = (Vehicle*)VehicleFromPos(tile, NULL, &GetVehicleTunnelBridgeProc);
if (v != NULL) return v;
- tbi.tile = endtile;
-
- return (Vehicle*)VehicleFromPos(endtile, &tbi, &GetVehicleTunnelBridgeProc);
+ return (Vehicle*)VehicleFromPos(endtile, NULL, &GetVehicleTunnelBridgeProc);
}