From 3eec97f631b0624ac6e82d16234684928b2ec96a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 22 Aug 2024 02:29:11 +0300 Subject: [PATCH] fix generator loading --- src/logic/scripting/lua/lua_type_heightmap.cpp | 2 +- src/logic/scripting/scripting_world_generation.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/logic/scripting/lua/lua_type_heightmap.cpp b/src/logic/scripting/lua/lua_type_heightmap.cpp index e5fd46ac..f467dc35 100644 --- a/src/logic/scripting/lua/lua_type_heightmap.cpp +++ b/src/logic/scripting/lua/lua_type_heightmap.cpp @@ -29,7 +29,7 @@ void LuaHeightmap::setSeed(int64_t seed) { static int l_dump(lua::State* L) { if (auto heightmap = touserdata(L, 1)) { - auto filename = tostring(L, 2); + auto filename = require_string(L, 2); if (!files::is_valid_name(filename)) { throw std::runtime_error("invalid file name"); } diff --git a/src/logic/scripting/scripting_world_generation.cpp b/src/logic/scripting/scripting_world_generation.cpp index 646a80e5..29ab2cc8 100644 --- a/src/logic/scripting/scripting_world_generation.cpp +++ b/src/logic/scripting/scripting_world_generation.cpp @@ -105,7 +105,7 @@ public: }; static BlocksLayer load_layer( - const dynamic::Map_sptr& map, int idx, uint& lastLayersHeight, bool& hasResizeableLayer + const dynamic::Map_sptr& map, uint& lastLayersHeight, bool& hasResizeableLayer ) { auto name = map->get("block"); int height = map->get("height"); @@ -134,7 +134,7 @@ static inline BlocksLayers load_layers( const auto& layerMap = layersArr->map(i); try { layers.push_back( - load_layer(layerMap, -1, lastLayersHeight, hasResizeableLayer)); + load_layer(layerMap, lastLayersHeight, hasResizeableLayer)); } catch (const std::runtime_error& err) { throw std::runtime_error( fieldname+" #"+std::to_string(i)+": "+err.what()); @@ -214,8 +214,8 @@ std::unique_ptr scripting::load_generator( auto root = std::get(val); - uint biomeParameters = lua::get_integer_field(L, "biome_parameters", 0, 0, 16); - uint seaLevel = lua::get_integer_field(L, "sea_level", 0, 0, CHUNK_H); + uint biomeParameters = root->get("biome_parameters"); + uint seaLevel = root->get("sea_level"); std::vector biomes;