summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.h
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2014-03-03 20:02:31 +0000
committerfrosch <frosch@openttd.org>2014-03-03 20:02:31 +0000
commit6b61c4608fab00c7bfc78c296b3c85f611681f59 (patch)
tree9919983ecf008602a497445b2b3e05b5c32892b8 /src/newgrf_engine.h
parentb935cb84156f18b51196288ff6d12f8ca5b26630 (diff)
downloadopenttd-6b61c4608fab00c7bfc78c296b3c85f611681f59.tar.xz
(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor.
Diffstat (limited to 'src/newgrf_engine.h')
-rw-r--r--src/newgrf_engine.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/newgrf_engine.h b/src/newgrf_engine.h
index 5e1661cca..4a6f211c4 100644
--- a/src/newgrf_engine.h
+++ b/src/newgrf_engine.h
@@ -38,13 +38,21 @@ struct VehicleScopeResolver : public ScopeResolver {
/** Resolver for a vehicle (chain) */
struct VehicleResolverObject : public ResolverObject {
+ /** Application of 'wagon overrides'. */
+ enum WagonOverride {
+ WO_NONE, //!< Resolve no wagon overrides.
+ WO_UNCACHED, //!< Resolve wagon overrides.
+ WO_CACHED, //!< Resolve wagon overrides using TrainCache::cached_override.
+ WO_SELF, //!< Resolve self-override (helicopter rotors and such).
+ };
+
VehicleScopeResolver self_scope; ///< Scope resolver for the indicated vehicle.
VehicleScopeResolver parent_scope; ///< Scope resolver for its parent vehicle.
VehicleScopeResolver relative_scope; ///< Scope resolver for an other vehicle in the chain.
byte cached_relative_count; ///< Relative position of the other vehicle.
- VehicleResolverObject(EngineID engine_type, const Vehicle *v, bool info_view = false,
+ VehicleResolverObject(EngineID engine_type, const Vehicle *v, WagonOverride wagon_override, bool info_view = false,
CallbackID callback = CBID_NO_CALLBACK, uint32 callback_param1 = 0, uint32 callback_param2 = 0);
/* virtual */ ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0);