[Super-tux-commit] supertux/src player.cpp,1.44,1.45
Brought to you by:
wkendrick
From: Ingo R. <gr...@us...> - 2004-04-19 13:56:19
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16297 Modified Files: player.cpp Log Message: - added more mario lik duck behaviour Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- player.cpp 18 Apr 2004 22:36:03 -0000 1.44 +++ player.cpp 19 Apr 2004 13:56:10 -0000 1.45 @@ -314,10 +314,10 @@ float ay = physic.get_acceleration_y(); float dirsign = 0; - if(!duck && input.left == DOWN && input.right == UP) { + if(input.left == DOWN && input.right == UP && (!duck || physic.get_velocity_y() != 0)) { dir = LEFT; dirsign = -1; - } else if(!duck && input.left == UP && input.right == DOWN) { + } else if(input.left == UP && input.right == DOWN && (!duck || physic.get_velocity_y() != 0)) { dir = RIGHT; dirsign = 1; } @@ -394,7 +394,7 @@ { if(input.up == DOWN) { - if (on_ground() && !duck) + if (on_ground()) { // jump physic.set_velocity(physic.get_velocity_x(), 5.5); @@ -458,7 +458,7 @@ } /* Duck! */ - if (input.down == DOWN && size == BIG && !duck) + if (input.down == DOWN && size == BIG && !duck && physic.get_velocity_y() == 0) { duck = true; base.height = 32; @@ -466,7 +466,7 @@ // changing base size confuses collision otherwise old_base = previous_base = base; } - else if(input.down == UP && size == BIG && duck) + else if(input.down == UP && size == BIG && duck && physic.get_velocity_y() == 0) { duck = false; base.y -= 32; |