diff --git a/source/friend/fgary.cpp b/source/friend/fgary.cpp index 1f34346da..b8d4d1d33 100644 --- a/source/friend/fgary.cpp +++ b/source/friend/fgary.cpp @@ -348,6 +348,7 @@ void CNpcGaryFriend::think( int _frames ) if ( abs( groundDist ) > 15 ) { m_drawRotation = 0; + CNpcThing::think(_frames); return; } @@ -358,6 +359,7 @@ void CNpcGaryFriend::think( int _frames ) if ( abs( groundDist ) > 15 ) { m_drawRotation = 0; + CNpcThing::think(_frames); return; } diff --git a/source/platform/platform.cpp b/source/platform/platform.cpp index 6273d86ac..944d798c0 100644 --- a/source/platform/platform.cpp +++ b/source/platform/platform.cpp @@ -1182,6 +1182,9 @@ CRECT const &collisionArea=getCollisionArea(); int height = getHeightFromPlatformAtPosition( friendPos.vx, friendPos.vy ); friendNpc->setPlatform( this ); + DVECTOR friendPos = friendNpc->getPos(); + friendPos.vy += height; + friendNpc->setPos( friendPos ); m_contact = true; } @@ -1194,6 +1197,9 @@ CRECT const &collisionArea=getCollisionArea(); if ( height >= -threshold && height < 1 ) { friendNpc->setPlatform( this ); + DVECTOR friendPos = friendNpc->getPos(); + friendPos.vy += height; + friendNpc->setPos( friendPos ); m_contact = true; }