cl-aseprite
2024-10-12
Aseprite file format parser
Upstream URL
Author
License
1cl-aseprite
https://img.shields.io/gitlab/last-commit/lockie/cl-aseprite?ref=develop&style=flat&extension=.png https://img.shields.io/gitlab/v/tag/lockie/cl-aseprite?label=version&style=flat&extension=.png https://img.shields.io/gitlab/license/lockie/cl-aseprite?color=blue&style=flat&extension=.png https://img.shields.io/mastodon/follow/109994839335624904?color=858AFA&domain=https%3A%2F%2Ffunctional.cafe&label=follow%20on%20mastodon&logo=mastodon&style=flat&extension=.pngNOTE: this software is of alpha quiality, and the API is subject to change.
cl-aseprite
is a high-performance Common Lisp library for parsing .aseprite
files created with Aseprite and LibreSprite programs into meaningful Lisp structures.
Aseprite is a proprietary image editor designed for pixel art drawing and animation. It was used in the development of several notable games such as Celeste, Loop Hero, and many others (source: Wikipedia).
LibreSprite is a free and open source fork of Aseprite created after its license changed from GPLv2 to proprietary in 2016.
See the documentation page for more details.
1.1Features
Provides complete information on all layers, frames, cels and tags saved within the.aseprite
file, as well as sprite's metadata.1.1.1Things NOT (yet) fully supported
- non-text userdata properties (only reachable via scripting anyways)
- tilemaps and tilesets
- external file references (palettes, tilesets or extensions)
- 9-slices
1.2Installation
For now, you'll have to install LuckyLambda Quicklisp distribution (assuming you have Quicklisp installed) by executing the following in your Lisp : (ql-dist:install-dist "http://dist.luckylambda.technology/releases/lucky-lambda.txt")
Alternatively, just clone this repository to your Quicklisp's local-projects directory and execute (ql:quickload :cl-aseprite)
in your Lisp.
Currently tested to work with SBCL on Linux, MacOS & Windows. Your Lisp implementation should support package-local nicknames for this library to work.
1.2.1Dependencies
Installed automatically by Quicklisp, but are worth mentioning.1.3Usage
(ql:quickload :cl-aseprite)
(describe
(time
(ase:load-sprite "your-sprite-file.aseprite")))
1.4Roadmap
AKA TODO listdocumentationtests- cover missing features
1.5Contributing
Merge requests are welcome, just please submit them against thedevelop
branch. For major changes, please open an issue first to discuss what you would like to change.