[Super-tux-commit] supertux/src player.cpp,1.109,1.110
Brought to you by:
wkendrick
From: Ricardo C. <rm...@us...> - 2004-05-18 23:45:40
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12789/src Modified Files: player.cpp Log Message: Only butt jump after a full jump. This approuch is different; instead of enabling butt jump only when the conditions are satisfory, keep it enabled and disable in case something doesn't satisfy them. Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.109 retrieving revision 1.110 diff -u -d -r1.109 -r1.110 --- player.cpp 18 May 2004 23:15:31 -0000 1.109 +++ player.cpp 18 May 2004 23:45:30 -0000 1.110 @@ -405,6 +405,7 @@ --base.y; jumping = true; can_jump = false; + butt_jump = true; // player started jumping, enable butt jump if (size == SMALL) play_sound(sounds[SND_JUMP], SOUND_CENTER_SPEAKER); else @@ -415,13 +416,15 @@ { jumping = false; physic.set_velocity_y(0); + butt_jump = false; // jump was not full, disable butt jump } - if (input.down == DOWN && !on_ground() && !duck && size == BIG) - butt_jump = true; - else if (input.down == UP) - butt_jump = false; - if (input.down == DOWN && butt_jump && on_ground()) + /* Do butt jump, in case the player has done the combination + (full jump and hold DOWN) */ + if (input.down == UP && physic.get_velocity_y() < 0 && butt_jump) + butt_jump = false; // in case DOWN is not hold after the full jump, disable it + + if (butt_jump && on_ground() && size == BIG) { if(World::current()->trybreakbrick(base.x, base.y + base.height, false) || World::current()->trybreakbrick( @@ -429,7 +432,7 @@ // make tux jumping a little bit again after breaking the bricks physic.set_velocity_y(2); } - butt_jump = false; +// butt_jump = false; } if ( (issolid(base.x + base.width / 2, base.y + base.height + 64) || @@ -443,6 +446,9 @@ can_jump = true; } + if(on_ground()) /* Make sure jumping is off. */ + jumping = false; + input.old_up = input.up; } |