From c21d93291a1165fcfb37269baa0cc3aebe5e2f4c Mon Sep 17 00:00:00 2001 From: rxi Date: Sun, 16 Oct 2016 14:55:03 +0100 Subject: [PATCH] Added wrapping in boot.lua so SAVE dir is only created when written to --- src/embed/boot.lua | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/embed/boot.lua b/src/embed/boot.lua index c6fe736..8a00890 100644 --- a/src/embed/boot.lua +++ b/src/embed/boot.lua @@ -37,9 +37,22 @@ function love.boot() end end - -- Set write directory and mount - love.filesystem.setWriteDir("save") - love.filesystem.mount("save") + -- Init the save directory - if it doesn't exist (can't be mounted) + -- love.filesystem.write() is wrapped so that it is only set, created and + -- mounted when write() is called + local savedir = "save" + local mounted = love.filesystem.mount(savedir) + if mounted then + love.filesystem.setWriteDir(savedir) + else + local old = love.filesystem.write + love.filesystem.write = function(...) + love.filesystem.setWriteDir(savedir) + love.filesystem.mount(savedir) + love.filesystem.write = old + return old(...) + end + end -- Load main.lua or init `nogame` state if love.filesystem.isFile("main.lua") then