summaryrefslogtreecommitdiff
path: root/src/openttd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-05-23 09:10:56 +0000
committerrubidium <rubidium@openttd.org>2009-05-23 09:10:56 +0000
commit6237fe146228e84761c6aba14bf7acf6c359f061 (patch)
tree0ff89de7f14a652d59d972e949761819642296a4 /src/openttd.cpp
parentda5661a0c8870c532c393ec3d330c3fbb44eb8ac (diff)
downloadopenttd-6237fe146228e84761c6aba14bf7acf6c359f061.tar.xz
(svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier.
Diffstat (limited to 'src/openttd.cpp')
-rw-r--r--src/openttd.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/openttd.cpp b/src/openttd.cpp
index 5268de747..0758bf29b 100644
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -1119,8 +1119,11 @@ void StateGameLoop()
switch (v->type) {
case VEH_ROAD: {
- extern byte GetRoadVehLength(const RoadVehicle *v);
- if (GetRoadVehLength((RoadVehicle *)v) != ((RoadVehicle *)v)->cached_veh_length) {
+ RoadVehicle *rv = (RoadVehicle *)v;
+ RoadVehicleCache cache = rv->rcache;
+ RoadVehUpdateCache(rv);
+
+ if (memcmp(&cache, &rv->rcache, sizeof(RoadVehicleCache)) != 0) {
DEBUG(desync, 2, "cache mismatch: vehicle %i, company %i, unit number %i\n", v->index, (int)v->owner, v->unitnumber);
}
} break;
@@ -1149,9 +1152,10 @@ void StateGameLoop()
case VEH_AIRCRAFT: {
Aircraft *a = (Aircraft *)v;
- uint speed = a->cached_max_speed;
+ AircraftCache cache = a->acache;
UpdateAircraftCache(a);
- if (speed != a->cached_max_speed) {
+
+ if (memcmp(&cache, &a->acache, sizeof(AircraftCache)) != 0) {
DEBUG(desync, 2, "cache mismatch: vehicle %i, company %i, unit number %i\n", v->index, (int)v->owner, v->unitnumber);
}
} break;