[Super-tux-commit] supertux/src player.cpp,1.170,1.171 player.h,1.86,1.87
Brought to you by:
wkendrick
From: Marek M. <wa...@us...> - 2004-09-16 23:26:35
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31225/src Modified Files: player.cpp player.h Log Message: replaced double jumping with flapping Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.170 retrieving revision 1.171 diff -u -d -r1.170 -r1.171 --- player.cpp 16 Sep 2004 20:58:41 -0000 1.170 +++ player.cpp 16 Sep 2004 23:26:26 -0000 1.171 @@ -158,9 +158,9 @@ last_ground_y = 0; fall_mode = ON_GROUND; jumping = false; - double_jumping = false; + flapping = false; can_jump = true; - can_double_jump = false; + can_flap = false; enable_hover = false; butt_jump = false; @@ -177,6 +177,7 @@ shooting_timer.init(true); growing_timer.init(true); idle_timer.init(true); + flapping_timer.init(true); physic.reset(); } @@ -535,9 +536,9 @@ --base.y; jumping = true; - double_jumping = false; + flapping = false; can_jump = false; - can_double_jump = false; + can_flap = false; if (size == SMALL) SoundManager::get()->play_sound(IDToSound(SND_JUMP)); else @@ -546,22 +547,25 @@ // Let go of jump key else if(input.up == UP && jumping && physic.get_velocity_y() > 0) { - if (!double_jumping && !duck) {can_double_jump = true;} + if (!flapping && !duck) + { + can_flap = true; + } jumping = false; physic.set_velocity_y(0); } - // Double jump - if (input.up == DOWN && can_double_jump) + // Flapping + if (input.up == DOWN && can_flap) { - can_double_jump = false; + if (!flapping_timer.started()) {flapping_timer.start(TUX_FLAPPING_TIME);} + if (!flapping_timer.check()) {can_flap = false;} jumping = true; - double_jumping = true; - if (size == SMALL) - SoundManager::get()->play_sound(IDToSound(SND_JUMP)); - else - SoundManager::get()->play_sound(IDToSound(SND_BIGJUMP)); - physic.set_velocity_y(5.2); + flapping = true; + if (flapping_timer.get_gone() <= TUX_FLAPPING_TIME) + { + physic.set_velocity_y((float)flapping_timer.get_gone()/450); + } } // Hover Index: player.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.h,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- player.h 15 Sep 2004 22:39:24 -0000 1.86 +++ player.h 16 Sep 2004 23:26:26 -0000 1.87 @@ -40,6 +40,7 @@ #define TUX_SAFE_TIME 1250 #define TUX_INVINCIBLE_TIME 10000 #define TUX_INVINCIBLE_TIME_WARNING 2000 +#define TUX_FLAPPING_TIME 1000 /* How long Tux can flap his wings to gain additional jump height */ #define TIME_WARNING 20000 /* When to alert player they're low on time! */ /* One-ups... */ @@ -147,9 +148,9 @@ FallMode fall_mode; bool jumping; - bool double_jumping; + bool flapping; bool can_jump; - bool can_double_jump; + bool can_flap; bool enable_hover; bool butt_jump; int frame_; @@ -165,6 +166,7 @@ Timer dying_timer; Timer growing_timer; Timer idle_timer; + Timer flapping_timer; Physic physic; public: |