mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 22:28:56 +00:00
(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:
parent
b7e753555d
commit
8d5a542d9b
@ -131,7 +131,7 @@ static U EvalAdjustT(const DeterministicSpriteGroupAdjust *adjust, U last_value,
|
|||||||
static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, ResolverObject *object)
|
static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, ResolverObject *object)
|
||||||
{
|
{
|
||||||
static SpriteGroup nvarzero;
|
static SpriteGroup nvarzero;
|
||||||
uint32 last_value = object->last_value;
|
uint32 last_value = 0;
|
||||||
uint32 value = 0;
|
uint32 value = 0;
|
||||||
uint i;
|
uint i;
|
||||||
|
|
||||||
@ -159,6 +159,8 @@ static inline const SpriteGroup *ResolveVariable(const SpriteGroup *group, Resol
|
|||||||
last_value = value;
|
last_value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object->last_value = last_value;
|
||||||
|
|
||||||
if (group->g.determ.num_ranges == 0) {
|
if (group->g.determ.num_ranges == 0) {
|
||||||
/* nvar == 0 is a special case -- we turn our value into a callback result */
|
/* nvar == 0 is a special case -- we turn our value into a callback result */
|
||||||
nvarzero.type = SGT_CALLBACK;
|
nvarzero.type = SGT_CALLBACK;
|
||||||
|
Loading…
Reference in New Issue
Block a user