Skip to content

Commit e87b527

Browse files
committed
Refactor: Strip out unused fallback logic and wrappers
1 parent 84c213b commit e87b527

1 file changed

Lines changed: 4 additions & 25 deletions

File tree

manual-save.lua

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -81,28 +81,9 @@ if not dfhack.world.isFortressMode() then
8181
qerror('This script can only be used in fortress mode')
8282
end
8383

84-
-- ---------------------------------------------------------------------------
85-
-- File helpers
86-
-- ---------------------------------------------------------------------------
8784

88-
-- Recursively delete a directory tree. Returns true on success.
89-
local function deleteDir(path)
90-
if dfhack.filesystem.rmdir_recursive then
91-
return dfhack.filesystem.rmdir_recursive(path)
92-
else
93-
qerror("The --cleanup feature requires a newer version of DFHack. Please update.")
94-
end
95-
end
9685

97-
-- ---------------------------------------------------------------------------
98-
-- Save-directory resolution
99-
-- ---------------------------------------------------------------------------
10086

101-
-- DF Premium stores saves under %APPDATA%/Bay 12 Games/Dwarf Fortress/save.
102-
-- Classic/portable installs keep them next to the executable.
103-
local function getTrueSaveDir()
104-
return dfhack.filesystem.getBaseDir() .. "/save"
105-
end
10687

10788
-- ---------------------------------------------------------------------------
10889
-- Cleanup logic
@@ -113,10 +94,8 @@ local function pruneManualSaves(save_dir, keep)
11394
local items = dfhack.filesystem.listdir(save_dir)
11495
local manual_saves = {}
11596

116-
for _, item in ipairs(items or {}) do
117-
local name = type(item) == "table" and item.name or item
118-
local isdir = type(item) == "table" and item.isdir
119-
or dfhack.filesystem.isdir(save_dir .. "/" .. name)
97+
for _, name in ipairs(items or {}) do
98+
local isdir = dfhack.filesystem.isdir(save_dir .. "/" .. name)
12099

121100
-- Only touch directories whose name contains "-Manual-"
122101
if isdir and name:find("-Manual-") then
@@ -136,7 +115,7 @@ local function pruneManualSaves(save_dir, keep)
136115
for idx = keep + 1, #manual_saves do
137116
local target = save_dir .. "/" .. manual_saves[idx].name
138117
print("Pruning old snapshot: " .. manual_saves[idx].name)
139-
deleteDir(target)
118+
dfhack.filesystem.rmdir_recursive(target)
140119
end
141120

142121
if #manual_saves > keep then
@@ -180,7 +159,7 @@ local function triggerManualSave()
180159
print("Manual save completed successfully: " .. final_folder_name)
181160

182161
if cleanup_count then
183-
pruneManualSaves(getTrueSaveDir(), cleanup_count)
162+
pruneManualSaves(dfhack.filesystem.getBaseDir() .. "/save", cleanup_count)
184163
end
185164
end)
186165
end

0 commit comments

Comments
 (0)