- block off the Substitute function by making it private to the 3 classes that really need it.

This commit is contained in:
Christoph Oelckers 2020-04-19 21:06:51 +02:00
parent bd3f4e7347
commit 4fb6b7c7d4
3 changed files with 21 additions and 1 deletions

View file

@ -1614,6 +1614,22 @@ DEFINE_ACTION_FUNCTION_NATIVE(AActor, Substitute, StaticPointerSubstitution)
return 0; return 0;
} }
DEFINE_ACTION_FUNCTION_NATIVE(_PlayerPawn, Substitute, StaticPointerSubstitution)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_OBJECT(replace, AActor);
StaticPointerSubstitution(self, replace);
return 0;
}
DEFINE_ACTION_FUNCTION_NATIVE(_MorphedMonster, Substitute, StaticPointerSubstitution)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_OBJECT(replace, AActor);
StaticPointerSubstitution(self, replace);
return 0;
}
DEFINE_ACTION_FUNCTION_NATIVE(AActor, GetSpawnableType, P_GetSpawnableType) DEFINE_ACTION_FUNCTION_NATIVE(AActor, GetSpawnableType, P_GetSpawnableType)
{ {
PARAM_PROLOGUE; PARAM_PROLOGUE;

View file

@ -459,7 +459,7 @@ class Actor : Thinker native
virtual native void Die(Actor source, Actor inflictor, int dmgflags = 0, Name MeansOfDeath = 'none'); virtual native void Die(Actor source, Actor inflictor, int dmgflags = 0, Name MeansOfDeath = 'none');
virtual native bool Slam(Actor victim); virtual native bool Slam(Actor victim);
virtual native void Touch(Actor toucher); virtual native void Touch(Actor toucher);
native void Substitute(Actor replacement); private native void Substitute(Actor replacement);
native ui void DisplayNameTag(); native ui void DisplayNameTag();
// Called by inventory items to see if this actor is capable of touching them. // Called by inventory items to see if this actor is capable of touching them.

View file

@ -1,5 +1,7 @@
extend class PlayerPawn extend class PlayerPawn
{ {
private native void Substitute(PlayerPawn replacement);
//=========================================================================== //===========================================================================
// //
// EndAllPowerupEffects // EndAllPowerupEffects
@ -503,6 +505,8 @@ class MorphedMonster : Actor
+FLOORCLIP +FLOORCLIP
} }
private native void Substitute(Actor replacement);
override void OnDestroy () override void OnDestroy ()
{ {
if (UnmorphedMe != NULL) if (UnmorphedMe != NULL)