36 lines
921 B
Lua
36 lines
921 B
Lua
|
|
-- reserve the namespace
|
|
save_restore = {}
|
|
|
|
-- TODO: if this gets more versatile, add sanity checks for filename
|
|
|
|
-- TODO: save and restore ought to be library functions and not implemented in each individual mod!
|
|
save_restore.save_data = function( filename, data )
|
|
|
|
local path = minetest.get_worldpath()..'/'..filename;
|
|
|
|
local file = io.open( path, 'w' );
|
|
if( file ) then
|
|
file:write( minetest.serialize( data ));
|
|
file:close();
|
|
else
|
|
print("[save_restore] Error: Savefile '"..tostring( path ).."' could not be written.");
|
|
end
|
|
end
|
|
|
|
|
|
save_restore.restore_data = function( filename )
|
|
|
|
local path = minetest.get_worldpath()..'/'..filename;
|
|
|
|
local file = io.open( path, 'r' );
|
|
if( file ) then
|
|
local data = file:read("*all");
|
|
file:close();
|
|
return minetest.deserialize( data );
|
|
else
|
|
print("[save_restore] Error: Savefile '"..tostring( path ).."' not found.");
|
|
return {}; -- return empty table
|
|
end
|
|
end
|