- fixed: FastProjectile's movement code was missong a portal check.

This commit is contained in:
Christoph Oelckers 2017-08-12 13:55:33 +02:00
parent 89980d9e77
commit 4483d665d4
3 changed files with 10 additions and 0 deletions

View file

@ -4036,6 +4036,14 @@ void AActor::CheckPortalTransition(bool islinked)
if (islinked && moved) LinkToWorld(&ctx); if (islinked && moved) LinkToWorld(&ctx);
} }
DEFINE_ACTION_FUNCTION(AActor, CheckPortalTransition)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_BOOL_DEF(linked);
self->CheckPortalTransition(linked);
return 0;
}
// //
// P_MobjThinker // P_MobjThinker
// //

View file

@ -518,6 +518,7 @@ class Actor : Thinker native
native clearscope int GetRenderStyle() const; native clearscope int GetRenderStyle() const;
native clearscope bool CheckKeys(int locknum, bool remote, bool quiet = false); native clearscope bool CheckKeys(int locknum, bool remote, bool quiet = false);
native clearscope Inventory FirstInv() const; native clearscope Inventory FirstInv() const;
protected native void CheckPortalTransition(bool linked = true);
native clearscope string GetTag(string defstr = "") const; native clearscope string GetTag(string defstr = "") const;
native void SetTag(string defstr = ""); native void SetTag(string defstr = "");

View file

@ -156,6 +156,7 @@ class FastProjectile : Actor
ExplodeMissile (NULL, NULL); ExplodeMissile (NULL, NULL);
return; return;
} }
CheckPortalTransition();
if (changexy && ripcount <= 0) if (changexy && ripcount <= 0)
{ {
ripcount = count >> 3; ripcount = count >> 3;