An Aseprite MonoGame Pipeline Extension

When I first wrote the sprite animation handler for Impulse, my game engine, it was using the JSON output from Aseprite but I've recently rewritten it to handle Aseprite files directly.

The JSON handling was a carry over from a bunch of utilities that I wrote for Pixel Beach.

I hadn't really thought about parsing the Aseprite file directly until I came across a tweet from Noel Berry:

The main benefit of handling the binary data directly is removing a manual step from the build process but it also opened up access to meta data that didn't exist in the JSON output.

After a week or so of development (and borrowing a lot from Noel's implementation) I have something working. Not everything is finished but there is enough there for what I need at the moment:

Thanks again to Noel.