}
/* Draw background: */
- for (y = 0; y < 15; ++y)
+ for (y = 0; y < 16 && y < level->height; ++y)
{
for (x = 0; x < 21; ++x)
{
- Tile::draw(32*x - fmodf(scroll_x, 32), y * 32,
+ Tile::draw(32*x - fmodf(scroll_x, 32), y * 32 - fmodf(scroll_y, 32),
level->bg_tiles[(int)y + (int)(scroll_y / 32)][(int)x + (int)(scroll_x / 32)]);
}
}
/* Draw interactive tiles: */
- for (y = 0; y < 15; ++y)
+ for (y = 0; y < 16 && y < level->height; ++y)
{
for (x = 0; x < 21; ++x)
{
- Tile::draw(32*x - fmodf(scroll_x, 32), y * 32,
+ Tile::draw(32*x - fmodf(scroll_x, 32), y * 32 - fmodf(scroll_y, 32),
level->ia_tiles[(int)y + (int)(scroll_y / 32)][(int)x + (int)(scroll_x / 32)]);
}
}
broken_bricks[i]->draw();
/* Draw foreground: */
- for (y = 0; y < 15; ++y)
+ for (y = 0; y < 16 && y < level->height; ++y)
{
for (x = 0; x < 21; ++x)
{
- Tile::draw(32*x - fmodf(scroll_x, 32), y * 32,
+ Tile::draw(32*x - fmodf(scroll_x, 32), y * 32 - fmodf(scroll_y, 32),
level->fg_tiles[(int)y + (int)(scroll_y / 32)][(int)x + (int)(scroll_x / 32)]);
}
}