X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FMainGameLoop.c;h=61d5ed1c663414e456599b12037af2eb2a1805ec;hb=71c4b8d626b4a731a72840facb6bd548c7e33da9;hp=145c0436798e2487ce1167314f72a9cc6d8972c4;hpb=35b995abd3183999201d9581f7674de1475dc169;p=rocksndiamonds.git diff --git a/src/game_sp/MainGameLoop.c b/src/game_sp/MainGameLoop.c index 145c0436..61d5ed1c 100644 --- a/src/game_sp/MainGameLoop.c +++ b/src/game_sp/MainGameLoop.c @@ -51,19 +51,13 @@ void subMainGameLoop_Main(byte action, boolean warp_mode) TimerVar = TimerVar + 1; -#if 1 + if (ExplosionShakeMurphy > 0) + ExplosionShakeMurphy--; + if (ExitToMenuFlag == 1) { // happens when demo ends or when Murphy enters exit (to be checked) - -#if 0 - goto locExitMainGameLoop; -#endif } -#else - if (ExitToMenuFlag == 1) - goto locExitMainGameLoop; -#endif if (LeadOutCounter == 0) // no lead-out: game busy return; @@ -80,29 +74,16 @@ void subMainGameLoop_Main(byte action, boolean warp_mode) // lead-out done: exit now // ---------------------- END OF GAME-BUSY LOOP (including lead-out) --------- -#if 0 -locExitMainGameLoop: -#endif - -#if 1 - printf("::: locExitMainGameLoop reached [%d]\n", LeadOutCounter); - printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag); -#endif - -#if 1 /* if the game is not won when reaching this point, then it is lost */ if (!game_sp.LevelSolved) game_sp.GameOver = TRUE; -#endif } void subCalculateScreenScrollPos() { - int ax, ay; - -#if 1 int jump_pos = TILEX / 2; + /* handle wrap-around */ if (MurphyScreenXPos < -jump_pos) { MurphyScreenXPos = FieldWidth * TILEX + MurphyScreenXPos; @@ -113,7 +94,6 @@ void subCalculateScreenScrollPos() MurphyScreenXPos = MurphyScreenXPos - FieldWidth * TILEX; MurphyScreenYPos += TILEY; } -#endif if (ExplosionShake != 0) { @@ -122,11 +102,6 @@ void subCalculateScreenScrollPos() // printf("::: ExplosionShake [%d]\n", FrameCounter); } - { - ax = SXSIZE / 2; - ay = SYSIZE / 2; - } - - ScreenScrollXPos = (MurphyScreenXPos + TILEX / 2) - ax; - ScreenScrollYPos = (MurphyScreenYPos + TILEY / 2) - ay; + ScreenScrollXPos = MurphyScreenXPos - (SCR_FIELDX / 2) * TILESIZE; + ScreenScrollYPos = MurphyScreenYPos - (SCR_FIELDY / 2) * TILESIZE; }