This commit is contained in:
Paul 2001-01-31 20:16:34 +00:00
parent 57e4e40672
commit 0ac227fabd
3 changed files with 81 additions and 74 deletions

View file

@ -184,6 +184,9 @@ if(newmode!=-1)
Pos.vy+=m_moveVel.vy>>VELOCITY_SHIFT; Pos.vy+=m_moveVel.vy>>VELOCITY_SHIFT;
if(isOnSolidGround()) if(isOnSolidGround())
{ {
//stick to ground (PKG)
Pos.vy=23*16+1;//16*15;
if(m_moveVel.vy) if(m_moveVel.vy)
{ {
// Was falling.. so we've just hit the ground // Was falling.. so we've just hit the ground
@ -216,10 +219,10 @@ if(newmode!=-1)
// Fall // Fall
const PlayerMetrics *metrics; const PlayerMetrics *metrics;
metrics=getPlayerMetrics(); metrics=getPlayerMetrics();
m_moveVel.vy+=metrics->m_metric[PM__GRAVITY_VALUE]; m_moveVel.vy+=PLAYER_GRAVITY;
if(m_moveVel.vy>=metrics->m_metric[PM__TERMINAL_VELOCITY]<<VELOCITY_SHIFT) if(m_moveVel.vy>=PLAYER_TERMINAL_VELOCITY<<VELOCITY_SHIFT)
{ {
m_moveVel.vy=metrics->m_metric[PM__TERMINAL_VELOCITY]<<VELOCITY_SHIFT; m_moveVel.vy=PLAYER_TERMINAL_VELOCITY<<VELOCITY_SHIFT;
m_fallFrames++; m_fallFrames++;
if(m_fallFrames>metrics->m_metric[PM__MAX_SAFE_FALL_FRAMES]) if(m_fallFrames>metrics->m_metric[PM__MAX_SAFE_FALL_FRAMES])
{ {

View file

@ -82,8 +82,6 @@ typedef enum
PM__JUMP_VELOCITY, PM__JUMP_VELOCITY,
PM__MAX_JUMP_FRAMES, PM__MAX_JUMP_FRAMES,
PM__MAX_SAFE_FALL_FRAMES, PM__MAX_SAFE_FALL_FRAMES,
PM__GRAVITY_VALUE,
PM__TERMINAL_VELOCITY,
PM__MAX_RUN_VELOCITY, PM__MAX_RUN_VELOCITY,
PM__RUN_SPEEDUP, PM__RUN_SPEEDUP,
PM__RUN_REVERSESLOWDOWN, PM__RUN_REVERSESLOWDOWN,
@ -119,6 +117,18 @@ public:
DVECTOR getCameraPos(); DVECTOR getCameraPos();
protected: protected:
enum
{
DEFAULT_PLAYER_JUMP_VELOCITY=8,
DEFAULT_PLAYER_MAX_JUMP_FRAMES=10,
DEFAULT_PLAYER_MAX_SAFE_FALL_FRAMES=20,
DEFAULT_PLAYER_MAX_RUN_VELOCITY=8,
DEFAULT_PLAYER_RUN_SPEEDUP=4,
DEFAULT_PLAYER_RUN_REVERSESLOWDOWN=2,
DEFAULT_PLAYER_RUN_SLOWDOWN=1,
PLAYER_GRAVITY=4,
PLAYER_TERMINAL_VELOCITY=8,
};
const PlayerMetrics *getPlayerMetrics(); const PlayerMetrics *getPlayerMetrics();
// State // State

View file

@ -103,31 +103,29 @@ CPlayer::PlayerMode CPlayer::s_modes[NUM_PLAYERMODES]=
// //
{ {
{ { { {
8, // PM__JUMP_VELOCITY DEFAULT_PLAYER_JUMP_VELOCITY, // PM__JUMP_VELOCITY
10, // PM__MAX_JUMP_FRAMES DEFAULT_PLAYER_MAX_JUMP_FRAMES, // PM__MAX_JUMP_FRAMES
20, // PM__MAX_SAFE_FALL_FRAMES DEFAULT_PLAYER_MAX_SAFE_FALL_FRAMES, // PM__MAX_SAFE_FALL_FRAMES
4, // PM__GRAVITY_VALUE DEFAULT_PLAYER_MAX_RUN_VELOCITY, // PM__MAX_RUN_VELOCITY
8, // PM__TERMINAL_VELOCITY DEFAULT_PLAYER_RUN_SPEEDUP, // PM__RUN_SPEEDUP
8, // PM__MAX_RUN_VELOCITY DEFAULT_PLAYER_RUN_REVERSESLOWDOWN, // PM__RUN_REVERSESLOWDOWN
4, // PM__RUN_SPEEDUP DEFAULT_PLAYER_RUN_SLOWDOWN, // PM__RUN_SLOWDOWN
2, // PM__RUN_REVERSESLOWDOWN
1, // PM__RUN_SLOWDOWN
} }, } },
{ {
&stateUnarmedIdle, // STATE_IDLE &stateUnarmedIdle, // STATE_IDLE
&stateJump, // STATE_JUMP &stateJump, // STATE_JUMP
&stateRun, // STATE_RUN &stateRun, // STATE_RUN
&stateFall, // STATE_FALL &stateFall, // STATE_FALL
&stateFallFar, // STATE_FALLFAR &stateFallFar, // STATE_FALLFAR
&stateButtBounce, // STATE_BUTTBOUNCE &stateButtBounce, // STATE_BUTTBOUNCE
&stateButtBounceFall, // STATE_BUTTFALL &stateButtBounceFall, // STATE_BUTTFALL
&stateButtBounceLand, // STATE_BUTTLAND &stateButtBounceLand, // STATE_BUTTLAND
NULL, // STATE_ATTACK NULL, // STATE_ATTACK
NULL, // STATE_RUNATTACK NULL, // STATE_RUNATTACK
NULL, // STATE_AIRATTACK NULL, // STATE_AIRATTACK
&stateDuck, // STATE_DUCK &stateDuck, // STATE_DUCK
&stateSoackUp, // STATE_SOAKUP &stateSoackUp, // STATE_SOAKUP
&stateGetup, // STATE_GETUP &stateGetup, // STATE_GETUP
} }
}, },
@ -136,31 +134,29 @@ CPlayer::PlayerMode CPlayer::s_modes[NUM_PLAYERMODES]=
// //
{ {
{ { { {
8, // PM__JUMP_VELOCITY DEFAULT_PLAYER_JUMP_VELOCITY, // PM__JUMP_VELOCITY
10, // PM__MAX_JUMP_FRAMES DEFAULT_PLAYER_MAX_JUMP_FRAMES, // PM__MAX_JUMP_FRAMES
20, // PM__MAX_SAFE_FALL_FRAMES DEFAULT_PLAYER_MAX_SAFE_FALL_FRAMES, // PM__MAX_SAFE_FALL_FRAMES
4, // PM__GRAVITY_VALUE DEFAULT_PLAYER_MAX_RUN_VELOCITY, // PM__MAX_RUN_VELOCITY
8, // PM__TERMINAL_VELOCITY DEFAULT_PLAYER_RUN_SPEEDUP, // PM__RUN_SPEEDUP
8, // PM__MAX_RUN_VELOCITY DEFAULT_PLAYER_RUN_REVERSESLOWDOWN, // PM__RUN_REVERSESLOWDOWN
4, // PM__RUN_SPEEDUP DEFAULT_PLAYER_RUN_SLOWDOWN, // PM__RUN_SLOWDOWN
2, // PM__RUN_REVERSESLOWDOWN
1, // PM__RUN_SLOWDOWN
} }, } },
{ {
&stateUnarmedIdle, // STATE_IDLE &stateUnarmedIdle, // STATE_IDLE
&stateJump, // STATE_JUMP &stateJump, // STATE_JUMP
&stateRun, // STATE_RUN &stateRun, // STATE_RUN
&stateFall, // STATE_FALL &stateFall, // STATE_FALL
&stateFallFar, // STATE_FALLFAR &stateFallFar, // STATE_FALLFAR
&stateButtBounce, // STATE_BUTTBOUNCE &stateButtBounce, // STATE_BUTTBOUNCE
&stateButtBounceFall, // STATE_BUTTFALL &stateButtBounceFall, // STATE_BUTTFALL
&stateButtBounceLand, // STATE_BUTTLAND &stateButtBounceLand, // STATE_BUTTLAND
&stateChop, // STATE_ATTACK &stateChop, // STATE_ATTACK
&stateRunChop, // STATE_RUNATTACK &stateRunChop, // STATE_RUNATTACK
&stateAirChop, // STATE_AIRATTACK &stateAirChop, // STATE_AIRATTACK
&stateDuck, // STATE_DUCK &stateDuck, // STATE_DUCK
&stateSoackUp, // STATE_SOAKUP &stateSoackUp, // STATE_SOAKUP
&stateGetup, // STATE_GETUP &stateGetup, // STATE_GETUP
} }
}, },
@ -169,31 +165,29 @@ CPlayer::PlayerMode CPlayer::s_modes[NUM_PLAYERMODES]=
// //
{ {
{ { { {
8, // PM__JUMP_VELOCITY DEFAULT_PLAYER_JUMP_VELOCITY/3, // PM__JUMP_VELOCITY
10, // PM__MAX_JUMP_FRAMES DEFAULT_PLAYER_MAX_JUMP_FRAMES/2, // PM__MAX_JUMP_FRAMES
20, // PM__MAX_SAFE_FALL_FRAMES DEFAULT_PLAYER_MAX_SAFE_FALL_FRAMES, // PM__MAX_SAFE_FALL_FRAMES
4, // PM__GRAVITY_VALUE DEFAULT_PLAYER_MAX_RUN_VELOCITY/2, // PM__MAX_RUN_VELOCITY
8, // PM__TERMINAL_VELOCITY DEFAULT_PLAYER_RUN_SPEEDUP/2, // PM__RUN_SPEEDUP
4,//8, // PM__MAX_RUN_VELOCITY DEFAULT_PLAYER_RUN_REVERSESLOWDOWN, // PM__RUN_REVERSESLOWDOWN
2,//4, // PM__RUN_SPEEDUP DEFAULT_PLAYER_RUN_SLOWDOWN, // PM__RUN_SLOWDOWN
2, // PM__RUN_REVERSESLOWDOWN
2,//1, // PM__RUN_SLOWDOWN
} }, } },
{ {
&stateCoralBlowerIdle, // STATE_IDLE &stateCoralBlowerIdle, // STATE_IDLE
NULL, // STATE_JUMP &stateJump, // STATE_JUMP
&stateRun, // STATE_RUN &stateRun, // STATE_RUN
&stateFall, // STATE_FALL &stateFall, // STATE_FALL
&stateFallFar, // STATE_FALLFAR &stateFallFar, // STATE_FALLFAR
NULL, // STATE_BUTTBOUNCE NULL, // STATE_BUTTBOUNCE
NULL, // STATE_BUTTFALL NULL, // STATE_BUTTFALL
NULL, // STATE_BUTTLAND NULL, // STATE_BUTTLAND
NULL, // STATE_ATTACK NULL, // STATE_ATTACK
NULL, // STATE_RUNATTACK NULL, // STATE_RUNATTACK
NULL, // STATE_AIRATTACK NULL, // STATE_AIRATTACK
NULL, // STATE_DUCK NULL, // STATE_DUCK
NULL, // STATE_SOAKUP NULL, // STATE_SOAKUP
NULL, // STATE_GETUP NULL, // STATE_GETUP
} }
}, },
}; };