summaryrefslogtreecommitdiff
path: root/src/roadveh.h
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/roadveh.h
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/roadveh.h')
-rw-r--r--src/roadveh.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/roadveh.h b/src/roadveh.h
index 905fc5982..64218e62f 100644
--- a/src/roadveh.h
+++ b/src/roadveh.h
@@ -109,6 +109,11 @@ byte GetRoadVehLength(const RoadVehicle *v);
void RoadVehUpdateCache(RoadVehicle *v);
+/** Cached oftenly queried (NewGRF) values */
+struct RoadVehicleCache {
+ byte cached_veh_length;
+ EngineID first_engine;
+};
/**
* This class 'wraps' Vehicle; you do not actually instantiate this class.
@@ -119,6 +124,7 @@ void RoadVehUpdateCache(RoadVehicle *v);
* As side-effect the vehicle type is set correctly.
*/
struct RoadVehicle : public Vehicle {
+ RoadVehicleCache rcache; ///< Cache of often used calculated values
byte state; ///< @see RoadVehicleStates
byte frame;
uint16 blocked_ctr;
@@ -128,8 +134,6 @@ struct RoadVehicle : public Vehicle {
byte reverse_ctr;
struct RoadStop *slot;
byte slot_age;
- EngineID first_engine;
- byte cached_veh_length;
RoadType roadtype;
RoadTypes compatible_roadtypes;