fix(ios): export saves from Love directory

This commit is contained in:
Adrian Castro
2026-08-01 13:07:36 +02:00
parent c4ec5dc1c5
commit 90437a5d8d
2 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -1141,7 +1141,7 @@ function RomImporter:exportSave(version)
return
end
self.androidPendingExportVersion = version
if love.system.createFile and love.system.createFile(suggested) then
if love.system.createFile and love.system.createFile(suggested, love.filesystem.getSaveDirectory()) then
self.pickPending = true
self.pickTimer = 0
self.saveNotice[version] = { ok = true,
+7 -3
View File
@@ -10,6 +10,7 @@ local saved = {
createFile = love.system.createFile,
read = love.filesystem.read,
write = love.filesystem.write,
getSaveDirectory = love.filesystem.getSaveDirectory,
}
local writes = {}
@@ -21,10 +22,11 @@ love.filesystem.write = function(name, data)
writes[#writes + 1] = { name = name, data = data }
return true
end
love.filesystem.getSaveDirectory = function() return "/tmp/gen1recomp-save" end
local createCalls = {}
love.system.createFile = function(name)
createCalls[#createCalls + 1] = name
love.system.createFile = function(name, saveDirectory)
createCalls[#createCalls + 1] = { name = name, saveDirectory = saveDirectory }
return true
end
@@ -49,12 +51,14 @@ eq(#writes, 1, "stages the save for iOS export")
eq(writes[1].name, "pending_export.sav", "uses the native bridge staging name")
eq(writes[1].data, "save-data", "preserves the exported save data")
eq(#createCalls, 1, "opens the system destination picker")
eq(createCalls[1], "red.sav", "suggests the original save name")
eq(createCalls[1].name, "red.sav", "suggests the original save name")
eq(createCalls[1].saveDirectory, "/tmp/gen1recomp-save", "passes the exact staging directory")
check(ri.saveNotice.red.ok, "reports that the destination picker opened")
love.system.createFile = saved.createFile
love.filesystem.read = saved.read
love.filesystem.write = saved.write
love.filesystem.getSaveDirectory = saved.getSaveDirectory
package.loaded["src.import.SaveFileIO"] = nil
S.finish()