Write some script-fu code for exporting an animated tileset
This commit is contained in:
parent
7f292c3d56
commit
e6b6df22fd
@ -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))
|
||||
|
Loading…
x
Reference in New Issue
Block a user