X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_sp%2FMainGameLoop.c;h=48a1ac480480d7f726566432518004d3db5b7061;hp=145c0436798e2487ce1167314f72a9cc6d8972c4;hb=e51177796149f37de339bda83558c3c49758be93;hpb=35b995abd3183999201d9581f7674de1475dc169 diff --git a/src/game_sp/MainGameLoop.c b/src/game_sp/MainGameLoop.c index 145c0436..48a1ac48 100644 --- a/src/game_sp/MainGameLoop.c +++ b/src/game_sp/MainGameLoop.c @@ -51,6 +51,11 @@ void subMainGameLoop_Main(byte action, boolean warp_mode) TimerVar = TimerVar + 1; +#if 1 + if (ExplosionShakeMurphy > 0) + ExplosionShakeMurphy--; +#endif + #if 1 if (ExitToMenuFlag == 1) { @@ -84,7 +89,7 @@ void subMainGameLoop_Main(byte action, boolean warp_mode) locExitMainGameLoop: #endif -#if 1 +#if 0 printf("::: locExitMainGameLoop reached [%d]\n", LeadOutCounter); printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag); #endif @@ -98,11 +103,10 @@ locExitMainGameLoop: void subCalculateScreenScrollPos() { - int ax, ay; - #if 1 int jump_pos = TILEX / 2; + /* handle wrap-around */ if (MurphyScreenXPos < -jump_pos) { MurphyScreenXPos = FieldWidth * TILEX + MurphyScreenXPos; @@ -122,11 +126,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; }