Skip to content

Commit

Permalink
Exported thing activation function
Browse files Browse the repository at this point in the history
  • Loading branch information
nashmuhandes authored and madame-rachelle committed Jan 14, 2025
1 parent c87dc5c commit f5bf1d0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/playsim/p_lnspec.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
10 changes: 9 additions & 1 deletion src/playsim/p_map.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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));
}
1 change: 1 addition & 0 deletions wadsrc/static/zscript/actors/actor.zs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit f5bf1d0

Please sign in to comment.