src/newgrf_spritegroup.h
branchnoai
changeset 9826 9707ad4c9b60
parent 9732 f8eb3e208514
child 9837 c9ec4f82e0d0
--- 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) { }
 };