- 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
|
|
@ -593,6 +593,18 @@ begin:
|
|||
return a < numret ? a + 1 : numret;
|
||||
}
|
||||
NEXTOP;
|
||||
OP(RETI):
|
||||
assert(ret != NULL || numret == 0);
|
||||
if (a < numret)
|
||||
{
|
||||
// Shifting by 17 to wipe out the final bit
|
||||
ret[a].SetInt(((pc[-1].i16) << 17) >> 17);
|
||||
}
|
||||
if (pc[-1].i16 & 0x8000)
|
||||
{
|
||||
return a < numret ? a + 1 : numret;
|
||||
}
|
||||
NEXTOP;
|
||||
OP(RESULT):
|
||||
// This instruction is just a placeholder to indicate where a return
|
||||
// value should be stored. It does nothing on its own and should not
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue