From 8d5a542d9b7e318a375b279faac264d7dccf4a57 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Thu, 11 Jan 2007 14:40:12 +0000 Subject: (svn r8063) -Codechange: When evaluating newgrf varaction2s the 'last value' should start off at 0, and the result of the operation is remembered. --- src/newgrf_spritegroup.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index fcff45eb7..e187ddd9f 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -131,7 +131,7 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, U last_value, 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 @@ static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, Resol 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; -- cgit v1.2.3-54-g00ecf