summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2010-10-26 21:51:24 +0000
committeryexo <yexo@openttd.org>2010-10-26 21:51:24 +0000
commit61e419e27f2eb67ed66ef3da5606fb164a4791e0 (patch)
tree671dffc9cd834b6d2b6d999cb901e26fcaa576a9 /src
parenta6cdb8a75cff79af6fccdd123d4b3107dd208370 (diff)
downloadopenttd-61e419e27f2eb67ed66ef3da5606fb164a4791e0.tar.xz
(svn r21041) -Change: [NewGRF] make object var 60 return the object id even when the relative tile is not part of the same object
Diffstat (limited to 'src')
-rw-r--r--src/newgrf_object.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp
index 84d6187b2..63feda8d6 100644
--- a/src/newgrf_object.cpp
+++ b/src/newgrf_object.cpp
@@ -111,17 +111,14 @@ static void ObjectSetTriggers(const ResolverObject *object, int triggers)
/**
- * Make an analysis of a tile and check for its belonging to the same
- * object, and/or the same grf file
+ * Make an analysis of a tile and get the object type.
* @param tile TileIndex of the tile to query
- * @param index Object to which to compare the tile to
* @param cur_grfid GRFID of the current callback chain
* @return value encoded as per NFO specs
*/
-static uint32 GetObjectIDAtOffset(TileIndex tile, ObjectID oid, uint32 cur_grfid)
+static uint32 GetObjectIDAtOffset(TileIndex tile, uint32 cur_grfid)
{
- if (!IsTileType(tile, MP_OBJECT) || GetObjectIndex(tile) != oid) {
- /* No object and/or the tile does not have the same object as the one we match it with */
+ if (!IsTileType(tile, MP_OBJECT)) {
return 0xFFFF;
}
@@ -295,7 +292,7 @@ static uint32 ObjectGetVariable(const ResolverObject *object, byte variable, byt
case 0x46: return GetTownRadiusGroup(t, tile) << 16 | min(DistanceSquare(tile, t->xy), 0xFFFF);
/* Get object ID at offset param */
- case 0x60: return GetObjectIDAtOffset(GetNearbyTile(parameter, tile), o == NULL ? INVALID_OBJECT : o->index, object->grffile->grfid);
+ case 0x60: return GetObjectIDAtOffset(GetNearbyTile(parameter, tile), object->grffile->grfid);
/* Get random tile bits at offset param */
case 0x61: