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;
|