(svn r8063) -Codechange: When evaluating newgrf varaction2s the 'last value' should start off at 0, and the result of the operation is remembered.

This commit is contained in:
peter1138 2007-01-11 14:40:12 +00:00
parent b7e753555d
commit 8d5a542d9b

View File

@ -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;