From 246f3981ea5e6dc3044cfb20c4d06be2787feb49 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tobias=20Gl=C3=A4=C3=9Fer?= Date: Sun, 29 Feb 2004 21:59:17 +0000 Subject: [PATCH] fixed bug which caused tux to "swing" on low frame rates SVN-Revision: 161 --- src/gameloop.c | 2 +- src/player.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gameloop.c b/src/gameloop.c index 5c6f4c925..199546c45 100644 --- a/src/gameloop.c +++ b/src/gameloop.c @@ -686,7 +686,7 @@ int gameloop(char * subset, int levelnb, int mode) } if(tux.input.down == DOWN) - SDL_Delay(30); + SDL_Delay(45); /*Draw the current scene to the screen */ /*If the machine running the game is too slow diff --git a/src/player.c b/src/player.c index 44d583055..9423b1035 100644 --- a/src/player.c +++ b/src/player.c @@ -882,9 +882,17 @@ void player_input(player_type *pplayer) else { if(pplayer->base.xm > 0) - pplayer->base.xm = (int)(pplayer->base.xm - frame_ratio); + { + pplayer->base.xm = (int)(pplayer->base.xm - frame_ratio); + if(pplayer->base.xm < 0) + pplayer->base.xm = 0; + } else if(pplayer->base.xm < 0) - pplayer->base.xm = (int)(pplayer->base.xm + frame_ratio); + { + pplayer->base.xm = (int)(pplayer->base.xm + frame_ratio); + if(pplayer->base.xm > 0) + pplayer->base.xm = 0; + } } /* Jump/jumping? */ -- 2.11.0