X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FElectrons.c;h=a910138dd8629f5b3be5f572d82163d5a319e783;hb=20a30378bfde4264628619380057730df6887972;hp=709583cfe6a043c944941d1b3a0ab8c39ee4550d;hpb=5ba7f2d9a3f07f342afdf215a3307d5487cb6d43;p=rocksndiamonds.git diff --git a/src/game_sp/Electrons.c b/src/game_sp/Electrons.c index 709583cf..a910138d 100644 --- a/src/game_sp/Electrons.c +++ b/src/game_sp/Electrons.c @@ -4,7 +4,8 @@ #include "Electrons.h" -static char *VB_Name = "modElectron"; +// static char *VB_Name = "modElectron"; + // --- Option Explicit // ========================================================================== // SUBROUTINE @@ -101,7 +102,8 @@ int subElectronTurnLeft(int si, int bx) { int subElectronTurnLeft; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; ax = (TimerVar & 3); if (ax != 0) @@ -112,11 +114,16 @@ int subElectronTurnLeft(int si, int bx) return subElectronTurnLeft; } // loc_g_7A9F: +#if 1 + subDrawElectronTurnLeft(si, bx); +#else // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si); - StretchedSprites.BltEx(X, Y, aniElectron[bx]); + StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bx = (bx + 1) & 0x7; MovHighByte(&PlayField16[si], bx); return subElectronTurnLeft; @@ -207,7 +214,8 @@ int subElectronTurnRight(int si, int bx) { int subElectronTurnRight; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; ax = (TimerVar & 3); if (ax != 0) @@ -218,11 +226,16 @@ int subElectronTurnRight(int si, int bx) return subElectronTurnRight; } // loc_g_7B73: +#if 1 + subDrawElectronTurnRight(si, bx); +#else // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si); - StretchedSprites.BltEx(X, Y, aniElectron[0x10 - bx]); + StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bx = ((bx + 1) & 0x7) | 8; MovHighByte(&PlayField16[si], bx); return subElectronTurnRight; @@ -313,15 +326,22 @@ int subElectronFromBelow(int si, int bx) { int subElectronFromBelow; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; +#if 1 + subDrawElectronFromBelow(si, bx); + bx = bx - 0xF; // get and increment sequence# +#else bx = bx - 0xF; // get and increment sequence# // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si + FieldWidth); StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniElectron[bx]); + StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bl = LowByte(bx); if (bl == 7 && LowByte(PlayField16[si + FieldWidth]) != fiExplosion) { @@ -375,15 +395,22 @@ int subElectronFromRight(int si, int bx) { int subElectronFromRight; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; +#if 1 + subDrawElectronFromRight(si, bx); + bx = bx - 0x17; // get and increment sequence# +#else bx = bx - 0x17; // get and increment sequence# // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si + 1); Y = GetStretchY(si); StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniElectron[bx]); + StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bl = LowByte(bx); if (bl == 7 && LowByte(PlayField16[si + 1]) != fiExplosion) { @@ -436,15 +463,22 @@ int subElectronFromAbove(int si, int bx) { int subElectronFromAbove; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; +#if 1 + subDrawElectronFromAbove(si, bx); + bx = bx - 0x1F; // get and increment sequence# +#else bx = bx - 0x1F; // get and increment sequence# // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si - FieldWidth); StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniElectron[bx]); + StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bl = LowByte(bx); if (bl == 7 && LowByte(PlayField16[si - FieldWidth]) != fiExplosion) { @@ -497,15 +531,22 @@ int subElectronFromLeft(int si, int bx) { int subElectronFromLeft; - int ax, ah, bl, dx, X, Y; + // int ax, ah, bl, dx, X, Y; + int ax, bl; +#if 1 + subDrawElectronFromLeft(si, bx); + bx = bx - 0x27; // get and increment sequence# +#else bx = bx - 0x27; // get and increment sequence# // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si - 1); Y = GetStretchY(si); StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniElectron[bx]); + StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]); // +++++++++++++++++++++++++++++++++++++++++++++++++++++ +#endif + bl = LowByte(bx); if (bl == 7 && LowByte(PlayField16[si - 1]) != fiExplosion) { @@ -563,7 +604,11 @@ int subDrawElectronTurnLeft(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si); - StretchedSprites.BltEx(X, Y, aniElectron[bx]); +#if 1 + StretchedSprites.BltImg(X, Y, aniElectron, bx); +#else + StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronTurnLeft; @@ -578,7 +623,11 @@ int subDrawElectronTurnRight(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si); - StretchedSprites.BltEx(X, Y, aniElectron[0x10 - bx]); +#if 1 + StretchedSprites.BltImg(X, Y, aniElectron, 0x10 - bx); +#else + StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronTurnRight; @@ -594,8 +643,13 @@ int subDrawElectronFromBelow(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si + FieldWidth); +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X, Y - bx * TwoPixels, aniElectron, bx); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniElectron[bx]); + StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronFromBelow; @@ -611,8 +665,13 @@ int subDrawElectronFromRight(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si + 1); Y = GetStretchY(si); +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X - bx * TwoPixels, Y, aniElectron, bx); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniElectron[bx]); + StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronFromRight; @@ -628,8 +687,13 @@ int subDrawElectronFromAbove(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si); Y = GetStretchY(si - FieldWidth); +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X, Y + bx * TwoPixels, aniElectron, bx); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniElectron[bx]); + StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronFromAbove; @@ -645,8 +709,13 @@ int subDrawElectronFromLeft(int si, int bx) // +++++++++++++++++++++++++++++++++++++++++++++++++++++ X = GetStretchX(si - 1); Y = GetStretchY(si); +#if 1 + StretchedSprites.BltImg(X, Y, aniSpace, 0); + StretchedSprites.BltImg(X + bx * TwoPixels, Y, aniElectron, bx); +#else StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniElectron[bx]); + StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]); +#endif // +++++++++++++++++++++++++++++++++++++++++++++++++++++ return subDrawElectronFromLeft;