#include "Murphy.h"
+
static void subEatRedDisk(int si);
static boolean subMoveKillsMurphy(int si, int ax, int bl);
-// static char *VB_Name = "modMurphy";
-
-// --- Option Explicit
-
#if 1
#define LocalStretch (2)
void subAnimateMurphy(int *si)
{
- // int ax, al, ah, bx, bl, i, X, Y;
- // int tX, tY, tDeltaX, tDeltaY, tPos, Tmp;
-#if 1
int ax, al, bl, i, X, Y;
int time1, time2;
-#else
- int ax, al, bx, bl, i, X, Y;
-#endif
int tDeltaX, tDeltaY, tPos, Tmp;
// Variables that hold information about the animation sequence
ax = PlayField16[*si];
al = LowByte(ax);
-#if 0
- printf("::: Murphy.c: subAnimateMurphy(): %d [%d, %d] %d, %d [%d]\n",
- *si, *si % 60, *si / 60, ax, al, (al == fiMurphy));
-#endif
-
-#if 0
- printf("::: Murphy.c: subAnimateMurphy(): %d [%d] [%d]\n",
- YawnSleepCounter, FrameCounter, TimerVar);
-#endif
-
if (al != fiMurphy)
{
MurphyMoveCounter = 0; // We have no Murphy! Exit!
dx2 = -1;
SeqPos = 0;
// end of FS
+
ScratchGravity = 0; // scratch gravity off
if (GravityFlag != 0) // Gravity? (1=gravity on)
{
bl = LowByte(PlayField16[*si - FieldWidth]); // check above
- if (! (bl == fiPortUp || bl == fiPortUpAndDown || bl == fiPortAllDirections))
+ if (! (bl == fiPortUp ||
+ bl == fiPortUpAndDown ||
+ bl == fiPortAllDirections))
{
if (PlayField16[*si + FieldWidth] == 0) // gravity on and space below!
ScratchGravity = 1;
dx = aniFramesRedDisk;
dx1 = aniRedDisk;
MovLowByte(&RedDiskReleasePhase, 1);
- Mov(&RedDiskReleaseMurphyPos, *si); // remember Murphy's location
+ RedDiskReleaseMurphyPos = *si; // remember Murphy's location
goto loc_Split;
// ==========================================================================
if (UpdateTimeFlag != 0) // update time?
{
UpdatedFlag = 1; // prevent double update
- subUpdatePlayingTime(); // update playing time
}
}
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_6EC8: // space, base
PlayField16[*si] = fiMurphy;
subAdjustZonksInfotronsAboveMurphy(*si + FieldWidth);
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_6EE6: // space, base
PlayField16[*si] = fiMurphy;
subAdjustZonksInfotronsAboveMurphy(*si + 1);
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_6F04: // space, base
if (LowByte(PlayField16[*si - FieldWidth]) != fiExplosion)
PlayField16[*si - FieldWidth] = 0;
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_71C4: // space, base
subAdjustZonksInfotronsAboveMurphy(*si - 1);
PlayField16[*si] = fiMurphy;
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_71E2: // base
if (LowByte(PlayField16[*si - FieldWidth]) != fiExplosion)
PlayField16[*si - FieldWidth] = 0;
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_71FE: // base
if (LowByte(PlayField16[*si - 1]) != fiExplosion)
PlayField16[*si - 1] = 0;
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_721A: // base
if (LowByte(PlayField16[*si + FieldWidth]) != fiExplosion)
PlayField16[*si + FieldWidth] = 0;
if (0 < LowByte(InfotronsNeeded))
InfotronsNeeded = InfotronsNeeded - 1;
- subDisplayInfotronsNeeded();
loc_g_7236: // base
if (LowByte(PlayField16[*si + 1]) != fiExplosion)
PlayField16[*si + 1] = 0;
PlayField16[*si] = fiMurphy;
RedDiskReleasePhase = 2;
RedDiskCount = RedDiskCount - 1;
- subDisplayRedDiskCount();
#if 1
subSoundFX(*si, fiRedDisk, actDropping);
}
RedDiskCount = (RedDiskCount + 1) % 256;
- subDisplayRedDiskCount();
}
void subAdjustZonksInfotronsAboveMurphy(int si)