diff --git a/include/class-diagram.dia b/include/class-diagram.dia index 40185bee..a0e60d4f 100644 --- a/include/class-diagram.dia +++ b/include/class-diagram.dia @@ -1329,7 +1329,7 @@ - + @@ -1338,7 +1338,7 @@ - + #ClientGameEngine# @@ -1477,6 +1477,29 @@ + + + #areLoadingTexture# + + + #std::atomic<bool># + + + #false# + + + ## + + + + + + + + + + + #clientGame# @@ -8065,7 +8088,7 @@ - + @@ -8073,8 +8096,8 @@ - - + + @@ -15322,17 +15345,17 @@ - + - + - - + + @@ -15369,7 +15392,7 @@ - + @@ -23210,18 +23233,18 @@ - + - + - - - + + + @@ -23257,7 +23280,7 @@ - + @@ -23397,17 +23420,17 @@ - + - + - - + + @@ -23471,7 +23494,7 @@ - + @@ -24886,17 +24909,19 @@ - + - + + + diff --git a/src/client/ClientGameEngine.cpp b/src/client/ClientGameEngine.cpp index 3d11cf25..ec610f21 100644 --- a/src/client/ClientGameEngine.cpp +++ b/src/client/ClientGameEngine.cpp @@ -449,10 +449,13 @@ void ClientGameEngine::renderGame() */ void ClientGameEngine::playGame() { + std::thread t(&ClientGameEngine::startGameWindow, this); long lastUpdateTimer = clientGame->getCurrentTime(); + while (!areLoadingTexture); + while (runningWindow.load() == GAME) { if (clientGame->getCurrentTime() - lastUpdateTimer > REFRESH_ELEMENT) diff --git a/src/client/GameWindow.cpp b/src/client/GameWindow.cpp index f9b540b2..fdeba1a7 100644 --- a/src/client/GameWindow.cpp +++ b/src/client/GameWindow.cpp @@ -159,6 +159,7 @@ void GameWindow::startGame() loadElementTexture(); updateElementTexture(); loadHudTexture(); + gameEnginePtr->areLoadingTexture = true; addPlayer(gameEnginePtr->myself->getName()); std::shared_ptr moveMode = std::make_shared(false);