|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
/* $Id: player.c,v 1.74 2004/02/01 00:10:27 stpohle Exp $
|
|
|
|
|
/* $Id: player.c,v 1.75 2004/02/01 01:15:04 stpohle Exp $
|
|
|
|
|
* player.c - everything what have to do with the player */
|
|
|
|
|
|
|
|
|
|
#include <SDL.h>
|
|
|
|
@ -217,8 +217,8 @@ player_check_powerup (int p_nr)
|
|
|
|
|
/* we found a shoe powerup */
|
|
|
|
|
case FT_shoe:
|
|
|
|
|
if (p->speed < MAX_SPEED && p->ill[PI_slow].to <= 0.0) {
|
|
|
|
|
p->speed *= SPEEDMUL;
|
|
|
|
|
bman.updatestatusbar = 1;
|
|
|
|
|
p->speed *= SPEEDMUL;
|
|
|
|
|
p->collect_shoes++;
|
|
|
|
|
}
|
|
|
|
|
field_clear (fx, fy);
|
|
|
|
@ -318,8 +318,8 @@ stepmove_player (int pl_nr)
|
|
|
|
|
else
|
|
|
|
|
speed = 1.0f - _pos.y;
|
|
|
|
|
|
|
|
|
|
if (speed > (p->speed) || speed == 0)
|
|
|
|
|
speed = p->speed;
|
|
|
|
|
if (speed > (p->stepsleft) || speed == 0)
|
|
|
|
|
speed = p->stepsleft;
|
|
|
|
|
|
|
|
|
|
// check the new field position
|
|
|
|
|
d.x = d.y = 0.0f;
|
|
|
|
@ -380,7 +380,7 @@ stepmove_player (int pl_nr)
|
|
|
|
|
p->pos.x = map.tunnel[tunnelnr].x;
|
|
|
|
|
p->pos.y = map.tunnel[tunnelnr].y;
|
|
|
|
|
p->tunnelto = GAME_TUNNEL_TO;
|
|
|
|
|
speed = p->speed;
|
|
|
|
|
speed = p->stepsleft;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -388,7 +388,7 @@ stepmove_player (int pl_nr)
|
|
|
|
|
if (d.x == 0.0f && d.y == 0.0f)
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
return (p->speed - speed);
|
|
|
|
|
return (p->stepsleft - speed);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -417,8 +417,7 @@ void
|
|
|
|
|
move_player (int pl_nr)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
int oldd;
|
|
|
|
|
float speed, stepsleft;
|
|
|
|
|
int oldd, coll_speed;
|
|
|
|
|
_player *p = &players[pl_nr];
|
|
|
|
|
|
|
|
|
|
if (p->tunnelto > 0.0f) {
|
|
|
|
@ -432,16 +431,12 @@ move_player (int pl_nr)
|
|
|
|
|
/* prepade playervariables for the moving */
|
|
|
|
|
player_animation (p);
|
|
|
|
|
oldd = p->d;
|
|
|
|
|
speed = p->speed;
|
|
|
|
|
stepsleft = speed * timefactor;
|
|
|
|
|
p->stepsleft = p->speed * timefactor;
|
|
|
|
|
coll_speed = p->collect_shoes;
|
|
|
|
|
do {
|
|
|
|
|
p->d = oldd;
|
|
|
|
|
p->speed = stepsleft;
|
|
|
|
|
} while ((stepsleft = stepmove_player (pl_nr)) > 0);
|
|
|
|
|
} while ((p->stepsleft = stepmove_player (pl_nr)) > 0);
|
|
|
|
|
|
|
|
|
|
/* restore old settings */
|
|
|
|
|
p->speed = speed;
|
|
|
|
|
|
|
|
|
|
/* network packet send control - send data if it's time to send or if we need to */
|
|
|
|
|
if (GT_MP)
|
|
|
|
|
net_game_send_playermove (pl_nr, (p->old_m == 0));
|
|
|
|
|