From d3b720da1c133cd8dee31debcc3f40aea655f637 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 13 Mar 2024 18:30:11 +0300 Subject: [PATCH] world-creation related menus moved to menu_create_world.cpp --- src/frontend/menu/menu.cpp | 142 +------------------- src/frontend/menu/menu.h | 6 + src/frontend/menu/menu_create_world.cpp | 167 ++++++++++++++++++++++++ 3 files changed, 174 insertions(+), 141 deletions(-) create mode 100644 src/frontend/menu/menu_create_world.cpp diff --git a/src/frontend/menu/menu.cpp b/src/frontend/menu/menu.cpp index e6ee019c..c60359f4 100644 --- a/src/frontend/menu/menu.cpp +++ b/src/frontend/menu/menu.cpp @@ -39,16 +39,7 @@ namespace fs = std::filesystem; using namespace gui; namespace menus { - std::string generatorID; -} - -inline uint64_t randU64() { - srand(time(NULL)); - return rand() ^ (rand() << 8) ^ - (rand() << 16) ^ (rand() << 24) ^ - ((uint64_t)rand() << 32) ^ - ((uint64_t)rand() << 40) ^ - ((uint64_t)rand() << 56); + extern std::string generatorID; } void menus::create_version_label(Engine* engine) { @@ -181,47 +172,6 @@ void create_languages_panel(Engine* engine) { panel->add(guiutil::backButton(menu)); } -static std::string translate_generator_id(std::string& id) { - int delimiterPosition = id.find(":"); - std::string pack = id.substr(0, delimiterPosition); - std::string generator = id.substr(delimiterPosition + 1); - - if(pack == "core") { - return util::wstr2str_utf8(langs::get(util::str2wstr_utf8(generator), L"world.generators")); - } else { - return id; - } -} - -void create_world_generators_panel(Engine* engine) { - auto menu = engine->getGUI()->getMenu(); - auto panel = menus::create_page(engine, "world_generators", 400, 0.5f, 1); - panel->setScrollable(true); - - std::vector generatorsIDs = WorldGenerators::getGeneratorsIDs(); - std::sort(generatorsIDs.begin(), generatorsIDs.end()); - for (std::string& id : generatorsIDs) { - const std::string& fullName = translate_generator_id(id); - auto button = std::make_shared(glm::vec2(80, 30)); - - auto idlabel = std::make_shared