Make reading tutorial map respect mod security

master
Wuzzy 2016-02-26 14:10:56 +01:00
parent f37e7bd19a
commit f9dfd8cb9c
1 changed files with 28 additions and 17 deletions

View File

@ -59,15 +59,7 @@ function save_entities()
end
function get_saved_entities()
local filename = tutorial.map_directory .. "entities"
local f, err = io.open(filename, "rb")
if not f then
minetest.log("action", "[tutorial] Could not open file '" .. filename .. "': " .. err)
return {}
end
local entities = minetest.deserialize(minetest.decompress(f:read("*a")))
f:close()
return entities
return tutorial.entities
end
function load_entities()
@ -141,6 +133,31 @@ for x = tutorial.limits[1].x, tutorial.limits[2].x, tutorial.sector_size do
end
--]]
-- Load the sector schematics from disc
tutorial.sector_data = {}
for k,sector in pairs(tutorial.map_sector) do
local filename = tutorial.map_directory .. "sector_"..k
local f, err = io.open(filename..".meta", "rb")
if f then
local data = minetest.deserialize(minetest.decompress(f:read("*a")))
tutorial.sector_data[filename] = data
f:close()
end
end
-- Load the entity data from disc
tutorial.entities = {}
do
local filename = tutorial.map_directory .. "entities"
local f, err = io.open(filename, "rb")
if not f then
minetest.log("action", "[tutorial] Could not open file '" .. filename .. "': " .. err)
else
tutorial.entities = minetest.deserialize(minetest.decompress(f:read("*a")))
f:close()
end
end
function save_schematic()
local success = true
for k,sector in pairs(tutorial.map_sector) do
@ -301,14 +318,8 @@ function load_region(minp, filename, vmanip, rotation, replacements, force_place
return nil
end
local f, err = io.open(filename..".meta", "rb")
if not f then
minetest.log("action", "[tutorial] schematic loaded on ".. minetest.pos_to_string(minp))
return true
end
local data = minetest.deserialize(minetest.decompress(f:read("*a")))
f:close()
if not data then return end
local data = tutorial.sector_data[filename]
if not data then return true end
local get_meta = minetest.get_meta