Changeset - r3788:e7a796d95476
[Not reviewed]
master
0 1 0
peter1138 - 18 years ago 2006-05-08 17:47:35
peter1138@openttd.org
(svn r4784) - NewGRF: shuffle the mix of signed / unsigned types when dealing with var adjusts. Fixes issues with some station layouts.
1 file changed with 3 insertions and 3 deletions:
0 comments (0 inline, 0 general)
newgrf_spritegroup.c
Show inline comments
 
@@ -99,7 +99,7 @@ static inline uint32 GetVariable(const R
 
/* Evaluate an adjustment for a variable of the given size. This is a bit of
 
 * an unwieldy macro, but it saves triplicating the code. */
 
#define BUILD_EVAL_ADJUST(size, usize) \
 
static inline size EvalAdjust_ ## size(const DeterministicSpriteGroupAdjust *adjust, size last_value, uint value) \
 
static inline usize EvalAdjust_ ## size(const DeterministicSpriteGroupAdjust *adjust, usize last_value, int32 value) \
 
{ \
 
	value >>= adjust->shift_num; \
 
	value  &= adjust->and_mask; \
 
@@ -108,12 +108,12 @@ static inline size EvalAdjust_ ## size(c
 
\
 
	switch (adjust->type) { \
 
		case DSGA_TYPE_DIV:  value /= (size)adjust->divmod_val; break; \
 
		case DSGA_TYPE_MOD:  value %= (size)adjust->divmod_val; break; \
 
		case DSGA_TYPE_MOD:  value %= (usize)adjust->divmod_val; break; \
 
		case DSGA_TYPE_NONE: break; \
 
	} \
 
\
 
	/* Get our value to the correct range */ \
 
	value = (size)value; \
 
	value = (usize)value; \
 
\
 
	switch (adjust->operation) { \
 
		case DSGA_OP_ADD:  return last_value + value; \
0 comments (0 inline, 0 general)