diff --git a/source/game/game.cpp b/source/game/game.cpp index dab1360fe..39d8d6e06 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -238,12 +238,10 @@ void CGameScene::think(int _frames) } else if(s_levelFinished) { - s_globalLevelSelectThing++; -// s_globalLevelSelectThing&=3; // Ch1 only Bodge - + bool Finished=Level.GetNextLevel(s_globalLevelSelectThing); shutdownLevel(); initLevel(); - s_levelFinished=false; + s_levelFinished=false; } diff --git a/source/level/level.cpp b/source/level/level.cpp index b3aabda7a..b0fc187e4 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -105,8 +105,9 @@ CLevel::CLevel() } /*****************************************************************************/ -int CLevel::GetNextLevel(int Lvl) +bool CLevel::GetNextLevel(int &Lvl) { +bool Finished=false; Lvl++; // TMP if (Lvl>=LvlTableSize) Lvl=0; @@ -117,7 +118,8 @@ int CLevel::GetNextLevel(int Lvl) if (Lvl>=LvlTableSize) Lvl=0; } // End TMP - return(Lvl); +// Lvl&=3; // Ch1 only Bodge + return(Finished); } /*****************************************************************************/ diff --git a/source/level/level.h b/source/level/level.h index 6438094a8..8e75d2939 100644 --- a/source/level/level.h +++ b/source/level/level.h @@ -44,7 +44,8 @@ public: CLayerCollision *getCollisionLayer() {return CollisionLayer;} DVECTOR getMapSize(); - int GetNextLevel(int Lvl); + bool GetNextLevel(int &Lvl); + private: void initLayers(); void DisplayLoadingScreen(sLvlTab *lvlTab);