X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FMainGameLoop.c;h=bae1d6d95d4aa886acbca1a8586bacae1bd36874;hb=29ea60b3d59414875c3bbc59e64f62d2e236ef2a;hp=a07d6967a34bbad6616c68bed424c5daf1793c4c;hpb=98edd2c02783d6cf8ffe4d7aec340fe80cc8bcff;p=rocksndiamonds.git diff --git a/src/game_sp/MainGameLoop.c b/src/game_sp/MainGameLoop.c index a07d6967..bae1d6d9 100644 --- a/src/game_sp/MainGameLoop.c +++ b/src/game_sp/MainGameLoop.c @@ -35,7 +35,7 @@ int subMainGameLoop_Init() if (DemoFlag != 0) { -#if 1 +#if 0 printf("::: playing demo ...\n"); #endif @@ -45,7 +45,7 @@ int subMainGameLoop_Init() } else // loc_g_1836: { -#if 1 +#if 0 printf("::: playing game ...\n"); #endif @@ -82,7 +82,7 @@ int subMainGameLoop_Init() return subMainGameLoop; } -int subMainGameLoop_Main() +int subMainGameLoop_Main(byte action, boolean warp_mode) { int subMainGameLoop; int bx; @@ -155,7 +155,7 @@ locRepeatMainGameLoop: // start repeating game loop // loc_g_186F: - subProcessKeyboardInput(); // Check keyboard, act on keys + subProcessKeyboardInput(action); // Check keyboard, act on keys // 'HACK: // TimerVar = TimerVar + 1 @@ -240,7 +240,9 @@ locRepeatMainGameLoop: // start repeating game loop printf("::: ExitToMenuFlag == True\n"); #endif +#if 0 goto locExitMainGameLoop; +#endif } #else if (ExitToMenuFlag == 1) @@ -259,6 +261,11 @@ locRepeatMainGameLoop: // start repeating game loop // ---------------------- END OF GAME-BUSY LOOP ------------------------------- // ---------------------------------------------------------------------------- LeadOutCounter = LeadOutCounter - 1; // do more lead-out after quit + +#if 0 + printf("::: LeadOutCounter == %d\n", LeadOutCounter); +#endif + #if 1 if (LeadOutCounter != 0) // lead-out not ready: more return subMainGameLoop; @@ -272,7 +279,16 @@ locRepeatMainGameLoop: // start repeating game loop locExitMainGameLoop: +#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_info.LevelSolved) + game_sp_info.GameOver = TRUE; +#endif #if 1 return subMainGameLoop; @@ -280,10 +296,6 @@ locExitMainGameLoop: -#if 0 - printf("::: locExitMainGameLoop reached [%d]\n", LeadOutCounter); -#endif - do { DoEvents(); // user may klick on menus or move the window here ... @@ -319,6 +331,8 @@ locExitMainGameLoop: return subMainGameLoop; } // subMainGameLoop +#if 0 + int subMainGameLoop() { int subMainGameLoop; @@ -548,6 +562,8 @@ locExitMainGameLoop: return subMainGameLoop; } // subMainGameLoop +#endif + void subUpdatePlayingTime() { }