ruffle-rs / ruffle

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

Need click to start to play - https://www.4399.com/flash/45046_2.htm #16494

Closed wsxarcher closed 4 months ago

wsxarcher commented 4 months ago

Describe the bug

Black screen

WARN core\src\backend\audio\decoders.rs:58 make_decoder: PCM sound is unknown endian; assuming little endian
269.js:1049 WARN core\src\display_object\movie_clip.rs:4507 DoAction tag in AVM2 movie
69.js:1049 ERROR core\src\avm2\events.rs:428 Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x6ef11a0 }) to handler FunctionObject(FunctionObject { ptr: 0x255da90, name: Ok("Main/loadOver()") }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: loadingBar)   at Main/loadOver()
69.js:1049 ERROR core\src\avm2\events.rs:428 Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x70ded10 }) to handler FunctionObject(FunctionObject { ptr: 0x255da90, name: Ok("Main/loadOver()") }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: loadingBar)   at Main/loadOver()
69.js:1049 ERROR core\src\avm2\events.rs:428 Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x78ba698 }) to handler FunctionObject(FunctionObject { ptr: 0x255da90, name: Ok("Main/loadOver()") }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: loadingBar)   at Main/loadOver()

Expected behavior

Load the game

Content Location

https://www.4399.com/flash/45046_2.htm

Affected platform

Browser's extension

Operating system

Window 11

Browser

Edge/Chrome 125

Additional information

This game is part of a bigger effort to support 4399.com games. There might be other issues with this website, from how it handles Flash checks and many CORS issues. Unfortunately, some games cannot be easily debugged on desktop because the swf download other swf or do requests while logged in.

If Ruffle is not detected try to reload the page multiple times because of the known race condition on the Flash check. To avoid refreshing try this Tampermonkey user script 一键下载 flash 游戏 (greasyfork.org)

To solve these issues refers to previous issues such as:

wsxarcher commented 4 months ago

Game actually works fine on Desktop and Ruffle demo website. Only on 4399.com, after the loading bar finishes, you just see a black screen and you need to click to proceed to play. It could be a problem of interop with the website to show ads.

Dinnerbone commented 4 months ago

Works for me, no black screen