From 32e6ec2fb823f70f26a995a670aa528f72403ba6 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Fri, 26 Jan 2024 05:16:21 +0300 Subject: [PATCH] fixes --- src/frontend/hud.cpp | 2 +- src/frontend/menu.cpp | 6 ++++-- src/frontend/screens.cpp | 14 +++++++------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/frontend/hud.cpp b/src/frontend/hud.cpp index 42fb6f7f..e0b186ad 100644 --- a/src/frontend/hud.cpp +++ b/src/frontend/hud.cpp @@ -313,6 +313,7 @@ void HudRenderer::update(bool visible) { auto player = level->player; auto menu = gui->getMenu(); + debugPanel->visible(player->debug && visible); menu->visible(pause); if (!visible && inventoryOpen) { @@ -393,7 +394,6 @@ void HudRenderer::draw(const GfxContext& ctx){ const uint height = viewport.getHeight(); Player* player = level->player; - debugPanel->visible(player->debug); uicamera->setFov(height); diff --git a/src/frontend/menu.cpp b/src/frontend/menu.cpp index dad09b9a..e90cb5d8 100644 --- a/src/frontend/menu.cpp +++ b/src/frontend/menu.cpp @@ -196,7 +196,7 @@ Panel* create_worlds_panel(Engine* engine) { panel->maxLength(400); auto paths = engine->getPaths(); - + for (auto folder : paths->scanForWorlds()) { auto name = folder.filename().u8string(); auto namews = util::str2wstr_utf8(name); @@ -316,7 +316,6 @@ void create_new_world_panel(Engine* engine, PagesControl* menu) { L": "+util::str2wstr_utf8(error.what())); return; } - fs::create_directories(folder); Level* level = World::create( nameutf8, folder, seed, @@ -478,6 +477,9 @@ void create_pause_panel(Engine* engine, PagesControl* menu) { panel->add(guiutil::gotoButton(L"Settings", "settings", menu)); panel->add(create_button(L"Save and Quit to Menu", vec4(10.f), vec4(1), [=](GUI*){ + // save world and destroy LevelScreen + engine->setScreen(nullptr); + // create and go to menu screen engine->setScreen(std::make_shared(engine)); })); } diff --git a/src/frontend/screens.cpp b/src/frontend/screens.cpp index 36eb3d22..b1c8ba97 100644 --- a/src/frontend/screens.cpp +++ b/src/frontend/screens.cpp @@ -50,8 +50,8 @@ MenuScreen::MenuScreen(Engine* engine_) : Screen(engine_) { menu->set("main"); uicamera.reset(new Camera(glm::vec3(), Window::height)); - uicamera->perspective = false; - uicamera->flipped = true; + uicamera->perspective = false; + uicamera->flipped = true; } MenuScreen::~MenuScreen() { @@ -65,9 +65,9 @@ void MenuScreen::draw(float delta) { Window::setBgColor(glm::vec3(0.2f)); uicamera->setFov(Window::height); - Shader* uishader = engine->getAssets()->getShader("ui"); - uishader->use(); - uishader->uniformMatrix("u_projview", uicamera->getProjView()); + Shader* uishader = engine->getAssets()->getShader("ui"); + uishader->use(); + uishader->uniformMatrix("u_projview", uicamera->getProjView()); uint width = Window::width; uint height = Window::height; @@ -99,9 +99,9 @@ LevelScreen::LevelScreen(Engine* engine, Level* level) } LevelScreen::~LevelScreen() { - std::cout << "-- writing world" << std::endl; + std::cout << "-- writing world" << std::endl; auto world = level->getWorld(); - world->write(level.get()); + world->write(level.get()); } void LevelScreen::updateHotkeys() {