FEAT: reset layer frame count if missing layer image

This commit is contained in:
zomo
2026-04-15 22:54:44 -05:00
parent 1d5a891a71
commit 219423f2b3
+12 -5
View File
@@ -112,13 +112,13 @@ Splash2len=%d
// loop through folders // loop through folders
roomcredits := []string{} roomcredits := []string{}
for _, roomFolder := range roomFolders { for _, roomFolder := range roomFolders {
err := copyFolder(roomFolder, outpath) err := copyFolder(&roomFolder, outpath)
if err != nil { if err != nil {
return fmt.Errorf("error copying folder %s: %+v", roomFolder.Path, err) return fmt.Errorf("error copying folder %s: %+v", roomFolder.Path, err)
} }
inistr.WriteString(roomFolder.Cfg.ToIni()) inistr.WriteString(roomFolder.Cfg.ToIni())
roomFolder, err = checkCredits(roomFolder); err = checkCredits(&roomFolder);
if err != nil { if err != nil {
return fmt.Errorf("error checking credits in folder %s: %+v", roomFolder.Path, err) return fmt.Errorf("error checking credits in folder %s: %+v", roomFolder.Path, err)
} }
@@ -146,7 +146,7 @@ Splash2len=%d
} }
// doesn't error currently // doesn't error currently
func checkCredits(roomFolder RoomFolder) (RoomFolder, error) { func checkCredits(roomFolder *RoomFolder) error {
if roomFolder.Cfg.name == "" { if roomFolder.Cfg.name == "" {
log.Println("WARNING: room config has no name, defaulting to folder name") log.Println("WARNING: room config has no name, defaulting to folder name")
foldername := filepath.Base(roomFolder.Path) foldername := filepath.Base(roomFolder.Path)
@@ -157,10 +157,10 @@ func checkCredits(roomFolder RoomFolder) (RoomFolder, error) {
log.Println("WARNING: room config has no credits") log.Println("WARNING: room config has no credits")
} }
return roomFolder, nil return nil
} }
func copyFolder(roomFolder RoomFolder, outpath string) error { func copyFolder(roomFolder *RoomFolder, outpath string) error {
nightdir := fmt.Sprintf("NIGHT_%d", roomFolder.Cfg.night) nightdir := fmt.Sprintf("NIGHT_%d", roomFolder.Cfg.night)
roomdir := fmt.Sprintf("ROOM_%d", roomFolder.Cfg.room) roomdir := fmt.Sprintf("ROOM_%d", roomFolder.Cfg.room)
@@ -234,6 +234,13 @@ func copyFolder(roomFolder RoomFolder, outpath string) error {
} else { } else {
png.Encode(f, transparent) png.Encode(f, transparent)
} }
// ensure layer_frames is 1 if it's not included
if strings.ToUpper(imagename) == "LAYER" && roomFolder.Cfg.layerFrames != 1 {
log.Printf( "WARNING: room was configured to have %d layer frames, but no LAYER image exists", roomFolder.Cfg.layerFrames)
log.Println("WARNING: setting layer_frames=1")
roomFolder.Cfg.layerFrames = 1
}
} }
} }