forked from mirror/OpenTTD
(svn r16394) -Codechange: move (NewGRF) cache variables into a separate struct so (some vehicle related) NewGRF cache 'desyncs' can be tested easier.
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user