// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+
+#if 1
+ GfxGraphic[GetX(si)][GetY(si)] = aniDefaultExplosion;
+#else
+ StretchedSprites.BltImg(X, Y, aniDefaultExplosion, bl);
+#endif
+
+#else
StretchedSprites.BltEx(X, Y, aniFramesExplosion[bl]);
+#endif
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (bl == 8)
{
PlayField16[si] = 0;
ExplosionShake = 0; // nothing explodes
+
+#if 1
+ GfxGraphic[GetX(si)][GetY(si)] = aniSpace;
+#else
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+#endif
} // loc_ret_g_28CF:
return subAnimateExplosion;
{
PlayField16[si] = fiInfotron;
MovLowByte(&ExplosionShake, 0); // nothing explodes
+
+#if 1
+ GfxGraphic[GetX(si)][GetY(si)] = aniInfotron;
+#else
+ X = GetStretchX(si);
+ Y = GetStretchY(si);
+ StretchedSprites.BltImg(X, Y, aniInfotron, 0);
+#endif
+
return subAnimateExplosion;
} // loc_g_28E3:
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+
+#if 1
+ GfxGraphic[GetX(si)][GetY(si)] = aniElectronExplosion;
+#else
+ StretchedSprites.BltImg(X, Y, aniElectronExplosion, bl - 0x80);
+#endif
+
+#else
StretchedSprites.BltEx(X, Y, aniExplosionInfo + bl - 0x80);
+#endif
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
return subAnimateExplosion;
LetExplodeFieldSP(si + FieldWidth, cx, dl);
LetExplodeFieldSP(si + FieldWidth + 1, cx, dl);
+ GfxGraphic[GetX(si)][GetY(si)] = -1; // restart for chain-explosions
+
// loc_g_2C3B:
subSoundFXExplosion();
} // ExplodeFieldSP
break;
}
- GfxGraphic[GetX(tsi)][GetY(tsi)] = -1;
+ GfxGraphic[GetX(tsi)][GetY(tsi)] = -1; // restart for chain-explosions
}
static int subExplodeZonk(int tsi, int cx)
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+
+#if 1
+ GfxGraphic[GetX(si)][GetY(si)] = aniSpace;
+#else
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+#endif
+
+#else
StretchedSprites.BltEx(X, Y, fiSpace);
+#endif
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
return subClearFieldDueToExplosion;
// +++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+
+#if 0
+ // !!! causes flicker -- fix in Murphy.c !!!
+ GfxGraphic[GetX(si)][GetY(si)] = aniRedDisk;
+#else
+ StretchedSprites.BltImg(X, Y, aniRedDisk, 0);
+#endif
+
+#else
StretchedSprites.BltEx(X, Y, fiRedDisk);
+#endif
// +++++++++++++++++++++++++++++++++++++++++
RedDiskReleasePhase = RedDiskReleasePhase + 1;
if (RedDiskReleasePhase >= 0x28)