This commit is contained in:
parent
57e4e40672
commit
0ac227fabd
3 changed files with 81 additions and 74 deletions
|
@ -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])
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -103,15 +103,13 @@ 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
|
||||||
|
@ -136,15 +134,13 @@ 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
|
||||||
|
@ -169,19 +165,17 @@ 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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue