rocksndiamonds-3.3.0.0
[rocksndiamonds.git] / src / game_sp / Explosions.c
index ea9368c56b2830ca2d1da260756dd0b8f9584921..4eded7b3444ea83a03b8e37d4143ec92ad692033 100644 (file)
@@ -43,7 +43,8 @@ void subAnimateExplosion(int si)
   if (bl == 8)
   {
     PlayField16[si] = 0;
-    ExplosionShake = 0; // nothing explodes
+    ExplosionShake = 0;                // nothing explodes
+    // ExplosionShakeMurphy = 0;       // nothing explodes
 
     // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     GfxGraphic[GetX(si)][GetY(si)] = aniSpace;
@@ -57,7 +58,8 @@ loc_g_28D0: // explosion produces infotron
   if (bl == 0x89)
   {
     PlayField16[si] = fiInfotron;
-    MovLowByte(&ExplosionShake, 0); // nothing explodes
+    MovLowByte(&ExplosionShake, 0);            // nothing explodes
+    // MovLowByte(&ExplosionShakeMurphy, 0);   // nothing explodes
 
     // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     GfxGraphic[GetX(si)][GetY(si)] = aniInfotron;
@@ -88,14 +90,19 @@ void ExplodeFieldSP(int si)
   if (ax == fiHardWare)
     return;
 
-  ExplosionShake = 1; // something explodes
+  ExplosionShake = 1;          // something explodes
+
   if (ax == fiMurphy)
   {
-#if 1
+#if 0
     printf("::: Explosions.c: ExplodeFieldSP(): killing murphy\n");
 #endif
 
     KillMurphyFlag = 1;
+
+#if 1
+    ExplosionShakeMurphy = 30; // Murphy explodes
+#endif
   }
 
   if (ax == fiElectron)
@@ -161,7 +168,7 @@ static void LetExplodeFieldSP(int tsi, int cx, int dh)
       break;
 
     case fiMurphy:
-#if 1
+#if 0
       printf("::: Explosions.c: LetExplodeFieldSP(): killing murphy [%d]\n",
             tsi);
 #endif
@@ -301,7 +308,7 @@ void subRedDiskReleaseExplosion()
   // !!! causes flicker -- fix in Murphy.c !!!
   GfxGraphic[GetX(si)][GetY(si)] = aniRedDisk;
 #else
-  StretchedSprites.BltImg(X, Y, aniRedDisk, 0);
+  DDSpriteBuffer_BltImg(X, Y, aniRedDisk, 0);
 #endif
   // +++++++++++++++++++++++++++++++++++++++++