ATL breaks upon fast forwarding.

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
sirhatsley
Newbie
Posts: 11
Joined: Wed Apr 26, 2017 5:36 pm
Contact:

ATL breaks upon fast forwarding.

#1 Post 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.

User avatar
Divona
Miko-Class Veteran
Posts: 678
Joined: Sun Jun 05, 2016 8:29 pm
Completed: The Falconers: Moonlight
Organization: Bionic Penguin
itch: bionicpenguin
Contact:

Re: ATL breaks upon fast forwarding.

#2 Post 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.
Completed:
Image

sirhatsley
Newbie
Posts: 11
Joined: Wed Apr 26, 2017 5:36 pm
Contact:

Re: ATL breaks upon fast forwarding.

#3 Post 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.

User avatar
Divona
Miko-Class Veteran
Posts: 678
Joined: Sun Jun 05, 2016 8:29 pm
Completed: The Falconers: Moonlight
Organization: Bionic Penguin
itch: bionicpenguin
Contact:

Re: ATL breaks upon fast forwarding.

#4 Post 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
Completed:
Image

sirhatsley
Newbie
Posts: 11
Joined: Wed Apr 26, 2017 5:36 pm
Contact:

Re: ATL breaks upon fast forwarding.

#5 Post 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.

User avatar
Divona
Miko-Class Veteran
Posts: 678
Joined: Sun Jun 05, 2016 8:29 pm
Completed: The Falconers: Moonlight
Organization: Bionic Penguin
itch: bionicpenguin
Contact:

Re: ATL breaks upon fast forwarding.

#6 Post 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.
Completed:
Image

sirhatsley
Newbie
Posts: 11
Joined: Wed Apr 26, 2017 5:36 pm
Contact:

Re: ATL breaks upon fast forwarding.

#7 Post 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

User avatar
Divona
Miko-Class Veteran
Posts: 678
Joined: Sun Jun 05, 2016 8:29 pm
Completed: The Falconers: Moonlight
Organization: Bionic Penguin
itch: bionicpenguin
Contact:

Re: ATL breaks upon fast forwarding.

#8 Post 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.
Completed:
Image

sirhatsley
Newbie
Posts: 11
Joined: Wed Apr 26, 2017 5:36 pm
Contact:

Re: ATL breaks upon fast forwarding.

#9 Post by sirhatsley »

Thank you! That will make it work much better.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot], Majestic-12 [Bot]