X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FExplosions.c;h=867cc27302cf73db8101aa10168b972730bc28d8;hb=c60227514289cd7d512539785bb2fe47d30db51a;hp=ea9368c56b2830ca2d1da260756dd0b8f9584921;hpb=ce0bba1a070e5e64939491eb68087f68ef8fe870;p=rocksndiamonds.git diff --git a/src/game_sp/Explosions.c b/src/game_sp/Explosions.c index ea9368c5..867cc273 100644 --- a/src/game_sp/Explosions.c +++ b/src/game_sp/Explosions.c @@ -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) @@ -129,7 +136,7 @@ static void LetExplodeFieldSP(int tsi, int cx, int dh) { int al; - if (tsi < (-FieldWidth)) + if (tsi < -FieldWidth) return; al = LowByte(PlayField16[tsi]); @@ -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 // +++++++++++++++++++++++++++++++++++++++++