From 341af788ffb60b1066f7735c10a2ef8480ec0aa9 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Wed, 3 Jun 2026 22:31:42 +0200 Subject: add player selection --- save_file.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 save_file.lua (limited to 'save_file.lua') diff --git a/save_file.lua b/save_file.lua new file mode 100644 index 0000000..8dd85f2 --- /dev/null +++ b/save_file.lua @@ -0,0 +1,37 @@ +local util = require("util") + +local function save_file_write(filename, data) + os.rename(filename, filename..".bak") + local f = io.open(filename, "w") + if not f then + return false + end + f:write(util.json_enc(data)) + f:close() + print("[save_file] saved to " .. filename) + return true +end + +local function save_file_read(filename) + local data + local f = io.open(filename, "r") + if f then + data = util.json_dec(f:read("*all")) + f:close() + if not data then + return nil, "save_corrupted" + end + print("[save_file] loaded " .. filename) + else + data = {} + end + if not save_file_write(filename, data) then + return nil, "save_failed_write" + end + return data +end + +return { + write = save_file_write, + read = save_file_read, +} -- cgit v1.2.3