void subAnimateExplosion(int si)
{
- int ax, bl, X, Y;
+ int ax, bl;
if (LowByte(PlayField16[si]) != fiExplosion)
return;
MovHighByte(&PlayField16[si], bl);
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- X = GetStretchX(si);
- Y = GetStretchY(si);
GfxGraphic[GetX(si)][GetY(si)] = aniDefaultExplosion;
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MovHighByte(&PlayField16[si], bl);
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- X = GetStretchX(si);
- Y = GetStretchY(si);
GfxGraphic[GetX(si)][GetY(si)] = aniElectronExplosion;
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
if (ax == fiMurphy)
{
-#if 0
- printf("::: Explosions.c: ExplodeFieldSP(): killing murphy\n");
-#endif
-
KillMurphyFlag = 1;
-#if 1
ExplosionShakeMurphy = 30; // Murphy explodes
-#endif
}
if (ax == fiElectron)
break;
case fiMurphy:
-#if 0
- printf("::: Explosions.c: LetExplodeFieldSP(): killing murphy [%d]\n",
- tsi);
-#endif
-
KillMurphyFlag = 1;
PlayField8[tsi] = dh;
PlayField16[tsi] = cx;
void subClearFieldDueToExplosion(int si)
{
- int X, Y;
-
if (LowByte(PlayField16[si]) == fiExplosion)
return;
PlayField16[si] = 0;
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- X = GetStretchX(si);
- Y = GetStretchY(si);
GfxGraphic[GetX(si)][GetY(si)] = aniSpace;
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
// +++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
-#if 0
- // !!! causes flicker -- fix in Murphy.c !!!
- GfxGraphic[GetX(si)][GetY(si)] = aniRedDisk;
-#else
DDSpriteBuffer_BltImg(X, Y, aniRedDisk, 0);
-#endif
// +++++++++++++++++++++++++++++++++++++++++
RedDiskReleasePhase = RedDiskReleasePhase + 1;