AB Sprite Editor (Public Beta)

It’s more than ok this way - the feature works great, and it isn’t a problem to adjust the preview box manually.
Thank you again - it really improved the editor’s usability, and when I posted the first message I thought it would take days for you to see it and weeks, if not months, to get it implicated.

1 Like

oh wow, i was out for a long time and coming back to this (and other things i saw that i’m super exited about) makes me super happy
i’m definitely trying it out soon!


Welcome back @graziel

1 Like


I was doing some sketches\character designs in the editor (thank you again for the editor itself and for the preview function) and wanted to toy with some simple animations - the “duplicate” function just asking for it. =)

In the process, I had two thoughts:
First - is it possible (in the future) to add animation functionality to the preview? Taking every frame as 1/30 sec default? Or make the preview window show the frame you are toggling to, not the last edited one?
and second - maybe it would be a useful function to make a quick import of the sprite to the clipboard, so it could be pasted directly into code in the Arduino IDE or arduboy emulator window?

Again, glad to see there are people still using this.

Theoretically, yes.

Again, theoretically yes…

I’ve been reluctant to add anything related to animations because it’s yet more feature creep, but I might consider it as more people use the editor and I get time to work on it.

Another issue is that animations can also be quite complex…

I expect you’re only thinking of the base case where each frame of the sprite is a distinct animation frame and they would be stepped through in sequence, but there’s also the case where a sprite might have frames for more than one animation (i.e. only some of the frames should be included in the animation), and the case where each frame might be used more than once (e.g. an animation might go 0, 1, 0, 2 instead of just 0, 1, 2, 3).

To support those more advanced cases, a more advanced animation tool would be needed, and I expect that if I handled basic animations then it would only be a matter of time before someone asked me to support the advanced cases too. (They might even want me to somehow export that animation data, e.g. an array of frame indices.)

Hrm, I can sort of see the use case for this if uploading files to the online emulator is slow.

(I would have thought the offline version would just use files that are already available on the file system?)

I’m a bit more reluctant for this case because I think it might encourage people to start dumping their image data in any old place rather than keeping it in a separate header file.

Also, replacing a header file via exporting avoids the need to have the header file open in the first place.

I may potentially be able to think of a way to speed up exporting if the speed of exporting is an issue.

1 Like

Yep, I definitely see your point about the animations - it can start a snowfall of functional additions that would demand a lot of work and possibly wouldn’t be used too often.

Again - you do it in your spare time, without any payment - and you have already done a lot.

BTW - maybe you would like some help with art\interface elements for any of your projects?

1 Like


Already using the Editor in my pet project - the mirror feature and .h files export make it a great tool indeed.

Some sprites from a game I’m working on:



Hey, I downloaded this to check it out.
Do I need to get C# and compile it, or…how do I run it -.-U lol.

I’m assuming you downloaded the source files as they’re filled with .cs files.

What you need to do to install this is download the Windows app from the releases which you can find here: Releases · Pharap/ABSpriteEditor · GitHub (it is only available for Windows though)

Once you’ve downloaded the .zip file, use something like WinRar (or if there is a default unarchiving tool, use that) to extract the .zip file. From then, double click on the .exe file to run it.

1 Like

As @Ard_Flamingo has pointed out, you can just grab an executable from the releases page.

You have to expand the ‘Assets’ section because for some reason GitHub automatically collapses it for prereleases.

The ABSpriteEditor.zip is the one you’ll want. It’s in a .zip purely to make sure you get the licence bundled with it. You can either open the .zip file as you would a folder and then copy the contents to where you want them or right click the .zip and then extract the contents via Extract All....

It only runs on Windows because getting it working on other OSes would be a lot of work one way or another.

Windows can actually open and extract .zip files natively, and has been able to do that for at least a decade, possibly more.

I purposely included a .zip because I knew the target audience (Windows users) wouldn’t need any extra software, though I also provided a .7z for those who do have dedicated softwate because the compression ratio was better. (Not necessarily the best, but better.)

Personally I prefer 7-Zip because it’s open source, whereas WinRar is ‘trialware’ - you get a limited trial for free and have to pay for a full version.

1 Like

Thanks to @Ard_Flamingo’s tenacious tinkering there’s now a Mac version of AB Sprite Editor available.
It can be found in the v0.5.0-beta release:

I make no promises, but there’s a fair chance it’ll actually work.

The readme has also been updated accordingly:


I can certainly make that promise :stuck_out_tongue:

I’ve downloaded it myself and it worked fine (after running the command), but @acedent and @filmote are bound to download and try it and eventually lol.

Also, I don’t think you need to add the ending (the .app part) in the xattr command because on MacOS you can just copy the path just by clicking the app icon and holding option like this:

It’ll be better this way since it’s harder to type in the path manually (since MacOS’ directories are all over the place) than to copy/paste it all.

Also another little note, at the end of the first sentence of the “Notes for MacOS Users” section, you put “executable” rather than “app.”

It just also occurred to me that users who download the app might face another similar issue, where the MacOS executable fails to turn into an executable, which forces the app to throw a "this app is damaged we can’t open it :frowning: " output. (MacOS .apps sure have a lot of bugs).

To fix this:

  • Right click the app and click “Show Package Contents” (you can reference the image above)

  • Navigate to the MacOS folder: /contents/MacOS

  • Copy the executable’s path exactly how you did it before (or the white file, as it might show, which is how you know you got this bug/thing)

  • Type in chmod +x "path you just copied (to the executable, not the app)" in the terminal

You’ll now see the executable icon turn into a terminal-esque icon with green text, from a blank white file.

I got this thing a few times when I was downloading other MacOS apps from the internet, so it’s a possibility that it might occur.

If it’s not necessary then it doesn’t make a difference either way.

I made sure to include it because I’d expect a Unix-based system like Mac to be picky about that sort of thing, and it may help to disambiguate in the event of files that differ only by extension.

I think whether or not that’s a mistake is more of a philosophical question.

An ‘executable’ is:

A file that can be run directly by a computer’s hardware or a p-code interpreter with no further processing.

Granted it contains more than just executable code, but it seemed to fit the bill for me.

But in the interest of using less technical terminology perhaps I’ll change it later. If I do I’ll either go for “Application Bundle” (it’s proper name according to Apple), or .app file, or ‘application’. (I refuse to call it just ‘app’ though.)

If that turns out to actually be necessary for anyone, I might have to get you to send me a tarball (.tar.gz) to upload instead.

For that matter, do Macs have a built-in facility for unpacking .tar files?
I know Linux uses them a lot, but I don’t know if that extends to all Unix-likes.

(If you’re wondering what the difference would be: a .tar (tape archive) file should retain file attribute information such as the executable flag that you’re trying to add back with chmod.)

1 Like

I meant how you put the app name after the path to the app. It might be more difficult like this since it’s much easier to just copy the full path to the app rather than copy the path then skim it a bit.


To me at least, the app is the folder, and the executable is the thing in the MacOS folder. Since the command needs to go to the app and not the executable, it might make more sense to say app I guess.

I don’t know about the built-in unarchiver, but I personally use The Unarchiver and it seems very very many people use it. Anyway, most people probably have another unarchiver app which most likely can unpack .tar.gz files.

Ooh I got the Regular badge :slightly_smiling_face: