X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_sp%2FInitGameConditions.c;h=dd210b1c144001b3db9184fdab8e361152907ecc;hp=73c6ec11d23522ef0f3e4894a508bf02ccfd4fc5;hb=35b995abd3183999201d9581f7674de1475dc169;hpb=4591885cdbcfec145d1ac0510fed1519af1eea1d diff --git a/src/game_sp/InitGameConditions.c b/src/game_sp/InitGameConditions.c index 73c6ec11..dd210b1c 100644 --- a/src/game_sp/InitGameConditions.c +++ b/src/game_sp/InitGameConditions.c @@ -27,7 +27,6 @@ void subInitGameConditions() TimerVar = 0; - EnterRepeatCounter = 0; // restart Enter repeat counter SnikSnaksElectronsFrozen = 0; // Snik-Snaks and Electrons move! SplitMoveFlag = 0; // Reset Split-through-ports @@ -45,7 +44,7 @@ void InitMurphyPos() { int si; - for (si = 0; si <= LevelMax - 1; si++) + for (si = 0; si < LevelMax; si++) if (PlayField16[si] == fiMurphy) break; @@ -56,18 +55,12 @@ void InitMurphyPos() 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) @@ -238,32 +231,28 @@ void subFetchAndInitLevelB() 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 }