GRIM Editor (new version + tut vid)
Matt Weir


Hi there!

Well, a bit more work has gone into my 2D skeletal animation editor lately. There are a few major changes since the OLD version. (new version at bottom of this post & attached)

Before I get too far...


Changes from the last version: (that I can remember)

  • Now uses OpenLayer internally so now properly supports alpha blended skins.

  • Significant increase in speed. (OpenLayer again)

  • Uses proper animation engine (from game engine) so now no waiting while frames interpolate and frame speeds are independent of computer. (ie. 250ms per frame)

  • Zoom. (important for small skeletons)

  • Now able to have a reference picture in the background taking the guess work out of bone positions and angles.

  • A heap of new features that are small or don't come to mind right now...

I recorded a short tutorial video that runs (quickly :P) through building a model from scratch. Download it here. Apologies for the use of a free file storage site but I don't yet have my own webspace.

This editor will be going in my portfolio for a job in a couple of days so any feedback would be VERY much appreciated! Thanks heaps guys! (and girls of course. ;))

Heres the download:
GRIM Editor

Matt Weir. :)

PS: Sorry for the lack of help, for now you'll have to rely on your sense of adventure and the vid if you DL it...


Looks like a very cool editor. I tried something like this a long time ago but didn't get very far. I'm not much good at animation tools but I'm sure an animator/someone with artistic talent would find this very useful.

My only suggestion after seeing the video is maybe show a preview of the skin you are selecting in the file selection dialog box.


What a nice tool !

How about giving us a little library to allow us to play those skeletons in our project ?

Pavel Hilser

There are used some cool ideas, I'd tell that this is a really cool tool.
The txt data files should be easy to use in other projects if anyone would need to use it.

I'm planing some models like this in my next planned game, who knows, maybe I'll not write my own editor - instead I use yours :)


Great and impressive work!

Hard Rock

Looks good, keep up the good work.

Matt Weir

Thanks all!

The plan definitely is to make this into a library in the near future so that anyone can use it. I'm just patching all the holes and finishing off the main feature set before I launch into the proper release/maintenance stage.

Since I also recently discovered the joys of 'runtime registered plugin classes' I'll also be making it so that you can supply your own drawing code (for alpha blended rotated bitmaps, that's all it uses) so that it will be completely library independent for implementation.

It's all finished enough for me to be working on models for my own game so I won't be long until I release it properly. :)

Thanks all for checking it out! Please be sure to post any bugs/problems, as I mentioned before this is being sent off in my portfolio in a couple of days so it would be nice to know it's pretty solid. :)

I also noticed there were some questions at the bottom of the old release post that I somehow missed, here's the answers because I like to clean up all the loose threads. (no pun intended)

Michael Jensen said:

1.) When I change frames, all the changes I made to a frame are lost when I go back to it... what happend?

2.) Why does add frame insert a frame before the one I'm working on instead of add one after it?

3.) When I play the animation, the buttons to stop or control the animation become unresponsive, what the heck?

4.) Why do the textures have to be in png format?

5.) Can we get some kind of tooltips so that when I hover over a pretty icon that I don't know what it does, maybe it can say something to tell me what it is? Even in a status bar at the bottom of the window would be nice...

Finally: How soon can we expect a bmp-out feature? (or png-out, since you seem to like that format! ;))

1) You need to take a 'Snapshot' of the frame. It's the little camera on the far right middle. This just means you can play around without messing up any frames you've been working on.

2) I never remember this happening but maybe it did and I fixed it. Anyway, fixed.

3) Fixed.

4) PNG, IMO, is the best format for truecolor alphablended sprites. Maybe one day I'll chuck in magic pink support but it really is best to have the edges of your textures alphablended to avoid horrible jagged lines when they are rotated. Feel free to suggest other formats if you have a reason to.

5) Tooltips are defidefinitely planned but your status bar idea is pretty good. Would be quick to implement too so maybe I'll do that for now... :)

6) I'll start on the 'Bitmap Export' feature after my portfolio is finished so next week if all goes well.

Paul whoknows

I get this weird windows message when I try to run it.
Incorrect configuration .Reinstall the application may fix this problem.

Matt Weir

I get this weird windows message when I try to run it.
Incorrect configuration .Reinstall the application may fix this problem.

I thinks that's a problem because used MSVC8 to compile and I need to include some extra DLL's or something. I'll look into it now, it's pretty important if you can't even start the program...

Matt Weir.

EDIT: Uploaded a new version. Paul whoknows, can you try this version?

GRIM Editor updated

I also made a few little bugfixes too that I discovered since uploading the first version.


That looks really professional.

Paul whoknows

This new version works!
This program can be really useful, and is very easy to use, and fun! good work!
Just curios, what GUI are you using?

Matt Weir

Awesome! I'm glad it works. Again, thanks all for the kind words. Always helps the motivation that bit more. :)

As for the GUI I'm using...
I originally wrote the program with normal Allegro and just used Allegro's gui, I've used it quite a bit in the past so I'm familiar with it's usage and quirks. The problem came up though that Allegro doesn't really do alphablended rotated sprites so I decided to use OpenLayer. Problem was the Allegro GUI doesn't work in OpenLayer so I was stuck. Do I throw away all the GUI code and start again with OpenLayer and something like GuiChan? In the end I just ported all the Allegro gui functions to OpenLayer. It meant basically writing them all again but only took a day and it all ported over with not too much trouble at all. (this is why some of the widgets aren't quite perfect, it's still a WIP)

Most of the things in the gui (such as the entire toolbar and Frame Edit windows) are simply large objects that handle all the events themselves rather than individual buttons in one giant Dialog array. It was just easier that way.

Perhaps when the GRIM lib is made non library specific I'll rewrite the GUI using something nicer.

Matt Weir. :)


Strangely, my version flickers like MAD when I put my mouse over the menu at the top, or when I click and hold the mouse button. Am I supposed to be in the bin/ directory, or the parent (where both bin/ and "game data/" are located)?

And what, exactly, is making the screen flicker all haywire like that? Any ideas/suggestions?

Matt Weir

Am I supposed to be in the bin/ directory, or the parent (where both bin/ and "game data/" are located)?

Not sure what you mean here, 'Am I supposed to be in'. The binary should be in the bin folder and you run it from there. If you move it anywhere else it won't find the graphics files for the GUI. There shouldn't be anything in the directory with the bin and game data directories at the moment.


And what, exactly, is making the screen flicker all haywire like that? Any ideas/suggestions?

That happens when I show the screen without the menu and then do it again with the menu. I really thought I'd got rid of that happening long ago and I haven't seen that happen for a long time but I will look into it. Strange.

Thanks for having a look everyone. I'll be posting my game demo soon too.

Matt Weir.

EDIT: TeamTerradactyl, can you try the version below. I looked at the menu code and there was a problem with the drawing (and a few others...:-X). Hopefully this should fix it!

GRIM Editor New Version



I downloaded that version: It fixed the flickering problem when I put my mouse over the menu, so that looks good. It still flickers like mad when I click anywhere within the window, though, so I can't even drag the joints around because the flickering is so bad.

I was able to use a much earlier version of the editor, though, and it seemed that flickering happened in neither the menu or main window. Not sure what's going on.

I've got a pretty decent machine this is running on: 2GB ram, Core 2 Duo processors, 256 MB ATI card... Is it not having problems on "older" machines?

Matt Weir

TeamTerradactyl: I'm glad that fixed the problem with the menu. Can you try this new version to see if it fixes the problem with the main window?

The problem is that the GUI used to only refresh itself when it had to, like when something was moved etc. Later on I changed it to just update the graphics all the time as this made things much easier for the interpolation and skin animations but some of the old code is still kicking around in there. This means that sometimes the programs trying to draw to different things at once and has nothing to do with the speed of your computer.

Unfortunately even though I know what's wrong I don't get it on my PC and a lot of other people don't but I think that's just down to graphics card voodoo or something. If it still happens with anything let me know what your doing to cause it and I'll fix it but because I haven't figured a way (yet) of duplicating the problem on my PC it's hard for me to find all the culprits.

Thanks anyway, hopefully I'll get it all sorted soon!

Matt Weir.

GRIM Editor Updated



That's cleared up the flickering. So now I can click on the menus without problem and I can click on the background without the flickering. Thank you for the updates.

If we see other problems, do you want us to let you know? (One is opening the editor, then clicking Options->Change Reference Picture. The dialog box that appears shows up fine until I click on one of the directories. Then the dialog box disappears. I can't do anything until I click around the general area where the Cancel button is to close the dialog.)

If you want, I can send a PM instead of displaying them here on the forums, or would you like a bunch of user feedback on this great program?

Matt Weir

TeamTerradactyl: Great that's fixed up the flickering with the main window. Because I can't duplicate the problem here it feels a bit like searching in the dark trying to find all the culprits... ;)

I'll get onto fixing the file dialogs too, someone else reported that also. I think it's a problem with all of them (load, save) rather than just the reference picture one, correct me if I'm wrong?

Feel free to just post any feedback here, good, bad, bugs, feature requests. (I'm getting to the sprite exporting! ;) ) That's what all this posting business is for! :)

Hopefully get to fixing the (last of the?) flickering today so check back every now and then.

Matt Weir.

UPDATE: Hopefully this update will get rid of that flickering once and for all. GRIM Editor 0.53

I'm looking at the moment into starting the gui from scratch again anyway with a proper GUI library since I've nearly abstracted out the engine drawing functions anyway.


"font not loaded properly" upon launch

edit: you're using "C:\Windows\Fonts" absolute path. That's a bad idea...

Matt Weir

That IS a bad idea, you're right!... Oops, not sure how that one stayed in there when I converted everything to relative pathnames... ::)

What's the deal for distributing windows fonts anyway? I'm not sure it would be fine with Bill but then this program is a windows program anyway so technically everyone should have the font (courier or something) anyway. I'm sure it's no real problem for now (this isn't exactly big business, or business, or big), but for future reference does anyone know?

I'll make the next release check in it's own dir as well for the font so you can copy it if you have to. Any other suggestions? Should fix it by the end of the day...

Matt Weir.

Thread #590509. Printed from