/Quadtastic

A tool to manage sprite sheets and color palettes

Primary LanguageLuaMIT LicenseMIT

Quadtastic!

A simple standalone tool to manage sprite sheets and color palettes

Screenshot of Quadtastic

Download on itch.io

Documentation

Features

  • Create quads straight on your sprite sheet -- no need to ever type out coordinates again
  • Keep your quads neatly organized by giving them descriptive names and grouping them
  • Move and resize existing quads
  • Use the wand tool to create quads from opaque areas automatically Using the wand tool
  • Use the palette tool to create quads from areas that have the same color Using the palette tool
  • Learn more about how to use Quadtastic
  • Save quads as a simple lua table, export them to other formats like JSON or XML, or create your own exporter.
  • Enable Turbo Workflow to reload the spritesheet whenever it changes on disk, and to re-export the quads whenever you change them

If you're using LÖVE:

  • Save your quads as a lua table, and turn them into LÖVE Quad objects with just a few lines of code

    -- load the raw quad definitions that you created with Quadtastic
    local raw_quads = require("res/quads")
    image = love.graphics.newImage("res/sheet.png") -- load spritesheet
    
    -- Create LÖVE Quads from raw quad definitions
    quads = libquadtastic.create_quads(raw_quads, image:getWidth(), image:getHeight())
  • You can then draw these quads like so:

    love.graphics.draw(image, quads.base)
  • Learn more about how to use quads and palettes in your LÖVE project

Binary downloads

You can find executables of Quadtastic for Windows and OS X on itch.io, as well as a cross-platform .love archive.

While the executable versions should run out of the box, the .love version requires LuaFileSystem. If you have luarocks installed, you can install LuaFileSystem with

  luarocks install luafilesystem

Running Quadtastic from source

If you prefer to run Quadtastic from source, here is what you'll need to do

  1. Install LÖVE, and make love available on your path
  2. On linux, install luafilesystem if not already installed, e.g. with luarocks install luafilesystem. (On Windows and MacOS, Quadtastic will use the compiled version of luafilesystem that is included in this repo)
  3. Clone this repository, e.g. with git clone git@github.com:25a0/Quadtastic.git
  4. cd Quadtastic/
  5. If you have Gnu Make, run make app_resources. If you don't, you can skip this step, but you won't see the correct version number.
  6. love Quadtastic

Changelog

Credits and tools used

  • LÖVE
  • The m5x7 and m3x6 fonts by Daniel Linssen
  • aseprite by David Kapello. Oh, also, the pixelated Quadtastic UI is my lousy attempt to create something similar to the gorgeous UI in aseprite.
  • luafilesystem
  • lovedebug by kalle2990, maintained by Ranguna
  • Nuklear for guidance on how to write IMGUI
  • affine for reverse transformation by Minh Ngo
  • xform by pgimeno for practical ideas related to reverse transformation