From 219423f2b307dd07e858a174a24181838e298e35 Mon Sep 17 00:00:00 2001 From: zomo Date: Wed, 15 Apr 2026 22:54:44 -0500 Subject: [PATCH] FEAT: reset layer frame count if missing layer image --- out.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/out.go b/out.go index 19113cd..614b4ef 100644 --- a/out.go +++ b/out.go @@ -112,13 +112,13 @@ Splash2len=%d // loop through folders roomcredits := []string{} for _, roomFolder := range roomFolders { - err := copyFolder(roomFolder, outpath) + err := copyFolder(&roomFolder, outpath) if err != nil { return fmt.Errorf("error copying folder %s: %+v", roomFolder.Path, err) } inistr.WriteString(roomFolder.Cfg.ToIni()) - roomFolder, err = checkCredits(roomFolder); + err = checkCredits(&roomFolder); if err != nil { return fmt.Errorf("error checking credits in folder %s: %+v", roomFolder.Path, err) } @@ -146,7 +146,7 @@ Splash2len=%d } // doesn't error currently -func checkCredits(roomFolder RoomFolder) (RoomFolder, error) { +func checkCredits(roomFolder *RoomFolder) error { if roomFolder.Cfg.name == "" { log.Println("WARNING: room config has no name, defaulting to folder name") foldername := filepath.Base(roomFolder.Path) @@ -157,10 +157,10 @@ func checkCredits(roomFolder RoomFolder) (RoomFolder, error) { 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) roomdir := fmt.Sprintf("ROOM_%d", roomFolder.Cfg.room) @@ -234,6 +234,13 @@ func copyFolder(roomFolder RoomFolder, outpath string) error { } else { 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 + } } }