X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FMainGameLoop.c;h=028c861e03a5741f44a9eccff4d84465340cfed1;hb=f926e522aef77158e0011ae5ad2cf8805509d6d1;hp=bae1d6d95d4aa886acbca1a8586bacae1bd36874;hpb=2af2c61f4dde2d22c1dc0e8dfad033b40d81dc6c;p=rocksndiamonds.git diff --git a/src/game_sp/MainGameLoop.c b/src/game_sp/MainGameLoop.c index bae1d6d9..028c861e 100644 --- a/src/game_sp/MainGameLoop.c +++ b/src/game_sp/MainGameLoop.c @@ -117,8 +117,15 @@ locRepeatMainGameLoop: // start repeating game loop LastFrame = Clock.TickNow(); // store the frame time #endif // never any additional code between here! + + + +#if 0 if (! NoDisplayFlag) // copy the BackBuffer(=Stage) to visible screen Stage.Blt(); +#endif + + // FS end of synchronization // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -286,8 +293,8 @@ locExitMainGameLoop: #if 1 /* if the game is not won when reaching this point, then it is lost */ - if (!game_sp_info.LevelSolved) - game_sp_info.GameOver = TRUE; + if (!game_sp.LevelSolved) + game_sp.GameOver = TRUE; #endif #if 1 @@ -574,9 +581,26 @@ int subCalculateScreenScrollPos() int ax, Ay; +#if 1 + int jump_pos = TILEX / 2; + + if (MurphyScreenXPos < -jump_pos) + { + MurphyScreenXPos = FieldWidth * TILEX + MurphyScreenXPos; + MurphyScreenYPos -= TILEY; + } + else if (MurphyScreenXPos >= FieldWidth * TILEX - jump_pos) + { + MurphyScreenXPos = MurphyScreenXPos - FieldWidth * TILEX; + MurphyScreenYPos += TILEY; + } +#endif + if (ExplosionShake != 0) { subGetRandomNumber(); + + // printf("::: ExplosionShake [%d]\n", FrameCounter); } {