X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FExplosions.c;h=9398d84779d2c8c702f05a54eb984c0c4a10522e;hb=3d7779514ea1fa0a79312ec8e98f08e5b1096fcb;hp=6855088d326adc00b07b6f91a3fc43d0deff057a;hpb=8d3d7d213a9691455a49544624bf380e85f43461;p=rocksndiamonds.git diff --git a/src/game_sp/Explosions.c b/src/game_sp/Explosions.c index 6855088d..9398d847 100644 --- a/src/game_sp/Explosions.c +++ b/src/game_sp/Explosions.c @@ -30,6 +30,10 @@ int subAnimateExplosion(int si) return subAnimateExplosion; bl = HighByte(PlayField16[si]); +#if 0 + printf("::: subAnimateExplosion: %d [%d, %d] [%d]\n", + bl, PlayField16[si], si, FrameCounter); +#endif if ((bl & 0x80) != 0) // infotron explosion! goto loc_g_28D0; @@ -38,7 +42,7 @@ int subAnimateExplosion(int si) // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si); - StretchedSprites.BltEx(X, Y, aniExplosion[bl]); + StretchedSprites.BltEx(X, Y, aniFramesExplosion[bl]); // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if (bl == 8) { @@ -83,7 +87,13 @@ void ExplodeFieldSP(int si) ExplosionShake = 1; // something explodes if (ax == fiMurphy) + { +#if 1 + printf("::: Explosions.c: ExplodeFieldSP(): killing murphy\n"); +#endif + KillMurphyFlag = 1; + } if (ax == fiElectron) { @@ -118,6 +128,10 @@ static void LetExplodeFieldSP(int tsi, int cx, int dh) return; al = LowByte(PlayField16[tsi]); +#if 0 + printf("::: LetExplodeFieldSP: got %d [%d, %d] [%d]\n", + al, PlayField16[tsi], tsi, FrameCounter); +#endif switch (al) { case fiHardWare: @@ -146,6 +160,11 @@ static void LetExplodeFieldSP(int tsi, int cx, int dh) break; case fiMurphy: +#if 1 + printf("::: Explosions.c: LetExplodeFieldSP(): killing murphy [%d]\n", + tsi); +#endif + KillMurphyFlag = 1; PlayField8[tsi] = dh; PlayField16[tsi] = cx; @@ -155,6 +174,8 @@ static void LetExplodeFieldSP(int tsi, int cx, int dh) PlayField16[tsi] = cx; break; } + + GfxGraphic[GetX(tsi)][GetY(tsi)] = -1; } static int subExplodeZonk(int tsi, int cx)