MurphyScreenYPos = GetStretchY(si); // Murphy's screen y-position
// To Do: draw Murphy in location ax
+#if 1
+ StretchedSprites.BltImg(MurphyScreenXPos, MurphyScreenYPos, aniMurphy, 0);
+#else
StretchedSprites.BltEx(MurphyScreenXPos, MurphyScreenYPos, fiMurphy);
+#endif
MurphyScreenXPos = MurphyScreenXPos / Stretch;
MurphyScreenYPos = MurphyScreenYPos / Stretch;
subCalculateScreenScrollPos(); // calculate screen start addrs
+
+#if 0
+ printf(":1: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
+ mScrollX, mScrollY,
+ mScrollX_last, mScrollY_last,
+ ScreenScrollXPos, ScreenScrollYPos,
+ ScrollX, ScrollY);
+#endif
+
if (AutoScrollFlag)
{
if (bPlaying)
}
}
+#if 0
+ printf(":2: %d, %d [%d, %d] [%d, %d] [%d, %d]\n",
+ mScrollX, mScrollY,
+ mScrollX_last, mScrollY_last,
+ ScreenScrollXPos, ScreenScrollYPos,
+ ScrollX, ScrollY);
+#endif
+
return InitMurphyPosB;
} // InitMurphyPosB
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;