X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FOrangeDisk.c;h=dc83e9eae849e783f211798c38255a5fdfd9632b;hb=dec5093fc78bfe1356d764c2432fed6566b2af66;hp=acb5a5dc8643879a9d661d1dace22cdafdc7bfc7;hpb=18863a5655e9e07d548e2d673e7f82336703c8fb;p=rocksndiamonds.git diff --git a/src/game_sp/OrangeDisk.c b/src/game_sp/OrangeDisk.c index acb5a5dc..dc83e9ea 100644 --- a/src/game_sp/OrangeDisk.c +++ b/src/game_sp/OrangeDisk.c @@ -4,23 +4,19 @@ #include "OrangeDisk.h" -// static char *VB_Name = "modOrangeDisk"; -// --- Option Explicit // ========================================================================== // SUBROUTINE // Animate/move orange disks (falling) // ========================================================================== -int subAnimateOrangeDisks(int si) +void subAnimateOrangeDisks(int si) { - int subAnimateOrangeDisks; - int ax, bl, dx, X, Y; ax = PlayField16[si]; if (LowByte(ax) != fiOrangeDisk) - return subAnimateOrangeDisks; + return; if (ax >= 0x3008) // disk is falling goto loc_g_2804; @@ -31,18 +27,20 @@ int subAnimateOrangeDisks(int si) if (PlayField16[si + FieldWidth] == 0) goto loc_g_27CF; - return subAnimateOrangeDisks; + return; loc_g_27CF: // below is empty -> disk may start to fall MovHighByte(&PlayField16[si], 0x20); MovHighByte(&PlayField16[si + FieldWidth], fiOrangeDisk); - return subAnimateOrangeDisks; + + return; loc_g_27DA: if (PlayField16[si + FieldWidth] == 0) { PlayField16[si] = fiOrangeDisk; - return subAnimateOrangeDisks; + + return; } // loc_g_27E8: bl = HighByte(PlayField16[si]) + 1; @@ -50,26 +48,24 @@ loc_g_27DA: bl = 0x30; MovHighByte(&PlayField16[si], bl); - return subAnimateOrangeDisks; + + return; loc_g_2804: // disk is falling // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ dx = HighByte(PlayField16[si]) & 0x7; X = GetStretchX(si); Y = GetStretchY(si); -#if 1 - StretchedSprites.BltImg(X, Y, aniSpace, 0); - StretchedSprites.BltImg(X, Y + TwoPixels * (dx + 1), aniOrangeDisk, dx); -#else - StretchedSprites.BltEx(X, Y, 0); - StretchedSprites.BltEx(X, Y + TwoPixels * (dx + 1), fiOrangeDisk); -#endif + DDSpriteBuffer_BltImg(X, Y, aniSpace, 0); + DDSpriteBuffer_BltImg(X, Y + TwoPixels * (dx + 1), aniOrangeDisk, dx); // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + bl = HighByte(PlayField16[si]) + 1; if ((bl & 0x7) != 0) { MovHighByte(&PlayField16[si], bl); - return subAnimateOrangeDisks; + + return; } PlayField16[si] = 0; @@ -79,14 +75,12 @@ loc_g_2804: // disk is falling { MovHighByte(&PlayField16[si], 0x30); // go on falling down MovHighByte(&PlayField16[si + FieldWidth], fiOrangeDisk); - return subAnimateOrangeDisks; + + return; } // loc_g_2867: if (LowByte(PlayField16[si + FieldWidth]) == fiExplosion) - return subAnimateOrangeDisks; + return; ExplodeFieldSP(si); // Explode - - return subAnimateOrangeDisks; -} // subAnimateOrangeDisks - +}