Skip to content

Commit 7e4e6f2

Browse files
committed
Optionally switch name and sequence number in screenshot filenames
1 parent 4e11ca8 commit 7e4e6f2

File tree

5 files changed

+27
-17
lines changed

5 files changed

+27
-17
lines changed

changelog.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
---------------------------------------------------------------------------------------------------
2+
Version: 2.2.1
3+
4+
Minor Features:
5+
- Optionally switch name and sequence number in screenshot filenames (player settings).
6+
---------------------------------------------------------------------------------------------------
27
Version: 2.2.0
38
Date: 17-11-2025
49
Features:

locale/en/locale.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ tlbe-take-screenshot=Take a screenshot
102102

103103
[mod-setting-name]
104104
tlbe-save-folder=Save location
105+
tlbe-save-name-first=Save files have name prefixed
105106
tlbe-sequential-names=Sequential names
106107
tlbe-show-stats=Show camera status
107108
tlbe-use-interval=Use interval as speed setting
@@ -111,6 +112,7 @@ tlbe-save-format=Image format
111112

112113
[mod-setting-description]
113114
tlbe-save-folder=Relative from 'User Data Directory'
115+
tlbe-save-name-first=When enabled, save files will have the camera name before the sequence number.
114116
tlbe-sequential-names=Use sequential numbering per camera for the screenshot numbers. When disabled, game ticks are used for screenshot numbering.
115117
tlbe-show-stats=This requires the Stats GUI mod to be loaded.
116118
tlbe-use-interval=Use intervals (between frames) instead of speed gain in the camera settings. When this setting is changed, reopen camera settings to update the UI.

scripts/config.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ local Tracker = require("scripts.tracker")
1313
--- @field saveFolder string
1414
--- @field seedSubfolder boolean When true, the seed is used as an additional subfolder
1515
--- @field saveFormat string File format/extension of the screenshots
16+
--- @field saveNameFirst boolean When true, save files have the camera name before the sequence number
1617
--- @field sequentialNames boolean
1718
--- @field useInterval boolean When true, use interval (between frames) instead of speed gain
1819
--- @field noticeMaxZoom boolean When true the warning about the max zoom is already raised
@@ -47,6 +48,7 @@ function Config.reload(event)
4748

4849
---@diagnostic disable: assign-type-mismatch
4950
playerSettings.saveFolder = guiSettings["tlbe-save-folder"].value
51+
playerSettings.saveNameFirst = guiSettings["tlbe-save-name-first"].value
5052
playerSettings.sequentialNames = guiSettings["tlbe-sequential-names"].value
5153
playerSettings.showCameraStatus = guiSettings["tlbe-show-stats"].value
5254
playerSettings.useInterval = guiSettings["tlbe-use-interval"].value

scripts/main.lua

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -166,25 +166,19 @@ function Main.takeScreenshot(player, playerSettings, camera, activeTracker, forc
166166
end
167167

168168
local savePath
169+
local basePath = string.format("%s/%s", playerSettings.saveFolder, camera.saveFolder)
170+
local filename
171+
172+
if playerSettings.saveNameFirst then
173+
filename = string.format("%s-%010d.%s", camera.saveName, screenshotNumber, playerSettings.saveFormat)
174+
else
175+
filename = string.format("%010d-%s.%s", screenshotNumber, camera.saveName, playerSettings.saveFormat)
176+
end
177+
169178
if playerSettings.seedSubfolder then
170-
savePath = string.format(
171-
"%s/%s/%d/%010d-%s.%s",
172-
playerSettings.saveFolder,
173-
camera.saveFolder,
174-
game.default_map_gen_settings.seed,
175-
screenshotNumber,
176-
camera.saveName,
177-
playerSettings.saveFormat
178-
)
179+
savePath = string.format("%s/%d/%s", basePath, game.default_map_gen_settings.seed, filename)
179180
else
180-
savePath = string.format(
181-
"%s/%s/%010d-%s.%s",
182-
playerSettings.saveFolder,
183-
camera.saveFolder,
184-
screenshotNumber,
185-
camera.saveName,
186-
playerSettings.saveFormat
187-
)
181+
savePath = string.format("%s/%s", basePath, filename)
188182
end
189183

190184
game.take_screenshot {

settings.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ data:extend(
2121
default_value = true,
2222
order = "6"
2323
},
24+
{
25+
type = "bool-setting",
26+
name = "tlbe-save-name-first",
27+
setting_type = "runtime-per-user",
28+
default_value = false,
29+
order = "7"
30+
},
2431
{
2532
type = "bool-setting",
2633
name = "tlbe-use-interval",

0 commit comments

Comments
 (0)