forked from len0rd/rockbox
Brickmania: Simplify movement of pad (and any balls that are sticked to it)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25356 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
be730dce0c
commit
8e8d2c2a5b
1 changed files with 20 additions and 29 deletions
|
|
@ -2238,7 +2238,7 @@ static int brickmania_game_loop(void)
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
int button_right, button_left;
|
int button_right, button_left, dx;
|
||||||
#ifdef ALTRIGHT
|
#ifdef ALTRIGHT
|
||||||
button_right = move_button & (RIGHT | ALTRIGHT);
|
button_right = move_button & (RIGHT | ALTRIGHT);
|
||||||
button_left = move_button & (LEFT | ALTLEFT);
|
button_left = move_button & (LEFT | ALTLEFT);
|
||||||
|
|
@ -2248,40 +2248,31 @@ static int brickmania_game_loop(void)
|
||||||
#endif
|
#endif
|
||||||
if ((game_state==ST_PAUSE) && (button_right || button_left))
|
if ((game_state==ST_PAUSE) && (button_right || button_left))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (button_left || button_right)
|
||||||
|
{
|
||||||
if ((button_right && !flip_sides) ||
|
if ((button_right && !flip_sides) ||
|
||||||
(button_left && flip_sides))
|
(button_left && flip_sides))
|
||||||
{
|
{
|
||||||
if (pad_pos_x+SPEED_PAD+pad_width > GAMESCREEN_WIDTH)
|
if (pad_pos_x+SPEED_PAD+pad_width > GAMESCREEN_WIDTH)
|
||||||
{
|
dx = GAMESCREEN_WIDTH - pad_pos_x - pad_width;
|
||||||
for(k=0;k<used_balls;k++)
|
else
|
||||||
if (game_state==ST_READY || ball[k].glue)
|
dx = SPEED_PAD;
|
||||||
ball[k].pos_x += GAMESCREEN_WIDTH-pad_pos_x -
|
|
||||||
pad_width;
|
|
||||||
pad_pos_x += GAMESCREEN_WIDTH - pad_pos_x - pad_width;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
for(k=0;k<used_balls;k++)
|
|
||||||
if ((game_state==ST_READY || ball[k].glue))
|
|
||||||
ball[k].pos_x+=SPEED_PAD;
|
|
||||||
pad_pos_x+=SPEED_PAD;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ((button_left && !flip_sides) ||
|
else if ((button_left && !flip_sides) ||
|
||||||
(button_right && flip_sides))
|
(button_right && flip_sides))
|
||||||
{
|
{
|
||||||
if (pad_pos_x-SPEED_PAD < 0)
|
if (pad_pos_x-SPEED_PAD < 0)
|
||||||
{
|
dx = -pad_pos_x;
|
||||||
for(k=0;k<used_balls;k++)
|
|
||||||
if (game_state==ST_READY || ball[k].glue)
|
|
||||||
ball[k].pos_x-=pad_pos_x;
|
|
||||||
pad_pos_x -= pad_pos_x;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
dx = -SPEED_PAD;
|
||||||
|
}
|
||||||
|
|
||||||
|
pad_pos_x+=dx;
|
||||||
for(k=0;k<used_balls;k++)
|
for(k=0;k<used_balls;k++)
|
||||||
|
{
|
||||||
if (game_state==ST_READY || ball[k].glue)
|
if (game_state==ST_READY || ball[k].glue)
|
||||||
ball[k].pos_x-=SPEED_PAD;
|
ball[k].pos_x+=dx;
|
||||||
pad_pos_x-=SPEED_PAD;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue