YawnSleepCounter = 0; // Wake up sleeping Murphy
ExplosionShake = 0; // Force explosion flag off
+ ExplosionShakeMurphy = 0; // Force explosion flag off
TerminalMaxCycles = 0x7F;
YellowDisksExploded = 0;
TimerVar = 0;
- EnterRepeatCounter = 0; // restart Enter repeat counter
SnikSnaksElectronsFrozen = 0; // Snik-Snaks and Electrons move!
SplitMoveFlag = 0; // Reset Split-through-ports
{
int si;
- for (si = 0; si <= LevelMax - 1; si++)
+ for (si = 0; si < LevelMax; si++)
if (PlayField16[si] == fiMurphy)
break;
void InitMurphyPosB(int si)
{
- MurphyYPos = GetStretchY(si) / Stretch;
- MurphyXPos = GetStretchX(si) / Stretch;
-
- MurphyScreenXPos = GetStretchX(si); // Murphy's screen x-position
- MurphyScreenYPos = GetStretchY(si); // Murphy's screen y-position
+ MurphyScreenXPos = MurphyXPos = GetStretchX(si); // Murphy's screen x-position
+ MurphyScreenYPos = MurphyYPos = GetStretchY(si); // Murphy's screen y-position
// To Do: draw Murphy in location ax
DDSpriteBuffer_BltImg(MurphyScreenXPos, MurphyScreenYPos, aniMurphy, 0);
- MurphyScreenXPos = MurphyScreenXPos / Stretch;
- MurphyScreenYPos = MurphyScreenYPos / Stretch;
-
subCalculateScreenScrollPos(); // calculate screen start addrs
if (AutoScrollFlag)
void subFetchAndInitLevelA()
{
- GameBusyFlag = 0; // restore scissors too
-
- subFetchAndInitLevel(); // Fetch and initialize a level
+ GameBusyFlag = 0; // restore scissors too
+ subFetchAndInitLevel(); // fetch and initialize a level
+ GameBusyFlag = 1; // no free screen write
- GameBusyFlag = 1; // no free screen write
-
- DemoKeyCode = 0; // delete last demo key!
+ DemoKeyCode = 0; // delete last demo key!
}
void subFetchAndInitLevel()
{
int InfoCountInLevel;
- ReadLevel(); // Read LEVELS.DAT
-
- GameBusyFlag = -GameBusyFlag; // make <>1
-
- InfoCountInLevel = subConvertToEasySymbols(); // Convert to easy symbols
+ PrepareLevel(); // initialize level data
- GameBusyFlag = -GameBusyFlag; // restore
+ GameBusyFlag = -GameBusyFlag; // make != 1
+ InfoCountInLevel = subConvertToEasySymbols(); // convert to easy symbols
+ GameBusyFlag = -GameBusyFlag; // restore
- subDisplayLevel(); // Paint (Init) game field
+ subDisplayLevel(); // paint (init) game field
- ResetInfotronsNeeded(InfoCountInLevel); // and reset Infotron count
+ ResetInfotronsNeeded(InfoCountInLevel); // and reset Infotron count
- subInitGameConditions(); // Init game conditions (vars)
+ subInitGameConditions(); // init game conditions (vars)
- InitMurphyPos(); // Locate Murphy + screen pos
+ InitMurphyPos(); // locate Murphy + screen pos
}