- Added a RETI instruction for returning 15-bit signed immediate values.
- Changed Actor's Damage property into an actual function. All access to the damage property must now be done through GetMissileDamage. actor->GetMissileDamage(0, 1) is equivalent to the former actor->Damage, for the case where actor->Damage was not an expression. (I suppose I will probably need to make a thunk for DECORATE expressions that want to read it.) - Cleaned up some decorate expression evaluation functions that are no longer used. SVN r3919 (scripting)
This commit is contained in:
parent
5e184260ac
commit
6e88529324
23 changed files with 270 additions and 195 deletions
|
|
@ -669,16 +669,26 @@ static bool ParsePropertyParams(FScanner &sc, FPropertyInfo *prop, AActor *defau
|
|||
switch ((*p) & 223)
|
||||
{
|
||||
case 'X': // Expression in parentheses or number.
|
||||
|
||||
if (sc.CheckString ("("))
|
||||
{
|
||||
FxExpression *x = ParseExpression(sc, bag.Info);
|
||||
conv.i = 0x40000000 | StateParams.Add(x, bag.Info, false);
|
||||
FxExpression *x = NULL;
|
||||
|
||||
if (sc.CheckString ("("))
|
||||
{
|
||||
x = new FxDamageValue(new FxIntCast(ParseExpression(sc, bag.Info)), true);
|
||||
sc.MustGetStringName(")");
|
||||
}
|
||||
else
|
||||
{
|
||||
sc.MustGetNumber();
|
||||
if (sc.Number != 0)
|
||||
{
|
||||
x = new FxDamageValue(new FxConstant(sc.Number, bag.ScriptPosition), false);
|
||||
}
|
||||
}
|
||||
conv.exp = x;
|
||||
params.Push(conv);
|
||||
sc.MustGetStringName(")");
|
||||
break;
|
||||
}
|
||||
// fall through
|
||||
break;
|
||||
|
||||
case 'I':
|
||||
sc.MustGetNumber();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue