X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FZonk.c;h=b14af7eac5845d37788bf8f03c359b0fc07703d8;hb=d45b35552f4ca1ada1266fb7e8b6968d878019a6;hp=fc6f5d96129c0b35e1311d535e66f613d4112648;hpb=5ba7f2d9a3f07f342afdf215a3307d5487cb6d43;p=rocksndiamonds.git diff --git a/src/game_sp/Zonk.c b/src/game_sp/Zonk.c index fc6f5d96..b14af7ea 100644 --- a/src/game_sp/Zonk.c +++ b/src/game_sp/Zonk.c @@ -131,8 +131,13 @@ loc_g_0DE8: // zonk comes falling from above X = GetStretchX(si); Y = GetStretchY(si - FieldWidth); dx = bl & 0x7; +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X, Y + TwoPixels * (dx + 1), aniZonk, dx); +#else StretchedSprites.BltEx(X, Y, 0); StretchedSprites.BltEx(X, Y + TwoPixels * (dx + 1), fiZonk); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ bl = HighByte(PlayField16[si]) + 1; if (bl == 0x16) @@ -178,7 +183,12 @@ loc_g_0DE8: // zonk comes falling from above if (ax == fiOrangeDisk) // OrangeDisk explodes 'loc_g_0E95: goto loc_g_0F75; +#if 1 + // play the zonk sound, 'cause zonk hits something "hard" + subSoundFX(si, fiZonk, actImpact); +#else subSoundFXZonk(); // play the zonk sound,'cause zonk hits something "hard" +#endif if (! (ax == fiZonk || ax == fiInfotron || ax == fiRAM)) return subAnimateZonks; @@ -206,7 +216,7 @@ loc_g_0EEA: // test if zonk may roll left goto loc_g_0D4C; MovHighByte(&PlayField16[si], 0x50); // zonk rolls left - Mov(&PlayField16[si - 1], 0x8888); // mark as zonk accessing? + PlayField16[si - 1] = 0x8888; // mark as zonk accessing? return subAnimateZonks; loc_g_0F00: // test if zonk may roll right @@ -214,7 +224,7 @@ loc_g_0F00: // test if zonk may roll right return subAnimateZonks; MovHighByte(&PlayField16[si], 0x60); // zonk rolls right - Mov(&PlayField16[si + 1], 0x8888); // mark as zonk accessing? + PlayField16[si + 1] = 0x8888; // mark as zonk accessing? return subAnimateZonks; loc_g_0F14: // Murphy dies, but not in any case @@ -262,8 +272,13 @@ loc_g_0F83: // zonk comes rolling from right to left X = GetStretchX(si + 1); Y = GetStretchY(si); dx = (bl & 0x7) + 1; +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X - (TwoPixels * dx), Y, aniZonkRollLeft, dx - 1); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniZonkRollLeft[dx - 1]); + StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniFramesZonkRollLeft[dx - 1]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ bl = HighByte(PlayField16[si]) + 1; // get and increment sequence# if (bl == 0x24) @@ -294,8 +309,13 @@ loc_g_0FE8: // zonk comes rolling from left to right X = GetStretchX(si - 1); Y = GetStretchY(si); dx = (bl & 0x7) + 1; +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X + (TwoPixels * dx), Y, aniZonkRollRight, dx - 1); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniZonkRollRight[dx - 1]); + StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniFramesZonkRollRight[dx - 1]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ bl = HighByte(PlayField16[si]) + 1; if (bl == 0x34) @@ -346,8 +366,13 @@ loc_g_107B: // zonk rolls left X = GetStretchX(si); Y = GetStretchY(si); dx = (bl & 0xF) + 1; +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X - (TwoPixels * dx), Y, aniZonkRollLeft, dx - 1); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniZonkRollLeft[dx - 1]); + StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniFramesZonkRollLeft[dx - 1]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ bl = HighByte(PlayField16[si]) + 1; // retrieve and increment sequence# if (bl < 0x52) @@ -383,8 +408,13 @@ loc_g_10E9: // zonk rolls right X = GetStretchX(si); Y = GetStretchY(si); dx = (bl & 0x7) + 1; +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X + (TwoPixels * dx), Y, aniZonkRollRight, dx - 1); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniZonkRollRight[dx - 1]); + StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniFramesZonkRollRight[dx - 1]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ bl = HighByte(PlayField16[si]) + 1; if (bl < 0x62) @@ -473,4 +503,3 @@ loc_g_16A7: return subCleanUpForZonksAbove; } // subCleanUpForZonksAbove -