In response to Ter13
So I guess I am stuck with interpolating animations on my own... damn.
In response to Kats
Kats wrote:
So I guess I am stuck with interpolating animations on my own... damn.

Is it possible, at all, to create some kind of generator that does it for you after a call of some sort?
In response to AERProductions
Yes. I can basically recreate my own animation functions to do exactly this. I would just stack all of the animations into one animation call if everything wasn't timed differently. Well, at least it should be known that I can animate ONE thing, at least.
In response to AERProductions
AERProductions wrote:
Kats wrote:
So I guess I am stuck with interpolating animations on my own... damn.

Is it possible, at all, to create some kind of generator that does it for you after a call of some sort?

Well, the real problem is with repeating animations. Once-through animations isn't so much an issue, but when you have repeating animations with varying timings, you have to repeat the short-lived repetitions until you get a sync with the long-lived repetitions.

This can get really obnoxious when you start layering multiple effects together. For instance:

360 Rotation = 9 frames
alpha 255 to 0 = 4 frames
color red to black = 32 frames

You need to find the max LCF for all of these:

LCF of 4 and 32 is 32 (8, 1 repetitions)
LCF of 9 and 4 is 36 (4, 9 repetitions)
LCF of 9 and 32 is 288 (32, 9 repetitions)

Since our max LCF for 9 and 32 is 288, we are looking at:

alpha 255 to 0 = 72 repetitions
color red to black = 9 repetitons
360 rotation = 32 repetitions

This would generate at least 72 animation steps.

Welcome to programming hell to do this automatically.
In response to Ter13
Thanks, Obama...
Sorry for coming into this late, but you can force cancel a previous animate() call buy calling what is essentially an animate() on it with a time of zero.

At least that's how Lummox suggested I do it when I tried to stack animations.
In response to Bravo1
Unfortunately I don't need to cancel them, I need to stack them.
Once I get the library completed, debugged and in its way out the door, I will be doing a full video tutorial on how to use it. It's not that complicated, but it'll mainly just be designed to show off how I did some of the things I did, such as layering emitters, editing parameters, etc. I just think a video tutorial will be much easier to understand than a big blob of text. (Although I'll still keep the blob of text)
In response to Kats
Will you have some particle effects already created like the examples you showed? Or will you leave that for us?
In response to Ganite
The demo will come fully stocked. It's more or less necessary to serve as an example of how and why some things are done.
In response to Ter13
Ter13 wrote:
What would be really sweet is if you could work out some way to capture these particle effects and render them to a series of icons with specific layers.

Well, the question is, can you add them as overlays?

If yes, you can capture them frame by frame and put them in a dmi all through code.

If no, you can make a green background and chroma key it out with a video recording software. Then, edit it and pull out the frames and save them as pngs. Throw them in to a dmi and create your animation that way.

It's not terribly hard. But it's tedious. Plus, there's the issue with large icons disappearing when out of distance. Particles can be very big.
In response to Xirre
Huh, wow, I actually hadn't thought about keying it out like that. The only problem I can see with that is using the fading functions.
In response to Kats
Kats wrote:
Huh, wow, I actually hadn't thought about keying it out like that. The only problem I can see with that is using the fading functions.

Just thought I'd drop the idea here since this was used to make the health/mana bars below:



It's actually just 2 icons. But it was flipped. The top half is the red (health) and the bottom half is the blue (mana). Rather than manually flipping them all, it was done through code. Not only that, they don't have blue in the center. They are empty by default. So, we added an overlay of a 1x3 icon and repeated it for a filling effect.

I don't know if you were around when we didn't have animate. But there's a method of having different shades of an icon. So if you wanted to fade your screen you'd have a black icon with an alpha from 0 to 100 where 100 is 255 (fully black). Then you'd just change their icon state. This causes higher RAM but lower CPU. A fair trade-off if that's what you are looking for.

Hopefully this gives you an idea on how to go about doing what Ter said, should you need to.
Oh yeah, I've been here well before animate(), lol. About 2008. But I could never stand brute-force techniques like that. But if it trades CPU for RAM, I can't exactly argue.
Just posted version 1.0 of the Hadron++ Particle Engine. Check it out here! Decided against a video tutorial (because I'm lazy). But the tutorial in the source is very descriptive on exactly how to operate the library.
Page: 1 2 3