- converted the rest of a_strifestuff.cpp.
- changed some very old A_Explode calls which passed all values as integer literals.
This commit is contained in:
parent
edd8e51a69
commit
55b549c0c6
20 changed files with 143 additions and 139 deletions
|
|
@ -7018,6 +7018,32 @@ int AActor::TakeSpecialDamage (AActor *inflictor, AActor *source, int damage, FN
|
|||
return (death == NULL) ? -1 : damage;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION(AActor, TakeSpecialDamage)
|
||||
{
|
||||
PARAM_SELF_PROLOGUE(AActor);
|
||||
PARAM_OBJECT(inflictor, AActor);
|
||||
PARAM_OBJECT(source, AActor);
|
||||
PARAM_INT(damage);
|
||||
PARAM_NAME(damagetype);
|
||||
ACTION_RETURN_INT(self->TakeSpecialDamage(inflictor, source, damage, damagetype));
|
||||
}
|
||||
|
||||
int AActor::CallTakeSpecialDamage(AActor *inflictor, AActor *source, int damage, FName damagetype)
|
||||
{
|
||||
IFVIRTUAL(AActor, TakeSpecialDamage)
|
||||
{
|
||||
VMValue params[5] = { (DObject*)this, inflictor, source, damage, damagetype.GetIndex() };
|
||||
VMReturn ret;
|
||||
VMFrameStack stack;
|
||||
int retval;
|
||||
ret.IntAt(&retval);
|
||||
stack.Call(func, params, 5, &ret, 1, nullptr);
|
||||
return retval;
|
||||
}
|
||||
else return TakeSpecialDamage(inflictor, source, damage, damagetype);
|
||||
|
||||
}
|
||||
|
||||
void AActor::Crash()
|
||||
{
|
||||
// [RC] Weird that this forces the Crash state regardless of flag.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue