static int screentiles[MAX_PLAYFIELD_HEIGHT + 2][MAX_PLAYFIELD_WIDTH + 2];
static int crumbled_state[MAX_PLAYFIELD_HEIGHT + 2][MAX_PLAYFIELD_WIDTH + 2];
-/* copy the entire screen to the window at the scroll position */
+int getFieldbufferOffsetX_EM()
+{
+ return screen_x % TILEX;
+}
+
+int getFieldbufferOffsetY_EM()
+{
+ return screen_y % TILEY;
+}
void BlitScreenToBitmap_EM(Bitmap *target_bitmap)
{
+ /* blit all (up to four) parts of the scroll buffer to the target bitmap */
+
int x = screen_x % (MAX_BUF_XSIZE * TILEX);
int y = screen_y % (MAX_BUF_YSIZE * TILEY);
- int sx, sy, sxsize, sysize;
int xsize = SXSIZE;
int ysize = SYSIZE;
int full_xsize = lev.width * TILEX;
int full_ysize = lev.height * TILEY;
-
- sxsize = (full_xsize < xsize ? full_xsize : xsize);
- sysize = (full_ysize < ysize ? full_ysize : ysize);
- sx = SX + (full_xsize < xsize ? (xsize - full_xsize) / 2 : 0);
- sy = SY + (full_ysize < ysize ? (ysize - full_ysize) / 2 : 0);
+ int sx = SX + (full_xsize < xsize ? (xsize - full_xsize) / 2 : 0);
+ int sy = SY + (full_ysize < ysize ? (ysize - full_ysize) / 2 : 0);
+ int sxsize = (full_xsize < xsize ? full_xsize : xsize);
+ int sysize = (full_ysize < ysize ? full_ysize : ysize);
if (x < 2 * TILEX && y < 2 * TILEY)
{
void BackToFront_EM(void)
{
- /* blit all (up to four) parts of the scroll buffer to the backbuffer */
- BlitScreenToBitmap_EM(backbuffer);
-
- /* blit the completely updated backbuffer to the window (in one blit) */
BlitBitmap(backbuffer, window, SX, SY, SXSIZE, SYSIZE, SX, SY);
}
-void blitscreen(void)
-{
- BackToFront_EM();
-}
-
static struct GraphicInfo_EM *getObjectGraphic(int x, int y)
{
int tile = Draw[y][x];
g = getObjectGraphic(x, y);
- crumbled_border_size = g->crumbled_border_size * TILESIZE_VAR / TILESIZE;
+ crumbled_border_size =
+ g->crumbled_border_size * TILESIZE_VAR / g->crumbled_tile_size;
for (i = 0; i < 4; i++)
{
for (i = 0; i < MAX_PLAYERS; i++)
blitplayer(&ply[i]);
- blitscreen();
+ BlitScreenToBitmap_EM(backbuffer);
+ BackToFront_EM();
Delay(wait_delay_value);
for (i = 0; i < MAX_PLAYERS; i++)
blitplayer(&ply[i]);
- blitscreen();
+ BlitScreenToBitmap_EM(backbuffer);
+ BackToFront_EM();
Delay(wait_delay_value);
}
for (i = 0; i < MAX_PLAYERS; i++)
blitplayer(&ply[i]);
}
-
-void game_animscreen(void)
-{
- RedrawPlayfield_EM(FALSE);
-}