This commit is contained in:
parent
dc575c2ed2
commit
8a4fea8d7a
3 changed files with 8 additions and 1 deletions
|
@ -350,7 +350,7 @@ void CNpcCartPlatform::render()
|
||||||
|
|
||||||
void CNpcCartPlatform::jump()
|
void CNpcCartPlatform::jump()
|
||||||
{
|
{
|
||||||
if ( !m_inJump && !m_rebound )
|
if ( !m_inJump && !m_rebound && m_trackContact )
|
||||||
{
|
{
|
||||||
m_inJump = true;
|
m_inJump = true;
|
||||||
m_vertSpeed = -8 << 8;
|
m_vertSpeed = -8 << 8;
|
||||||
|
|
|
@ -37,6 +37,7 @@ protected:
|
||||||
u8 m_playerAttached;
|
u8 m_playerAttached;
|
||||||
u8 m_rebound;
|
u8 m_rebound;
|
||||||
u8 m_falling;
|
u8 m_falling;
|
||||||
|
u8 m_trackContact;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -33,6 +33,7 @@ void CNpcGhostTrainPlatform::postInit()
|
||||||
m_speedSetting = GO_DEFAULT;
|
m_speedSetting = GO_DEFAULT;
|
||||||
|
|
||||||
m_carSpeed >>= 8;
|
m_carSpeed >>= 8;
|
||||||
|
m_trackContact = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -62,6 +63,8 @@ void CNpcGhostTrainPlatform::processMovement( int _frames )
|
||||||
m_contact = true;
|
m_contact = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_trackContact = false;
|
||||||
|
|
||||||
if ( m_isActivated )
|
if ( m_isActivated )
|
||||||
{
|
{
|
||||||
if ( m_falling )
|
if ( m_falling )
|
||||||
|
@ -110,6 +113,7 @@ void CNpcGhostTrainPlatform::processMovement( int _frames )
|
||||||
// have touched down
|
// have touched down
|
||||||
|
|
||||||
m_rebound = false;
|
m_rebound = false;
|
||||||
|
m_trackContact = true;
|
||||||
moveY += groundHeight;
|
moveY += groundHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,6 +182,7 @@ void CNpcGhostTrainPlatform::processMovement( int _frames )
|
||||||
// have touched down
|
// have touched down
|
||||||
|
|
||||||
m_inJump = false;
|
m_inJump = false;
|
||||||
|
m_trackContact = true;
|
||||||
moveY += groundHeight;
|
moveY += groundHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -194,6 +199,7 @@ void CNpcGhostTrainPlatform::processMovement( int _frames )
|
||||||
// groundHeight <= yMovement indicates either just above ground or on or below ground
|
// groundHeight <= yMovement indicates either just above ground or on or below ground
|
||||||
|
|
||||||
moveY = groundHeight;
|
moveY = groundHeight;
|
||||||
|
m_trackContact = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue