This commit is contained in:
parent
cbf112d17b
commit
8c2034cd84
5 changed files with 42 additions and 6 deletions
|
@ -83,7 +83,8 @@ enemy_src := npc \
|
||||||
|
|
||||||
friend_src := friend \
|
friend_src := friend \
|
||||||
fdata \
|
fdata \
|
||||||
fgary
|
fgary \
|
||||||
|
fsquid
|
||||||
|
|
||||||
platform_src := platform \
|
platform_src := platform \
|
||||||
platdata \
|
platdata \
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
class CNpcSquidwardFriend : public CNpcFriend
|
class CNpcSquidwardFriend : public CNpcFriend
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
virtual void think(int _frames);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -83,10 +83,27 @@ void CNpcBranchPlatform::processMovement( int _frames )
|
||||||
|
|
||||||
if ( m_contact )
|
if ( m_contact )
|
||||||
{
|
{
|
||||||
if ( ( m_reversed && newAngle < -256 ) || newAngle > 256 )
|
//if ( ( m_reversed && newAngle < -256 ) || newAngle > 256 )
|
||||||
{
|
//{
|
||||||
// flick player upwards
|
// flick player upwards
|
||||||
GameScene.getPlayer()->springPlayerUp();
|
//GameScene.getPlayer()->springPlayerUp();
|
||||||
|
//}
|
||||||
|
|
||||||
|
CPlayer *player = GameScene.getPlayer();
|
||||||
|
|
||||||
|
if ( m_reversed )
|
||||||
|
{
|
||||||
|
if ( m_angularVelocity > 20 && newAngle < -64 )
|
||||||
|
{
|
||||||
|
player->springPlayerUp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( m_angularVelocity < -20 && newAngle > 64 )
|
||||||
|
{
|
||||||
|
player->springPlayerUp();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 angularForce = 3 * _frames;
|
s16 angularForce = 3 * _frames;
|
||||||
|
@ -99,7 +116,7 @@ void CNpcBranchPlatform::processMovement( int _frames )
|
||||||
m_angularVelocity += angularForce;
|
m_angularVelocity += angularForce;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 resistance = -( 10 * newAngle ) >> 8;
|
s32 resistance = -( 5 * _frames * newAngle ) >> 8;
|
||||||
|
|
||||||
if ( newAngle > 0 && resistance > -2 )
|
if ( newAngle > 0 && resistance > -2 )
|
||||||
{
|
{
|
||||||
|
@ -119,6 +136,15 @@ void CNpcBranchPlatform::processMovement( int _frames )
|
||||||
if ( m_angularVelocity )
|
if ( m_angularVelocity )
|
||||||
{
|
{
|
||||||
m_angularVelocity += -m_angularVelocity / abs( m_angularVelocity );
|
m_angularVelocity += -m_angularVelocity / abs( m_angularVelocity );
|
||||||
|
|
||||||
|
if ( m_angularVelocity > 40 )
|
||||||
|
{
|
||||||
|
m_angularVelocity = 40;
|
||||||
|
}
|
||||||
|
else if ( m_angularVelocity < -40 )
|
||||||
|
{
|
||||||
|
m_angularVelocity = -40;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if ( newAngle > 320 )
|
/*if ( newAngle > 320 )
|
||||||
|
|
|
@ -698,9 +698,12 @@ void CNpcPlatform::collidedWith( CThing *_thisThing )
|
||||||
{
|
{
|
||||||
player->setPlatform( this );
|
player->setPlatform( this );
|
||||||
|
|
||||||
|
if(getHeightFromPlatformAtPosition(playerPos.vx,playerPos.vy)==0)
|
||||||
|
{
|
||||||
m_contact = true;
|
m_contact = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -441,6 +441,10 @@ SOURCE=..\..\..\source\friend\fsandy.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\friend\fsquid.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\source\friend\fsquid.h
|
SOURCE=..\..\..\source\friend\fsquid.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
|
|
Loading…
Add table
Reference in a new issue