1
0
Fork 0
forked from len0rd/rockbox

Brickmania: Fix inner loop used the same variable as outer loop, which trashed

powerups when paddle hit Normal or Fire powerups


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24932 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Tomer Shalev 2010-02-27 07:58:48 +00:00
parent 43e95cf7e5
commit e96f05822f

View file

@ -1603,14 +1603,14 @@ static int brickmania_game_loop(void)
case POWER_TYPE_PADDLE_SHOOTER: case POWER_TYPE_PADDLE_SHOOTER:
score += SCORE_POWER_PADDLE_SHOOTER; score += SCORE_POWER_PADDLE_SHOOTER;
paddle_type = PADDLE_TYPE_SHOOTER; paddle_type = PADDLE_TYPE_SHOOTER;
for(k=0;k<used_balls;k++) for(i=0;i<used_balls;i++)
ball[k].glue=false; ball[i].glue=false;
break; break;
case POWER_TYPE_PADDLE_NORMAL: case POWER_TYPE_PADDLE_NORMAL:
score += SCORE_POWER_PADDLE_NORMAL; score += SCORE_POWER_PADDLE_NORMAL;
paddle_type = PADDLE_TYPE_NORMAL; paddle_type = PADDLE_TYPE_NORMAL;
for(k=0;k<used_balls;k++) for(i=0;i<used_balls;i++)
ball[k].glue=false; ball[i].glue=false;
flip_sides=false; flip_sides=false;
pad_pos_x += (pad_width-PAD_WIDTH)/2; pad_pos_x += (pad_width-PAD_WIDTH)/2;
pad_width = PAD_WIDTH; pad_width = PAD_WIDTH;
@ -1677,9 +1677,12 @@ static int brickmania_game_loop(void)
if (remove_power) if (remove_power)
{ {
used_powers--; used_powers--;
power[k].top = power[used_powers].top; if (k != used_powers)
power[k].x_pos = power[used_powers].x_pos; {
power[k].type = power[used_powers].type; power[k].top = power[used_powers].top;
power[k].x_pos = power[used_powers].x_pos;
power[k].type = power[used_powers].type;
}
k--; k--;
} }
} }