ID:1918345
 
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
When you put a rotated overlay on an object, it uses the object's transformation first and then the overlay's transformation. So if an object's transform moves up, an 180 degree rotated overlay will move up instead of down. I'd like the overlay to move down instead, like it does in the webclient. That way, all my animated parts can be in sync without taking up too much CPU (using this for a shadow system). Either that, or I'd like to be able to cache animations and just apply an appearance set on the client instead of transforming all the objects directly, taking up CPU time, but last time I checked that was not feasible. This request probably isn't either, but at least I can say I tried.
I'm not sure which webclient version you're referring to. 1295 had a bug with transforms on overlays in which they didn't carry over as they should. But there's already a feature request for a way to reset transform, color, etc. on an overlay, and it's a feature I plan for 509 (pending finalization of the form it will take).
No, the webclient works fine, Dream Seeker is the one that has problems. It doesn't properly apply transforms to underlays like the webclient does. I'll get a picture.
EDIT: Picture time. Both shadows are rotated 180 degrees and scaled (-1,1), and are underlays.

Dream Seeker:


Webclient:
I'll need a test case for this, I think. The two of them not working the same way is definitely a bug.
Here's my test case:
https://copy.com/kNvkQbBEyojUeVQp

As you can see, in Dream Seeker, the box on the top (the mob) moves up and down, while the box on the bottom (the overlay/obj) moves up and down, regardless of rotation. This is undesired behavior, at least for me. Testing it on the Webclient gives a different result, the box on the top moves up and down, while the box on the bottom moves down and up. This is the proper behavior that I wish to have. You can see in the code what I've transformed it to. pixel_y also doesn't make a difference, so I added that so you can see it better.
Sounds like DS is applying the atom's transform followed by the overlay's, and the webclient is doing the overlay's followed by the atom's.
DS is the one that functions correctly. The webclient is supposed to be emulating DS.
In response to Ter13
Ter13 wrote:
DS is the one that functions correctly. The webclient is supposed to be emulating DS.

Yes, but this is an unfortunate case. That's why I have this in feature requests and not bug reports. I wish to have this as an option, at least. The Webclient beats DS here in this case (and in a lot of other cases in terms of rendering and graphics), for my purposes. I barely see any real uses for the DS version anyway.

GinjaNinja32 wrote:
Sounds like DS is applying the atom's transform followed by the overlay's, and the webclient is doing the overlay's followed by the atom's.

That's exactly what I said in my first post. I do suspect that that is the problem, or something similar.