ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.56k stars 806 forks source link

Chirumiru: Display Bug #8033

Open p0008874 opened 2 years ago

p0008874 commented 2 years ago

Describe the bug

image image image image image

[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:55:36Z ERROR ruffle_core::display_object::movie_clip] Got Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) } when constructing AVM2 side of movie clip of type nineball2_fla::MainTimeline
[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::activation] AVM2 error: Cannot get undefined property "perspectiveProjection" on class Some(ClassObject { name: flash.geom::Transform, ptr: 0x20745267920 })
[2022-09-21T02:55:36Z ERROR ruffle_core::avm2::events] Error dispatching event EventObject(EventObject { type: "addedToStage", class: flash.events::Event, ptr: 0x207453ea2a0 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x20745325fd8 }))) : "Cannot get undefined property \"perspectiveProjection\" on class Some(ClassObject { name: flash.geom::Transform, ptr: 0x20745267920 })"
[2022-09-21T02:56:47Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:56:47Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:56:47Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:56:47Z ERROR ruffle_core::avm2::activation] AVM2 error: Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) }
[2022-09-21T02:56:47Z ERROR ruffle_core::display_object::movie_clip] Got Could not find script for class trait Multiname { ns: Single(Package("flash.geom")), name: Some("Matrix3D"), params: [], flags: (empty) } when constructing AVM2 side of movie clip of type nineball2_fla::A_85

On Nightly 2022-09-22

[2022-09-22T05:18:46Z ERROR ruffle_core::display_object::movie_clip] Got RustError("Could not find script for class trait Multiname { ns: Single(Package(\"flash.geom\")), name: Some(\"Matrix3D\"), params: [], flags: (empty) }") when constructing AVM2 side of movie clip of type nineball2_fla::MainTimeline
[2022-09-22T05:18:46Z ERROR ruffle_core::avm2::activation] AVM2 error: Object(ErrorObject(ErrorObject(GcCell(Gc { ptr: 0x28450ea5498 }))))
[2022-09-22T05:18:46Z ERROR ruffle_core::avm2::events] Error dispatching event EventObject(EventObject { type: "addedToStage", class: flash.events::Event, ptr: 0x28450e38e40 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x28450a8f088 }))) : AvmError(Object(ErrorObject(ErrorObject(GcCell(Gc { ptr: 0x28450ea5498 })))))
[2022-09-22T05:19:59Z ERROR ruffle_core::display_object::movie_clip] Got RustError("Could not find script for class trait Multiname { ns: Single(Package(\"flash.geom\")), name: Some(\"Matrix3D\"), params: [], flags: (empty) }") when constructing AVM2 side of movie clip of type nineball2_fla::A_85

Expected behavior

image image image image image

Affected platform

Desktop app

Operating system

Windows 10

Browser

No response

Additional information

SWF: https://web.archive.org/web/20100707002957/http://www.l-room.net/product/movie/swf/chirumiru.swf

Yuri-K7 commented 1 year ago

Strangely enough, since ruffle nightly 2023.05.08, the problematic objects doesn't display anymore at launch, but replaying at the end shows the same as before. I believe 2023.05.08 only has https://github.com/ruffle-rs/ruffle/pull/10812. Screenshot_20230508_045550 Screenshot_20230508_045645 Screenshot_20230508_045428

lots of this error :

2023-05-08T03:01:22.225514Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "frameConstructed", class: flash.events::Event, ptr: 0x555a11290518 }) to handler FunctionObject(FunctionObject { ptr: 0x555a0f3f9098 }) : ReferenceError: Error #1056: Cannot create property matrix3D on flash.geom.Transform.
        at fl.motion::Animator3D/setTime3D()
        at fl.motion::AnimatorBase/set time()
        at fl.motion::AnimatorBase$/processCurrentFrame()
        at fl.motion::AnimatorBase$/parentEnterFrameHandler()
2023-05-08T03:01:22.258445Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "frameConstructed", class: flash.events::Event, ptr: 0x555a11283cc8 }) to handler FunctionObject(FunctionObject { ptr: 0x555a0f3f9098 }) : ReferenceError: Error #1056: Cannot create property matrix3D on flash.geom.Transform.
        at fl.motion::Animator3D/setTime3D()
        at fl.motion::AnimatorBase/set time()
        at fl.motion::AnimatorBase$/processCurrentFrame()
        at fl.motion::AnimatorBase$/parentEnterFrameHandler()
2023-05-08T03:01:22.290301Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "frameConstructed", class: flash.events::Event, ptr: 0x555a112ab398 }) to handler FunctionObject(FunctionObject { ptr: 0x555a0f3f9098 }) : ReferenceError: Error #1056: Cannot create property matrix3D on flash.geom.Transform.
        at fl.motion::Animator3D/setTime3D()
        at fl.motion::AnimatorBase/set time()
        at fl.motion::AnimatorBase$/processCurrentFrame()
        at fl.motion::AnimatorBase$/parentEnterFrameHandler()

chirumiru_log.txt

Yuri-K7 commented 1 year ago

What I mentioned in my last comment has been reverted. The only errors are now (ruffle nightly 2023.06.13) :

2023-06-13T13:36:58.016719Z  INFO ruffle_core::player: Loaded SWF version 10, resolution 512x384 @ 30 FPS
2023-06-13T13:36:58.206228Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.utils.Dictionary constructor with weak keys
2023-06-13T13:36:58.282709Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.geom.Transform.perspectiveProjection getter
2023-06-13T13:36:58.282781Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "addedToStage", class: flash.events::Event, ptr: 0x557fa3876208 }) to handler FunctionObject(FunctionObject { ptr: 0x557fa3784148 }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: fieldOfView)
        at nineball_fla::MainTimeline/__setPerspectiveProjection_()
2023-06-13T13:37:06.233103Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.geom.Transform.matrix3D setter
2023-06-13T13:38:06.034173Z ERROR run_frame:run_all_phases_avm2: ruffle_core::display_object::movie_clip: Unable to instantiate display node id 455, reason being: Not a DisplayObject
2023-06-13T13:38:21.967688Z ERROR run_frame:run_all_phases_avm2: ruffle_core::display_object::movie_clip: Unable to instantiate display node id 559, reason being: Not a DisplayObject