Page 1 of 1

ATL breaks upon fast forwarding.

Posted: Fri Apr 28, 2017 7:52 pm
by sirhatsley
I've been having a ton of issues with ATL but most significantly, it seems to completely break whenever the user tries to use the fast forward functionality.

Basically, I have a set of defined transforms that place the characters onscreen with a dissolve and an ease. However, I've been having a ton of problems with making it work consistently. Here is one transform, for example:

Code: Select all

    transform left_front:
        on show:
            xalign -0.2 alpha 0.0 yalign 1.0 xzoom 1.0 zoom 1.0
            easein 0.5 xalign 0.0 alpha 1.0
        on hide:
            alpha 1.0
            easeout 0.5 xalign -1.2 alpha 0.0
        on replaced:
            xalign 0.0 alpha 1.0 yalign 1.0 xzoom 1.0
        on replace:
            easein 0.5 xalign 0.0 alpha 1.0 yalign 1.0 xzoom 1.0
Update: I've been messing around with it a bunch and I think that this whole language is broken. Nothing works in a way that makes any sense. When I try to hide a character, they don't actually follow the hide function in any way shape or form. When I try to use more than one transform, it just becomes a broken mess.

Re: ATL breaks upon fast forwarding.

Posted: Fri Apr 28, 2017 10:10 pm
by Divona
Could you give more detail of how is it broken? The expectation how it should work, and what do you get instead. Currently, all I can get from the post is that it's "broken". More example of how do you use transform in "label" would be great. I have tested out the transform code you posted above and it works fine, even in fast forward.

Re: ATL breaks upon fast forwarding.

Posted: Fri Apr 28, 2017 11:30 pm
by sirhatsley
Divona wrote:Could you give more detail of how is it broken? The expectation how it should work, and what do you get instead. Currently, all I can get from the post is that it's "broken". More example of how do you use transform in "label" would be great. I have tested out the transform code you posted above and it works fine, even in fast forward.
It seems like the problem is that it stops in the middle of the animation if another animation comes along.

Re: ATL breaks upon fast forwarding.

Posted: Sat Apr 29, 2017 1:02 am
by Divona
sirhatsley wrote:It seems like the problem is that it stops in the middle of the animation if another animation comes along.
That usually be a problem with the second animation doesn't set the initial position of the ATL. For example:

Code: Select all

show spriteA neutral:
    xalign -0.2
    easein 0.5 xalign 0.0

"Some text here."

show spriteA smile:
    easein 0.5 xalign 1.0
This will cause an issue, where the first animation play half way through and second one come along to override it. Especially during the fast forward. The sprite would start the second animation half way through instead of from beginning where you expected it to be. The solution is to set the second animation the initial position before the animation.

Code: Select all

show spriteA neutral:
    xalign -0.2
    easein 0.5 xalign 0.0

"Some text here."

show spriteA smile:
    xalign 0.0
    easein 0.5 xalign 1.0

Re: ATL breaks upon fast forwarding.

Posted: Sat Apr 29, 2017 7:38 pm
by sirhatsley
Divona wrote: That usually be a problem with the second animation doesn't set the initial position of the ATL. For example:

Code: Select all

show spriteA neutral:
    xalign -0.2
    easein 0.5 xalign 0.0

"Some text here."

show spriteA smile:
    easein 0.5 xalign 1.0
This will cause an issue, where the first animation play half way through and second one come along to override it. Especially during the fast forward. The sprite would start the second animation half way through instead of from beginning where you expected it to be. The solution is to set the second animation the initial position before the animation.

Code: Select all

show spriteA neutral:
    xalign -0.2
    easein 0.5 xalign 0.0

"Some text here."

show spriteA smile:
    xalign 0.0
    easein 0.5 xalign 1.0
Is that really the only fix, though? I'd like for my other animation to be used from any position. I thought that the 'on replaced' was supposed to change the position as soon as the transform is replaced.

Re: ATL breaks upon fast forwarding.

Posted: Sat Apr 29, 2017 10:00 pm
by Divona
Could you drop the code example of the issue you're experiencing here? It would be faster to get right to the problem rather than me guessing what have you done.

Re: ATL breaks upon fast forwarding.

Posted: Sun Apr 30, 2017 1:57 am
by sirhatsley
Ok, so to be very clear, this is the result I want: I want to have 4 defined positions, right_front, right_back, left_back, and left_front.

I also want to have some extra transforms named ybounce and xshake, which add some visual flair to the dialogue.

When a character is first shown at one of the 4 positions, I want them to slide in with an alpha dissolve. When I change a character's position, I want them to move to the new position with an ease. When I hide a character, I want them to slide out with an alpha dissolve.

This is the code I am working with. It is utterly broken and I do not know why: https://1drv.ms/u/s!AlaMjgDPsW1O4V0JkebU-_uw4-7r

Re: ATL breaks upon fast forwarding.

Posted: Sun Apr 30, 2017 5:49 am
by Divona
Yes, the problem is when another transform has disrupted the transform before it while it's still active. Therefore, the earlier transform stops half way through when the new transform started. The solution is to set the position of the sprite where you want them to be before applying another transform, to prevent the previous transform stop half way through.

"on replaced" only apply to the previously shown sprite. The sprite with new transform won't wait for the previous transform to finish.

The issue seems to appears only when fast forwarding, and around the use of "ybound" and "xshake". So set the position and alpha of those sprites to where it should be before use those transform would help.

Perhaps, something like this:

Code: Select all

transform finished_left:
    xalign 0.0 alpha 1.0

transform finished_right:
    xalign 1.0 alpha 1.0

label start:

    . . .

    inky "Friends already? That's just like you, Mister."

    show pens at finished_right
    show pens at ybounce

    pens "Look the guy. He's just too darn loveable!"

    show wilbur sad at finished_left
    show wilbur sad at xshake

    wilbur "I do not like this. He is making me feel strange."

    . . .
You still have to make more finished transform for other parts like resetting the "yzoom", "xoffset", and other things that been put to linear or ease before applying a new transform to prevent the midway stop transform issue when fast forward.

Re: ATL breaks upon fast forwarding.

Posted: Sun Apr 30, 2017 2:17 pm
by sirhatsley
Thank you! That will make it work much better.