#include "menu.h" #include #include #include #include #include #include #include #include "../../interfaces/Task.h" #include "../../graphics/ui/GUI.h" #include "../../graphics/ui/gui_util.h" #include "../../graphics/ui/elements/containers.h" #include "../../graphics/ui/elements/controls.h" #include "../screens.h" #include "../UiDocument.h" #include "../../logic/scripting/scripting.h" #include "../../coders/png.h" #include "../../util/stringutil.h" #include "../../files/engine_paths.h" #include "../../files/WorldConverter.h" #include "../../files/WorldFiles.h" #include "../../world/World.h" #include "../../world/WorldGenerators.h" #include "../../world/Level.h" #include "../../window/Events.h" #include "../../window/Window.h" #include "../../engine.h" #include "../../settings.h" #include "../../delegates.h" #include "../../content/Content.h" #include "../../content/ContentLUT.h" #include "../../content/ContentPack.h" #include "../locale/langs.h" #include "menu_commons.h" namespace fs = std::filesystem; using namespace gui; void menus::create_version_label(Engine* engine) { auto gui = engine->getGUI(); auto vlabel = std::make_shared( util::str2wstr_utf8(ENGINE_VERSION_STRING+" development build ") ); vlabel->setZIndex(1000); vlabel->setColor(glm::vec4(1, 1, 1, 0.5f)); vlabel->setPositionFunc([=]() { return glm::vec2(Window::width-vlabel->getSize().x, 2); }); gui->add(vlabel); } static void show_content_missing( Engine* engine, const Content* content, std::shared_ptr lut ) { auto* gui = engine->getGUI(); auto menu = gui->getMenu(); auto panel = menus::create_page(engine, "missing-content", 500, 0.5f, 8); panel->add(std::make_shared