GIF Animator

Well, as you all know, there are plenty of freeware GIF animator programs out there. However, I’m looking to make a new one. The basis for the design of this one is spritesheets–it’s designed to load a single image file, either automatically find specific-color boxes around the sprites or allow the user to draw them manually (or perhaps both). Of course I plan on having all the other usual features–except dithering and the palette options, since it’s supposed to be for sprites. Have you found anything like this, and do you think everyone would make use of it if I made it? Also, what are other additions you might like to see in it, et cetera? My current plans are here, here, and here if you feel the need to look at them.

*(Updating post because he doesn’t want people to need to look through the whole topic for info.)

Kinesis Animator has to be run as an administrator the first time you use it. Running it once registers the ActiveX controls it needs in order to run, so you can use it as whatever user you want after that.
Do not click in the left box after editing a comment or name. It’ll copy the comment/name to the frame you click on if you do this. I’m kind of trying to figure out how to fix that.
Editing a spritesheet in Paint will result in the original file you loaded being changed, unless you loaded an animated GIF, and then it’s the temporary bitmap in the program folder, so you should rename it and load it with its new name if you want to keep it.
The “Sprite Selector” (first link to plans) was programmed differently than shown, named “Auto-Find Boxes,” and is usable in several ways (doing the whole spritesheet, doing just inside a specific area, and starting from one pixel). It now requires that there not be actual lines between the sprites, but rather, the background color you select should separate all sprite rectangles by at least one pixel. However, you may select the color of the lines between sprites as the background color, and it theoretically should work fine as long as you only use the “from pixel” mode.
Zooming works anywhere from 1x to 8x at intervals of 1. It does not go to 10 as the second plans link shows.
There are more buttons on the right in box mode than there were in the second plans link.
The “optimize” option shown in the third plans link was forgotten. There’s a small chance it may be added some day.
I haven’t written a help file. If someone wants to get me started with what they know, I’d be happy to finish it and put it in the program with the appropriate credit given. Otherwise, I may eventually write the help file.

If it’s good, I’d certainly use it.

Why not a continuous play of the animation (animated thumbnail), gamemaker style? Or does that lag too much? If so, you get a continuously refreshed version of the animation. A built-in image editor would be good, because I don’t understand how the sprite/spritesheet will be exported into the animator and animation through paint. But then I’m not a programmer. What will it be able to be used in? Vista? XP? Will the dominant color of the image be set to transparent? If this project is ever to be finished, how are you going to distribute and advertise it? If it does finish and work out, you’ll be sure I’ll use it.

Ah, excellent idea. I don’t know why I didn’t think of the animated thumbnail idea. Certainly plausible and no cause for latency.

As shown on the second link (I think), I plan on having an “Edit” button in the program, which would open up the spritesheet in Paint and disable the controls (or at least say something like “Currently editing in Paint”) until Paint is closed again. It would be crazy of me to code a whole integrated editor, though. But currently, it’ll pretty much be a “click Import Spritesheet, select the file, and hit OK” interface, and perhaps a “Reload imported spritesheet” button in case you edited it while the program was opened.

It will definitely be usable in Windows XP, and it may be usable in Windows 98. As for Vista, I’m pretty sure it should work, but I’ll have to actually try that before giving a definite answer.

There will be a “pick transparent color” button as usual, but otherwise, the top-left pixel of the spritesheet will likely be the assumed transparent color (and, as always, transparency can be disabled). I could easily come up with a most-used color routine, but it’d be a lot slower than just assuming the top-left pixel.

I’d distribute it through one or more of my websites, and any other website that would like to host it may do so. As for advertising, well, if you talk about it where you’ve used it, it’ll be sure to gather more users, which, in turn, advertise more. I’m not up for paying for advertising for my freeware program, of course, so anything commercial is out of the question. :stuck_out_tongue:

Thanks a bunch for your time, support, and questions. :slight_smile:

You’re welcome. I agree on many points about GIF animators; they never are quite as you want, or they are just set for different purposes. So good luck with the programming!

Speaking of good luck, I’ve already managed to get PNG-loading and single-frame GIF-saving code, and I’ve already modified the GIF-saving code to save multi-frame GIF’s (with offsets, local color palettes, undraw methods, looping, delays, and interlacing). Seems to be working pretty well. I’m rather enjoying this kind of progress. It’s nothing like the frustration that is physics coding. :laughing:

I suppose I should update the matter since it’s been a week and I have been seeing lots of progress (compared to my norm, especially). I think I’ve finished my resizeable-element multi-select scrolling picture listbox ActiveX control (I like that long adjectival description), so the cool selection interface is done. I guess that means the project is about 1/4 or 1/3 the way to completion now. Gotta do all the tabs and everything next. :stuck_out_tongue:

I keep re-uploading the program here as I code more of it:

Currently, I’ve got very little implemented, but you can play around with it. Everything that currently does something should do it flawlessly.

25-33% done already? Well that was fast. :stuck_out_tongue:

Just thought I should post in this topic seeing as I haven’t yet. Looks and sounds very useful, especially since it’ll animating sprites from a giant sheet not so time-consuming and tedious.

I think I’m around 40-50% done by now. Here’s what I think is left on my to-do list:

Moving the window (simple copy and paste from another program of mine)
All the Save functions
All the Load functions except Import Spritesheet
Attaching the Properties shown to the actual properties in memory
Editing properties when multiple items are selected
Constant preview
Accurate preview
Move/Resize Boxes
Finish Auto-Find Boxes; allow in a specific area or in the whole sheet
Optimize function (but I may not make it)
All sorts of random, small things, such as the option of drawing lines around all the Boxes

And of course I keep re-uploading it here every few minutes. I really think I could be done in a week or two, given that I don’t get too bored and my friends don’t come over too often. :stuck_out_tongue: And I guess I may as well go ahead and post a current screenshot, sooo…

Keep going Mase my man, it’s looking like something I’ll love forever <_<

Nice, Mason! I remember back in the day when you kept telling me how you would always make this. And here it is: in progress! :smiley: I’m happy for you, Mason my man.

Updated to-do list:

b Moving the window (simple copy and paste from another program of mine)[/b]
All the Save functions except GIF
All the Load functions except Import Spritesheet
b Attaching the Properties shown to the actual properties in memory[/b]
Editing properties when multiple items are selected (works to a very minor extent at the moment)
Constant preview
Accurate preview
b Move/Resize Boxes[/b]
Finish Auto-Find Boxes; allow in a specific area or in the whole sheet
Optimize function (but I may not make it)
All sorts of random, small things, b such as the option of drawing lines around all the Boxes[/b]

Also, reuploaded again. It’s been a very busy day.

WOW. A different skin would be excellent. Very good progress! I’m looking forward to getting that Gif Animator.

I’m not one to put stuff like animated alpha-transparency buttons (which I would like to call “power wasters”), but most of the colors should change automatically to match your Windows color scheme. But who knows, maybe some day I’ll do something to make it prettier…or allow the user to make it prettier. :stuck_out_tongue:

Oh, but if you mean the graphics on the buttons, that’s an easy change. Could just load them from a file instead of storing them internally in the program, no problem. Just remember they’re 20x20 pixels. I just sketched up the current ones, and I thought they looked kinda good for a total of 19 colors. :sunglasses:

Update: You can now correctly move the list items.

Hey, do you ever plan on making a Linux version even-though-VB-doesn’t-work-with-Linux-but-maybe-someday-something-will-happen-and-you-will?

My friend Slokunshialgo has VB programs working on his Linux… I’ll have to eventually figure out just how he did it and write an article on it or something.

But you realize that what you’re asking is if I’m going to learn another coding language and all sorts of X window code and stuff, right? :stuck_out_tongue:

Edit: More updated! Link here again because this is a new page according to my settings. The “Giant Crosshair” option now works, and I’ve disabled the checkboxes that don’t do anything yet. I’m sure I updated a few other things since the last upload…

Edit again: I think I have Copy and Paste working. :slight_smile:

Edit once more: Instructions from Slokunshialgo on how to make Visual Basic programs work under Linux: “Install WINE, Wine-doors, get some of the libraries wine-doors makes easy to install. Make sure you have easy access to a windows running VB. Always run things you’re not 100% sure on from command line, as it will tell you which DLLs you may need, and/or other errors you may encounter.
You may have mixed results, and these instructions were tested primarily under Suse 10.2”

Hey Mase, you should make it so that when you load an animation that you didn’t animate, the program seperates the frames into a sheet, and you can save that sheet, so you can edit the step, etc.

Pretty big update made of a lot of mostly minor stuff: can now save/load KAF and BXS files, options are saved upon quitting and loaded upon opening, and multi-selection now works better. Also, here’s a trick I’ll certainly have to put in the help file: If you select multiple frames and change the “Frame” property to that of the last frame you selected, it should reverse the order of the selected frames.

Link resupplied because I can.

And thanks for the advice; I’ll most likely do that, Metroid Zapper.

(Old to-do list removed.)

“Failed to activate control ‘VB.UserControl’. This control may be incompatible with your application. Make sure you are using the version of the control that was provided with your application.”

I think you forgot to update one of the OCXs in the latest update. :stuck_out_tongue:

Re-zipped all the OCX’s just now. I’m also having trouble with saving my GIF’s (they fail to finish loading in MS GIF animator–only the first 5 images appear to save), but I don’t have a clue as to the cause.

Edit: Figured it out on the first actual guess. Turns out it was dumb of me to look and actually try to figure it out, because guessing worked so much better. (aBPP was never reset, so the bits per pixel increased until there were too many colors for the GIF to save correctly.) :stuck_out_tongue:

Another more-detailed to-do list:

b Fix glitch: Saving GIFs fails on the 6th image[/b]
b Needs an option for color-counting[/b]
b Finish and integrate Auto-Find Boxes[/b]
b Set up Save functions to automatically decide whether to overwrite or Save As[/b]
b Constant Preview[/b]
Accurate Preview
b Check if user wants to save before exiting[/b]
Check for input files when loading the program
b Export as BMPs[/b]
b Import GIF[/b]
b Find index of transparent color[/b]
Make optimize function (maybe)
Make background image option
Re-enable and fix Global Color Tables option