ID:260759
 
Could there be a variable for atoms that sets the current frame of all icons + overlays attached to it (if they are animating) to a particular value?

That way, it's possible for me to create a special "time freeze" power that if used, will appear to freeze time. Right now, all the icons have to be edited through the game which introduces extra resources, more lag, and still doesn't change the icons for overlays on larger objects.

Something like atom.icon_frame which is set to 0 by default (indicating to perform the animation). Setting it to any value (say, 1) would set that icon to the specified frame.

Another useful way this could be put to use it to create different "states" of an icon without having to change icon_state. This allows overlays to exist within the same icon, instead of needing a separate icon for overlays if you want different states.
Bump! Could this be quickly added for 455, or is it really that much work?

It's atom.icon_frame. Set it to 0, the icon animates. Set it to 1, the icon is frozen in place. That's what I want to use it for.

Right now, I have two versions of every .dmi file: one animated, and one without animation. It's a nasty setup.
In response to Android Data
Rather than frames, I'd use an animation time period. A developer would set a time and then get a picture of what the entire atom (or image) looks like at that point.

That way, Dream Seeker could figure out how to line up overlays with variable timings and frames by counting their delays. Sure, there would probably be some lag over a network, but it would give control over every frame as you originally intended.

atom.icon_time = 0, image.icon_time = 0
  • If it's negative, then the animation freezes at whatever time period it's on. That way, developers don't have to pretend they know what's up on the client's end.
  • If it's 0, then the animation proceeds normally.
  • If it's positive, the animation freezes at that time value. This allows developers to display a frame of any atom/overlay (or image/overlay) combination.
It is inherited by overlays just like icon and icon_state.