From 7ae5c4e3a1552c23d5b938af9beea42016285c7a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 21 Feb 2024 18:54:56 +0300 Subject: [PATCH 1/8] lua load_script encoding fix --- res/scripts/stdlib.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/scripts/stdlib.lua b/res/scripts/stdlib.lua index 44e6e3f4..b6d7523d 100644 --- a/res/scripts/stdlib.lua +++ b/res/scripts/stdlib.lua @@ -42,7 +42,7 @@ function load_script(path, nocache) error("script '"..filename.."' not found in '"..packname.."'") end - local script, err = loadfile(file.resolve(path)) + local script, err = load(file.read(path), path) if script == nil then error(err) end From 6c7497eee623b5127ed1162dde4165c36bced19a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Wed, 21 Feb 2024 22:04:16 +0300 Subject: [PATCH 2/8] player inventory id fix --- src/world/Level.cpp | 2 +- src/world/World.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/world/Level.cpp b/src/world/Level.cpp index 287607ed..c9f74eee 100644 --- a/src/world/Level.cpp +++ b/src/world/Level.cpp @@ -27,7 +27,7 @@ Level::Level(World* world, const Content* content, EngineSettings& settings) { objCounter = 0; physics = new PhysicsSolver(glm::vec3(0, -22.6f, 0)); - auto inv = std::make_shared(world->getNextInventoryId(), DEF_PLAYER_INVENTORY_SIZE); + auto inv = std::make_shared(0, DEF_PLAYER_INVENTORY_SIZE); player = spawnObject(glm::vec3(0, DEF_PLAYER_Y, 0), DEF_PLAYER_SPEED, inv); uint matrixSize = (settings.chunks.loadDistance+ diff --git a/src/world/World.cpp b/src/world/World.cpp index fce0b05c..d442cbd1 100644 --- a/src/world/World.cpp +++ b/src/world/World.cpp @@ -72,6 +72,9 @@ Level* World::create(std::string name, const std::vector& packs) { auto world = new World(name, directory, seed, settings, content, packs); auto level = new Level(world, content, settings); + auto inventory = level->player->getInventory(); + inventory->setId(world->getNextInventoryId()); + level->inventories->store(inventory); return level; } @@ -90,6 +93,7 @@ Level* World::load(fs::path directory, auto level = new Level(world.get(), content, settings); wfile->readPlayer(level->player); + level->inventories->store(level->player->getInventory()); world.release(); return level; } From 6b17e33b7692d83538f5ecf982964620ee3b1790 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 22 Feb 2024 10:44:03 +0300 Subject: [PATCH 3/8] 0.20 development start --- res/content/base/package.json | 2 +- src/constants.h | 5 ++++- src/engine.cpp | 3 +++ src/frontend/menu.cpp | 14 ++++++++++++++ src/frontend/menu.h | 1 + src/logic/scripting/lua/LuaState.cpp | 29 ++++++++++++++++++++++++---- src/logic/scripting/lua/LuaState.h | 4 +++- 7 files changed, 51 insertions(+), 7 deletions(-) diff --git a/res/content/base/package.json b/res/content/base/package.json index 249dd4ee..7da43458 100644 --- a/res/content/base/package.json +++ b/res/content/base/package.json @@ -1,6 +1,6 @@ { "id": "base", "title": "Base", - "version": "0.19", + "version": "0.20", "description": "basic content package" } diff --git a/src/constants.h b/src/constants.h index 56f54c7f..fffa9c22 100644 --- a/src/constants.h +++ b/src/constants.h @@ -2,10 +2,13 @@ #define SRC_CONSTANTS_H_ #include +#include #include "typedefs.h" const int ENGINE_VERSION_MAJOR = 0; -const int ENGINE_VERSION_MINOR = 19; +const int ENGINE_VERSION_MINOR = 20; +const bool ENGINE_VERSION_INDEV = true; +#define ENGINE_VERSION_STRING "0.20" const int BLOCK_AIR = 0; const int ITEM_EMPTY = 0; diff --git a/src/engine.cpp b/src/engine.cpp index 80d9114a..54ae6876 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -75,6 +75,9 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths) gui = std::make_unique(); if (settings.ui.language == "auto") { settings.ui.language = langs::locale_by_envlocale(platform::detect_locale(), paths->getResources()); + } + if (ENGINE_VERSION_INDEV) { + menus::create_version_label(this); } setLanguage(settings.ui.language); } diff --git a/src/frontend/menu.cpp b/src/frontend/menu.cpp index ce1ab9cc..0879978f 100644 --- a/src/frontend/menu.cpp +++ b/src/frontend/menu.cpp @@ -82,6 +82,20 @@ static std::shared_ptr