MurphyScreenYPos = MurphyScreenYPos / Stretch;
subCalculateScreenScrollPos(); // calculate screen start addrs
+
if (AutoScrollFlag)
{
if (bPlaying)
MovLowByte(&data_SPtorunavail, 0); // no SP file
data_scr_demo = 0;
- UpdatePlayTime = (0 == demo_stopped ? True : True);
+ UpdatePlayTime = (0 == demo_stopped ? True : False);
demo_stopped = 0;
subFetchAndInitLevelA(UpdatePlayTime);
DemoFlag = 1;
GameBusyFlag = 0; // restore scissors too
+
subFetchAndInitLevel(); // Fetch and initialize a level
+
GameBusyFlag = 1; // no free screen write
+
if (1 <= demo_stopped)
{
if (1 == demo_stopped)
Trace("modInitGameConditions", "--> subFetchAndInitLevel");
Trace("modInitGameConditions", "Call ReadLevel");
+
ReadLevel(); // Read LEVELS.DAT
+
Trace("modInitGameConditions", "ReadLevel return subFetchAndInitLeveled");
if (RecordDemoFlag == 1)
// Debug.Print "FetchPlay: " & Hex(RandomSeed)
// End If
GameBusyFlag = -GameBusyFlag; // make <>1
+
Trace("modInitGameConditions", "subConvertToEasySymbols");
+
InfoCountInLevel = subConvertToEasySymbols(); // Convert to easy symbols
GameBusyFlag = -GameBusyFlag; // restore
+
Trace("modInitGameConditions", "subDisplayLevel");
+
subDisplayLevel(); // Paint (Init) game field
subDisplayPanel(); // Paint (Init) Panel
+
ResetInfotronsNeeded(InfoCountInLevel); // and reset Infotron count
+
Data_SubRstFlg = 1;
+
Trace("modInitGameConditions", "subInitGameConditions");
+
subInitGameConditions(); // Init game conditions (vars)
+
InitMurphyPos(); // Locate Murphy + screen pos
+
Trace("modInitGameConditions", "<-- subFetchAndInitLevel");
return subFetchAndInitLevel;