Write some script-fu code for exporting an animated tileset

This commit is contained in:
Camden Dixie O'Brien 2025-01-09 20:12:43 +00:00
parent 7f292c3d56
commit e6b6df22fd

View File

@ -71,3 +71,26 @@
(define (crop-and-export-tree-sprite image)
(crop-to-middle-sprite image)
(export-tree-sprite image))
;; Exporting tileset
(define (xcf-basename image)
(string-replace ".xcf" "" (car (gimp-image-get-filename image))))
(define (export-tileset image frame-count)
(define (foreach-frame-layer f)
(let loop ((i 0))
(when (< i frame-count)
(let* ((name (number->string i))
(layer (car (gimp-image-get-layer-by-name image name))))
(f name layer))
(loop (+ i 1)))))
(let ((basename (xcf-basename image)))
(foreach-frame-layer
(lambda (name layer) (gimp-item-set-visible layer 0)))
(foreach-frame-layer
(lambda (name layer)
(gimp-item-set-visible layer 1)
(export-png image (string-append basename "-" name ".png"))
(gimp-item-set-visible layer 0))))
(gimp-displays-flush))