Set level size properly in lzr_levels
parent
efc8569515
commit
a53110033c
|
@ -1,7 +1,5 @@
|
|||
local S = minetest.get_translator("lzr_editor")
|
||||
|
||||
local level_size = table.copy(lzr_globals.DEFAULT_LEVEL_SIZE)
|
||||
|
||||
minetest.register_chatcommand("editor", {
|
||||
privs = { server = true },
|
||||
description = S("Start or exit level editor"),
|
||||
|
@ -52,9 +50,8 @@ minetest.register_chatcommand("editor_size", {
|
|||
if size.x < 1 or size.y < 4 or size.z < 1 then
|
||||
return false, S("Too small!")
|
||||
end
|
||||
level_size = size
|
||||
lzr_levels.clear_playfield(level_size)
|
||||
lzr_levels.build_room(lzr_globals.LEVEL_POS, level_size)
|
||||
lzr_levels.clear_playfield(size)
|
||||
lzr_levels.build_room(lzr_globals.LEVEL_POS, size)
|
||||
return true
|
||||
end,
|
||||
})
|
||||
|
@ -77,7 +74,7 @@ minetest.register_chatcommand("editor_save", {
|
|||
local level_name = "level_custom_"..num
|
||||
minetest.mkdir(minetest.get_worldpath().."/levels")
|
||||
local filename = minetest.get_worldpath().."/levels/"..level_name..".mts"
|
||||
local size = vector.subtract(level_size, vector.new(1, 1, 1))
|
||||
local size = vector.subtract(lzr_levels.get_level_size(), vector.new(1, 1, 1))
|
||||
local ok = minetest.create_schematic(lzr_globals.LEVEL_POS, vector.add(lzr_globals.LEVEL_POS, size), {}, filename, {})
|
||||
if ok then
|
||||
minetest.log("action", "[lzr_editor] Level written to "..filename)
|
||||
|
@ -123,8 +120,7 @@ minetest.register_chatcommand("editor_load", {
|
|||
local filename = minetest.get_worldpath().."/levels/"..level_name..".mts"
|
||||
local schem = minetest.read_schematic(filename, {})
|
||||
if schem then
|
||||
level_size = schem.size
|
||||
lzr_levels.build_room(lzr_globals.LEVEL_POS, level_size)
|
||||
lzr_levels.build_room(lzr_globals.LEVEL_POS, schem.size)
|
||||
minetest.place_schematic(lzr_globals.LEVEL_POS, schem, "0", {}, true, {})
|
||||
minetest.log("action", "[lzr_editor] Level loaded from "..filename)
|
||||
return true, S("Level loaded.")
|
||||
|
|
|
@ -13,6 +13,17 @@ local current_level = nil
|
|||
local level_data = {}
|
||||
lzr_levels.LAST_LEVEL = 0
|
||||
|
||||
local level_size = table.copy(lzr_globals.DEFAULT_LEVEL_SIZE)
|
||||
|
||||
lzr_levels.get_level_size = function()
|
||||
return level_size
|
||||
end
|
||||
|
||||
local set_level_size = function(new_size)
|
||||
level_size = new_size
|
||||
minetest.log("verbose", "[lzr_levels] Level size set to: "..minetest.pos_to_string(new_size))
|
||||
end
|
||||
|
||||
-- Mod storage for game progress
|
||||
local mod_storage = minetest.get_mod_storage()
|
||||
|
||||
|
@ -71,6 +82,7 @@ local build_room = function(param)
|
|||
local posses_window = {}
|
||||
local posses_floor = {}
|
||||
local size = vector.add(psize, {x=1,y=1,z=1})
|
||||
set_level_size(psize)
|
||||
for x=0,size.x do
|
||||
for z=0,size.z do
|
||||
for y=0,size.y do
|
||||
|
|
Loading…
Reference in New Issue