ruffle
ruffle copied to clipboard
AVM2 regression: missing clips/parts/images/animations
There was a regression with https://z0r.de/6483 (SWF) a few weeks ago. Yes, it's AVM2, but it used to work well before.
On a91273530fe4dbc2acf51afb8df72d28bcdb5bf0 the walking robot animation appears to work fine. Then on the next commit, 50546512fe9d951fd1b73907eb57a371113df0d6 it just disappears after the first frame, outputting lines like:
[2021-03-28T14:15:30Z ERROR ruffle_core::library] Tried to instantiate non-registered character ID 1
[2021-03-28T14:15:30Z ERROR ruffle_core::display_object::movie_clip] Unable to instantiate display node id 1
and:
[2021-03-28T14:15:32Z ERROR ruffle_core::display_object::container] Encountered AVM2 error when dispatching event: TypeError: undefined is not an Object
And on the commit after that, a2d56016cb9bf9e59439a605cbe48c8216f5f056, the result is the same, but the second kind of error is not printed anymore.
This is also what happens on current master
.
These commits were merged as part of #3177.
Weirdly, I don't get the error message anymore, but I still don't see the robot appear.
The file has no DoABC
so this is purely a consequence of changing the timeline order-of-events in AVM2. Some time after this bug was filed the non-registered character error went away (as far as I can tell) so now nothing is yielding any errors...
A very similar thing happens, across the same mentioned commits, with the mountains in the background of https://z0r.de/5003 (SWF).
animals_as3.zip A small but varied collection of really simple AS3 animations I use in my test bed. They have all fallen victim to these regressions in one manifestation or another.
Since then, https://z0r.de/5003 has regressed further: now the grass in the foreground also disappears.
I'm also getting an error about a getBounds()
method not being found.
Looks like https://github.com/ruffle-rs/ruffle/pull/7570 fixes this.