diff --git a/src/bomb.c b/src/bomb.c index e798544..e303d27 100644 --- a/src/bomb.c +++ b/src/bomb.c @@ -33,9 +33,8 @@ draw_bomb (_bomb * bomb) } dest.w = src.w = gfx.bomb.image->w; dest.h = src.h = gfx.block.y; - dest.x = gfx.offset.x + gfx.postab[bomb->pos.x & 0x0FF]; - dest.x = gfx.offset.y + gfx.postab[bomb->pos.y & 0x0FF]; - + dest.x = gfx.offset.x + (x >> 8) * gfx.block.x + gfx.postab[bomb->pos.x & 0x0FF]; + dest.y = gfx.offset.y + (y >> 8) * gfx.block.y + gfx.postab[bomb->pos.y & 0x0FF]; src.x = 0; src.y = src.h * bomb->frame; draw_stone (x>>8, y>>8); @@ -43,10 +42,14 @@ draw_bomb (_bomb * bomb) draw_stone ((x>>8)+1, y>>8); draw_stone (x>>8, (y>>8)+1); draw_stone ((x>>8)+1, (y>>8)+1); + gfx_AddUpdateRect (dest.x = gfx.offset.x + (x >> 8) * gfx.block.x, + gfx.offset.y + (y >> 8) * gfx.block.y, + dest.w*2, dest.h*2); + } else { + gfx_AddUpdateRect (dest.x, dest.y, dest.w, dest.h); } SDL_BlitSurface (gfx.bomb.image, &src, gfx.screen, &dest); - gfx_AddUpdateRect (dest.x, dest.y, dest.w, dest.h); };