- Fixed: The count parameter of A_Jump is a constant, not an expression.

SVN r1171 (trunk)
This commit is contained in:
Christoph Oelckers 2008-08-14 22:58:17 +00:00
parent 61cbb1d2e1
commit e54c7f6e46
3 changed files with 4 additions and 1 deletions

View file

@ -1,4 +1,5 @@
August 14, 2008 (Changes by Graf Zahl) August 14, 2008 (Changes by Graf Zahl)
- Fixed: The count parameter of A_Jump is a constant, not an expression.
- Fixed: A_Jump used a wrong index into the jump address table. - Fixed: A_Jump used a wrong index into the jump address table.
- Fixed: The recent changes in the DECORATE parser require the special parameter - Fixed: The recent changes in the DECORATE parser require the special parameter
to A_CallSpecial to be an expression, not a constant. to A_CallSpecial to be an expression, not a constant.

View file

@ -196,6 +196,8 @@ struct StateCallData
#define ACTION_PARAM_START(count) #define ACTION_PARAM_START(count)
#define ACTION_PARAM_CONST(var, i) \
int var = StateParameters[ParameterIndex+i];
#define ACTION_PARAM_INT(var, i) \ #define ACTION_PARAM_INT(var, i) \
int var = EvalExpressionI(StateParameters[ParameterIndex+i], self); int var = EvalExpressionI(StateParameters[ParameterIndex+i], self);
#define ACTION_PARAM_BOOL(var,i) \ #define ACTION_PARAM_BOOL(var,i) \

View file

@ -448,7 +448,7 @@ static void DoJump(AActor * self, FState * CallingState, int offset, StateCallDa
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Jump) DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_Jump)
{ {
ACTION_PARAM_START(3); ACTION_PARAM_START(3);
ACTION_PARAM_INT(count, 0); ACTION_PARAM_CONST(count, 0);
ACTION_PARAM_INT(maxchance, 1); ACTION_PARAM_INT(maxchance, 1);
ACTION_PARAM_VARARG(jumps, 2); ACTION_PARAM_VARARG(jumps, 2);