#define MICROLABEL_YPOS (MICROLEV_YPOS + MICROLEV_YSIZE + 7)
#define MINI_GFX_STARTX 0
-#define MINI_GFX_STARTY 416
-#define MICRO_GFX_STARTX 0
-#define MICRO_GFX_STARTY 528
+#define MINI_GFX_STARTY 448
+#define MICRO_GFX_STARTX 384
+#define MICRO_GFX_STARTY 448
#define GFX_PER_LINE 16
-#define MINI_GFX_PER_LINE 32
-#define MICRO_GFX_PER_LINE 128
+#define MINI_GFX_PER_LINE 16
+#define MICRO_GFX_PER_LINE 16
#define HEROES_PER_LINE 16
#define MINI_SP_STARTX 0
-#define MINI_SP_STARTY 352
-#define MICRO_SP_STARTX 0
-#define MICRO_SP_STARTY 448
+#define MINI_SP_STARTY 512
+#define MICRO_SP_STARTX 384
+#define MICRO_SP_STARTY 512
#define SP_PER_LINE 16
#define MINI_SP_PER_LINE 16
-#define MICRO_SP_PER_LINE 64
+#define MICRO_SP_PER_LINE 16
-#define MINI_DC_STARTX 256
-#define MINI_DC_STARTY 256
+#define MINI_DC_STARTX 0
+#define MINI_DC_STARTY 512
#define MICRO_DC_STARTX 384
-#define MICRO_DC_STARTY 384
+#define MICRO_DC_STARTY 512
#define DC_PER_LINE 16
#define MINI_DC_PER_LINE 16
#define MICRO_DC_PER_LINE 16
-#define MINI_MORE_STARTX 256
+#define MINI_MORE_STARTX 0
#define MINI_MORE_STARTY 256
#define MICRO_MORE_STARTX 384
-#define MICRO_MORE_STARTY 384
+#define MICRO_MORE_STARTY 256
#define MORE_PER_LINE 16
#define MINI_MORE_PER_LINE 16
#define MICRO_MORE_PER_LINE 16
else if (graphic >= GFX_START_ROCKSSP && graphic <= GFX_END_ROCKSSP)
{
graphic -= GFX_START_ROCKSSP;
- graphic -= ((graphic / SP_PER_LINE) * SP_PER_LINE) / 2;
*bitmap = pix[PIX_SP];
*x = MINI_SP_STARTX + (graphic % MINI_SP_PER_LINE) * MINI_TILEX;
*y = MINI_SP_STARTY + (graphic / MINI_SP_PER_LINE) * MINI_TILEY;
void ErdreichAnbroeckeln(int x, int y)
{
+ Bitmap *src_bitmap;
+ int src_x, src_y;
int i, width, height, cx,cy;
int ux = LEVELX(x), uy = LEVELY(y);
int element, graphic;
graphic = GFX_ERDENRAND;
+ getGraphicSource(graphic, &src_bitmap, &src_x, &src_y);
+
for(i=0; i<4; i++)
{
int uxx, uyy;
cy = (i == 3 ? TILEY - snip : 0);
}
- BlitBitmap(pix[PIX_BACK], drawto_field,
- SX + (graphic % GFX_PER_LINE) * TILEX + cx,
- SY + (graphic / GFX_PER_LINE) * TILEY + cy,
+ BlitBitmap(src_bitmap, drawto_field, src_x + cx, src_y + cy,
width, height, FX + x * TILEX + cx, FY + y * TILEY + cy);
}
{
graphic = GFX_ERDENRAND;
+ getGraphicSource(graphic, &src_bitmap, &src_x, &src_y);
+
for(i=0; i<4; i++)
{
int xx, yy, uxx, uyy;
cy = (i==0 ? TILEY-snip : 0);
}
- BlitBitmap(pix[PIX_BACK], drawto_field,
- SX + (graphic % GFX_PER_LINE) * TILEX + cx,
- SY + (graphic / GFX_PER_LINE) * TILEY + cy,
+ BlitBitmap(src_bitmap, drawto_field, src_x + cx, src_y + cy,
width, height, FX + xx * TILEX + cx, FY + yy * TILEY + cy);
MarkTileDirty(xx, yy);
if (graphic >= GFX_START_ROCKSSP && graphic <= GFX_END_ROCKSSP)
{
graphic -= GFX_START_ROCKSSP;
- graphic -= ((graphic / SP_PER_LINE) * SP_PER_LINE) / 2;
BlitBitmap(pix[PIX_SP], drawto,
MICRO_SP_STARTX + (graphic % MICRO_SP_PER_LINE) * MICRO_TILEX,
MICRO_SP_STARTY + (graphic / MICRO_SP_PER_LINE) * MICRO_TILEY,