So uh, some weird friggin' guy had requested somebody make an animation program. Some suggestions were tossed around, but no real solid program turned up. And while that was only a little over a month ago, I'm sure that same lunatic (and others like him) have been yearning for a program the likes he described for a long time....
Well, the waiting is over with.
Introducing:
Danimator
A friggin' animation program!
"But where are the screenshots!?"
Behold: one should be all you need
Spoiler: Screenshot (Open)In all seriousness:
I saw Weasel's request early August and thought "Why not take on the challenge, it could be fun!" I was particularly in the mood as I had been working on GUI applications in C# for school recently, and wanted to do one in C++.
So, let's get into the nitty-gritty. What features does this thing have?
Features:
- Create any amount of (uniquely named) states, much like your very own Decorate states!
- Can play sounds alongside the animations
- Import any number of Sprites or Sounds as resources, with supported image formats like png, bmp, tga, and sound formats like ogg, wav, etc.
- Modify offsets in real-time by mousing over and click-dragging the sprite, or tweak them precisely with the spin button readouts
- Add and remove frames of animation freely to the timeline. New frames will use the previous frame's offsets as a starting point
- Change the duration of each frame (in Doom Tics), as well as what flow control will be set at the end of the animation
- A simple crosshair for lining up sprites with the center of the screen
- "Frame Ghost" (or as some might refer to it as "Onion skinning") allows you to see up to 10 previous frames in the animation (with increasing alpha values that are distributed across each previous frame)
- Custom .danproj project files that will hold all your project contents for you
- The option to embed sprites and/or sounds into the project files, so you don't have to worry about losing resources and things not loading when you misplace or remove them by accident
- View individual states as DECORATE code, or export the whole project as DECORATE code to a file
For 32bit or 64bit Windows Operating systems, requires an OpenGL-capable graphics card
Q/A (or just statements that I can answer)
This thing seems so buggy!
This is very much a beta, so please feel free to leave feedback or report bugs you find. That being said, I also hope this doesn't crash on anyone :x (it shouldn't).
Is this all, feature-wise?
I still have a massive feature list I will work on over time. If you are curious, these are some things I plan on (in no particular priority or order):
[spoiler]
- Drag 'n' Drop onto Canvas to load a sprite/sound into the frame (and likewise for the resource lists)
- Motion Tweening/Interpolation
- pk3/Zip/WAD file support
- Sprite composition and Exportation (as TEXTURES script)
- Undo/Redo system (this is pretty important)
- Import states from Decorate
- Better Aspect ratio guides
- Customizable backgrounds and/or background color
- Zoom feature
- Clean the shit out of the code base
- Remove unnecessary libraries
- Sprite/sound previews
- Additional data colums in lists to show state frame count, sprite/sound size in bytes, etc.
- Hotkeys for some faster editing
- Right-click context menus for a few controls
- Mass offsets (offset multiple frames at once)
I get some kind of missing dll error?
You might need to install the Visual C++ 2013 runtimes. I have included the redistributable packages with the zip file for convenience (in the /redist folder).
I want this on <Insert operating system here>!
That's probably a long ways off, if at all. I don't have a lot of experience on other Operating Systems. It's not entirely impossible though; I do have a Linux installation, and the main libraries I used (SFML and wxWidgets) are both cross-platform. But really, it's not a top priority.
Why not release the source code, then?
In time probably. Right now, I just wanted to get this thing done as fast as possible, and there is a lot of rule-breaking and band-aid fixes in parts of the source (quite shameful, really). The code needs a lot of cleaning up before I feel I can release it for people to try to work through--right now it's just an impossible mess by my standards.
When I start it up and add my first state, I get 2 empty frames that I cannot get rid of? What gives?
I admit: this was just a lazy fix on my end. I cannot set the max value of wxSlider to anything less than 2, so I simply enforced 2 frames minimum for each state. I'll get around to a better way of handling this sometime in the future, I just wanted this released already.
Also, it's advised you look over the output code of the Decorate to correct any oversights or excess frames you might find, although the output is very accurate for what you have in the editor.
These offsets are all wrong! You are a failure!
This is true, but one thing to consider: this program was meant for fullscreen png graphics; no internal offsets, no grAb chunks or anything like that. If you have these in your files, then the offsets that are calculated and produced will not match up in game. I recommend using SLADE or another tool to set the offsets to (0, 0) and proceed to work with Danimator from there.
~~~~~~~




