Dissolve inherits previous transforms in 6.99.11

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Post Reply
Message
Author
User avatar
kevinturner
Newbie
Posts: 10
Joined: Tue Mar 01, 2016 2:00 am
Projects: Human Reignition Project, Highway Blossoms
Organization: AlienWorks
Github: kevinturner
Contact:

Dissolve inherits previous transforms in 6.99.11

#1 Post by kevinturner »

I keep running into the weirdest bug that can only be explained by video:



Basically, dissolves (and I assume other transforms) now seem to inherit the first transform defined in each scene and play it every time after, causing the sprites to fly in repeatedly on each show statement. It's probably worth noting we're using the 3D camera here, which I believe was the main motivation behind changing how transforms are handled.

Additionally, trying to use saves from 6.99.11 on 6.99.10 causes a crash related to transforms. I'm not sure if they're related, but how transforms are handled has definitely changed for now:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
ImportError: No module named transform

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_main_menu.rpym", line 29, in script
    $ ui.interact()
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\ast.py", line 806, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\python.py", line 1577, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/_layout/screen_main_menu.rpym", line 29, in <module>
    $ ui.interact()
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\ui.py", line 277, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\core.py", line 2425, in interact
    repeat, rv = self.interact_core(preloads=preloads, **kwargs)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\core.py", line 3101, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 905, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\transition.py", line 45, in event
    return self.new_widget.event(ev, x, y, st) # E1101
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 905, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 905, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\screen.py", line 638, in event
    rv = self.child.event(ev, x, y, st)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 905, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\motion.py", line 817, in event
    rv = d.event(ev, cx, cy, st)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 187, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 905, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\layout.py", line 187, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\behavior.py", line 825, in event
    return handle_click(self.clicked)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\behavior.py", line 768, in handle_click
    rv = run(action)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\display\behavior.py", line 302, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_file.rpy", line 427, in __call__
    renpy.load(fn)
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\loadsave.py", line 585, in load
    roots, log = loads(location.load(filename))
  File "C:\Users\kevin\Documents\renpy-6.99.10-sdk\renpy\loadsave.py", line 57, in loads
    return pickle.loads(s)
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/pickle.py", line 1382, in loads
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/pickle.py", line 858, in load
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/pickle.py", line 1090, in load_global
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/pickle.py", line 1124, in find_class
ImportError: No module named transform

Windows-8-6.2.9200
Ren'Py 6.99.10.1227
Highway Blossoms 0.32

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Dissolve inherits previous transforms in 6.99.11

#2 Post by PyTom »

Huh. I was under the impression I had fixed this. Can you save before this scene, and send me the save file?

In general, savefiles are not compatible with older versions of Ren'Py. I don't actively try to break them, but they tend to pick up new features and implementation details (in this case, the move of Transform into its own module).
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
kevinturner
Newbie
Posts: 10
Joined: Tue Mar 01, 2016 2:00 am
Projects: Human Reignition Project, Highway Blossoms
Organization: AlienWorks
Github: kevinturner
Contact:

Re: Dissolve inherits previous transforms in 6.99.11

#3 Post by kevinturner »

Additional angle to the bug that I have found: rolling back after the bugged transitions causes them to play correctly on the second time through.

User avatar
Belgerum
Regular
Posts: 110
Joined: Thu Nov 06, 2014 12:24 am
Skype: belgerum09
Soundcloud: Belgerum
itch: Belgerum
Contact:

Re: Dissolve inherits previous transforms in 6.99.11

#4 Post by Belgerum »

I'm getting this bug as well, though it only seems to be bugged when I'm using the 3D camera. It makes the original image declarations seem to take preference over everything, unless overstated manually.

For instance, the following code makes the image begin in the center, move right, but then instantly jump back to center before moving to the left:

Code: Select all

show image onlayer middle:
    xalign 0.5 yalign 1.0
    linear 1.0 xalign 1.0
"text text text"
show image onlayer middle:
    linear 1.0 xalign 0.0
"text text text"
By manually putting in the new starting position for the image like so, one can manually override the animation to move correctly, but it's a pain in the neck to do so every time, and limits a lot of the ATL's potential:

Code: Select all

show image onlayer middle:
    xalign 0.5 yalign 1.0
    linear 1.0 xalign 1.0
"text text text"
show image onlayer middle:
    xalgin 1.0
    linear 1.0 xalign 0.0
"text text text"
Again, this only seems to be an issue when using the 3D camera. The following code works fine:

Code: Select all

show image:
    xalign 0.5 yalign 1.0
    linear 1.0 xalign 1.0
"text text text"
show image:
    linear 1.0 xalign 0.0
"text text text"

Post Reply

Who is online

Users browsing this forum: No registered users