Exported thing activation function

This commit is contained in:
nashmuhandes 2025-01-13 11:46:20 +08:00 committed by Rachael Alexanderson
parent c87dc5ccad
commit f5bf1d0497
3 changed files with 11 additions and 2 deletions

View file

@ -219,7 +219,7 @@ static inline bool P_IsACSSpecial(int specnum)
FLineSpecial *P_GetLineSpecialInfo(int num);
int P_GetMaxLineSpecial();
int P_FindLineSpecial (const char *string, int *min_args=NULL, int *max_args=NULL);
bool P_ActivateThingSpecial(AActor * thing, AActor * trigger, bool death=false);
int P_ActivateThingSpecial(AActor * thing, AActor * trigger, bool death=false);
int P_ExecuteSpecial(
FLevelLocals *lev,
int num,

View file

@ -7211,7 +7211,7 @@ static void SpawnDeepSplash(AActor *t1, const FTraceResults &trace, AActor *puff
//
//=============================================================================
bool P_ActivateThingSpecial(AActor * thing, AActor * trigger, bool death)
int P_ActivateThingSpecial(AActor * thing, AActor * trigger, bool death)
{
bool res = false;
@ -7267,3 +7267,11 @@ bool P_ActivateThingSpecial(AActor * thing, AActor * trigger, bool death)
// Returns the result
return res;
}
DEFINE_ACTION_FUNCTION_NATIVE(AActor, ActivateSpecial, P_ActivateThingSpecial)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_OBJECT_NOT_NULL(activator, AActor);
PARAM_BOOL(death);
ACTION_RETURN_BOOL(P_ActivateThingSpecial(self, activator, death));
}

View file

@ -690,6 +690,7 @@ class Actor : Thinker native
native clearscope static int ApplyDamageFactors(class<Inventory> itemcls, Name damagetype, int damage, int defdamage);
native void RemoveFromHash();
native void ChangeTid(int newtid);
native bool ActivateSpecial(Actor activator, bool death = false);
deprecated("3.8", "Use Level.FindUniqueTid() instead") static int FindUniqueTid(int start = 0, int limit = 0)
{
return level.FindUniqueTid(start, limit);