diff --git a/src/files/WorldFiles.cpp b/src/files/WorldFiles.cpp index b106ba37..0511a40e 100644 --- a/src/files/WorldFiles.cpp +++ b/src/files/WorldFiles.cpp @@ -426,7 +426,7 @@ bool WorldFiles::readOldWorldInfo(World* world) { break; } } - return false; + return true; } bool WorldFiles::readOldPlayer(Player* player) { size_t length = 0; @@ -471,7 +471,7 @@ bool WorldFiles::readWorldInfo(World* world) { // TODO: remove in v0.16 file = getOldWorldFile(); if (fs::is_regular_file(file)) { - readOldWorldInfo(world); + return readOldWorldInfo(world); } std::cerr << "warning: world.json does not exists" << std::endl; return false; diff --git a/src/frontend/screens.cpp b/src/frontend/screens.cpp index bdbf193c..23235583 100644 --- a/src/frontend/screens.cpp +++ b/src/frontend/screens.cpp @@ -125,6 +125,9 @@ void LevelScreen::updateHotkeys() { if (Events::jpressed(keycode::O)) { settings.graphics.frustumCulling = !settings.graphics.frustumCulling; } + if (Events::jpressed(keycode::F1)) { + hudVisible = !hudVisible; + } if (Events::jpressed(keycode::F3)) { level->player->debug = !level->player->debug; } @@ -172,7 +175,8 @@ void LevelScreen::update(float delta) { level->world->updateTimers(delta); } controller->update(delta, !inputLocked, hud->isPause()); - hud->update(); + if (hudVisible) + hud->update(); } void LevelScreen::draw(float delta) { @@ -182,8 +186,11 @@ void LevelScreen::draw(float delta) { GfxContext ctx(nullptr, viewport, nullptr); worldRenderer->draw(ctx, camera); - hud->draw(ctx); - if (level->player->debug) { - hud->drawDebug(1 / delta); + + if (hudVisible) { + hud->draw(ctx); + if (level->player->debug) { + hud->drawDebug(1 / delta); + } } } diff --git a/src/frontend/screens.h b/src/frontend/screens.h index 60e3b4b9..e8b3f963 100644 --- a/src/frontend/screens.h +++ b/src/frontend/screens.h @@ -42,6 +42,7 @@ class LevelScreen : public Screen { WorldRenderer* worldRenderer; HudRenderer* hud; ContentGfxCache* cache; + bool hudVisible = true; void updateHotkeys(); public: LevelScreen(Engine* engine, Level* level);