changeset 5607:f746786ae8b3 draft

(svn r8063) -Codechange: When evaluating newgrf varaction2s the 'last value' should start off at 0, and the result of the operation is remembered.
author peter1138 <peter1138@openttd.org>
date Thu, 11 Jan 2007 14:40:12 +0000
parents 1176330381e4
children 5dcef0df6a67
files src/newgrf_spritegroup.cpp
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf_spritegroup.cpp
+++ b/src/newgrf_spritegroup.cpp
@@ -131,7 +131,7 @@
 static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, ResolverObject *object)
 {
 	static SpriteGroup nvarzero;
-	uint32 last_value = object->last_value;
+	uint32 last_value = 0;
 	uint32 value = 0;
 	uint i;
 
@@ -159,6 +159,8 @@
 		last_value = value;
 	}
 
+	object->last_value = last_value;
+
 	if (group->g.determ.num_ranges == 0) {
 		/* nvar == 0 is a special case -- we turn our value into a callback result */
 		nvarzero.type = SGT_CALLBACK;