[Super-tux-commit] supertux/src player.cpp,1.166,1.167 player.h,1.84,1.85
Brought to you by:
wkendrick
From: Marek M. <wa...@us...> - 2004-09-15 15:15:35
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24424/src Modified Files: player.cpp player.h Log Message: implemented double jump (press up again while jumping) and hovering (press and hold up while falling down) both need some tweaking (especially when jumping off enemies) and should of course be triggered by special items in the final game Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.166 retrieving revision 1.167 diff -u -d -r1.166 -r1.167 --- player.cpp 15 Sep 2004 11:50:31 -0000 1.166 +++ player.cpp 15 Sep 2004 15:15:24 -0000 1.167 @@ -158,7 +158,9 @@ last_ground_y = 0; fall_mode = ON_GROUND; jumping = false; + double_jumping = false; can_jump = true; + can_double_jump = false; butt_jump = false; frame_main = 0; @@ -532,7 +534,9 @@ --base.y; jumping = true; + double_jumping = false; can_jump = false; + can_double_jump = false; if (size == SMALL) SoundManager::get()->play_sound(IDToSound(SND_JUMP)); else @@ -541,9 +545,25 @@ // Let go of jump key else if(input.up == UP && jumping && physic.get_velocity_y() > 0) { - jumping = false; + if (!double_jumping && !duck) {can_double_jump = true;} + jumping = false; physic.set_velocity_y(0); } + + // Double jump + if (input.up == DOWN && can_double_jump) + { + can_double_jump = false; + jumping = true; + double_jumping = true; + physic.set_velocity_y(5.2); + } + + // Hover + if (input.up == DOWN && !jumping && !butt_jump && physic.get_velocity_y() <= 0) + { + physic.set_velocity_y(-1); + } /* In case the player has pressed Down while in a certain range of air, enable butt jump action */ Index: player.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.h,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- player.h 9 Sep 2004 18:42:18 -0000 1.84 +++ player.h 15 Sep 2004 15:15:25 -0000 1.85 @@ -147,7 +147,9 @@ FallMode fall_mode; bool jumping; + bool double_jumping; bool can_jump; + bool can_double_jump; bool butt_jump; int frame_; int frame_main; |