diff -r cc77111ebd85 -r 9707ad4c9b60 src/newgrf_spritegroup.h --- a/src/newgrf_spritegroup.h Thu Mar 27 05:15:06 2008 +0000 +++ b/src/newgrf_spritegroup.h Fri Mar 28 10:32:55 2008 +0000 @@ -48,6 +48,8 @@ VSG_SCOPE_SELF, /* Engine of consists for vehicles, city for stations. */ VSG_SCOPE_PARENT, + /* Any vehicle in the consist (vehicles only) */ + VSG_SCOPE_RELATIVE, }; enum DeterministicSpriteGroupSize { @@ -128,6 +130,7 @@ RandomizedSpriteGroupCompareMode cmp_mode; ///< Check for these triggers: byte triggers; + byte count; byte lowest_randbit; ///< Look for this in the per-object randomized bitmask: byte num_groups; ///< must be power of 2 @@ -198,8 +201,10 @@ CallbackID callback; uint32 callback_param1; uint32 callback_param2; + bool procedure_call; ///< true if we are currently resolving a var 0x7E procedure result. byte trigger; + byte count; uint32 last_value; uint32 reseed; VarSpriteGroupScope scope; @@ -254,6 +259,8 @@ void (*SetTriggers)(const struct ResolverObject*, int); uint32 (*GetVariable)(const struct ResolverObject*, byte, byte, bool*); const SpriteGroup *(*ResolveReal)(const struct ResolverObject*, const SpriteGroup*); + + ResolverObject() : procedure_call(false) { } };