As I was working on my procedural tree tool for Bonk, I realized I really needed some GUI items so I could manipulate the variables for each tree in real time. I’ve been putting off the GUI system in MUA for a really long time and this was the final straw that got my ass back in gear. MUA now has a rudimentary GUI system (I’ll make another post on that a bit later with more details). One of the features (the only feature, really) is a theme system that makes it super easy to customize how your gui items look as a whole. It is also simple to distribute theme info — each theme requires only a simple xml file and one or more spritesheets.
Cool!
While the system itself works, I haven’t created all the gui items I want yet. One of the major steps in this is creating images for each thing and sticking them all in the sprite sheet. With zero artistic skills going for me, making little changes then compiling all the images into a sprite sheet over and over was actually a surprisingly large pain in the ass.
A friend of mine has a simple script tool for joining images up into sprite sheets. It is nice, but I didn’t want to deal with a command line thing every time and I wanted the process to be more accessible to users, so I created a GUI spritesheet tool in wxPython.
Right now it is very minimal — it loads images, can remove them, allows you to drag them around, snaps them into position, and can save the compiled spritesheet. For now it is hardcoded to 500×500 sheets of 50×50 sprites. One day I’ll go back and make that all changeable by the user. While it is bare bones, it does get the job done. I’ve added it the tools section of MUA so it will be available to everyone (once MUA is released… sheesh).
Here is a screenshot of it in action with the first sprites I have for testing the GUI system. If anybody wants to create some gui images for the theme, let me know as we could REALLY use it.

2 Comments
no screenshot, no download link?
Sorry — the screenshot, source, and download were lost in a combination hard drive failure and server move. I know that sounds cliche, but there you go.