--- 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) { }
};