cl-aseprite

2024-10-12

Aseprite file format parser

Upstream URL

gitlab.com/lockie/cl-aseprite

Author

Andrew Kravchuk <awkravchuk@gmail.com>

License

GPLv3, MIT
README

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=.png

NOTE: 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

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 list
  • documentation
  • tests
  • cover missing features

1.5Contributing

Merge requests are welcome, just please submit them against the develop branch. For major changes, please open an issue first to discuss what you would like to change.

1.6Copyright

Copyright (C) 2024 Andrew Kravchuk (awkravchuk@gmail.com)

1.7License

GPLv3 (since lisp-binary, on which this library is based, is licensed under GPLv3 anyway)

Dependencies (6)

  • alexandria
  • chipz
  • let-plus
  • lisp-binary
  • parachute
  • trivial-types

Dependents (0)

    • GitHub
    • Quicklisp