ruffle-rs / ruffle

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

Black screen on Typing Maniac #14609

Open skiesofravens opened 8 months ago

skiesofravens commented 8 months ago

Describe the bug

Running Typing Maniac results in a black screen. The game does call for a unarchived API file, however in normal Flash Player the game still runs without it.

Demo site console: image

Expected behavior

Title screen appears: image

Content Location

type.zip

Affected platform

Online demo

Operating system

Windows 10 22H2

Browser

Mozilla Firefox 121.0 (64-bit)

Additional information

Occurs on both standalone and browser.

Aaron1011 commented 8 months ago

The first issue affecting this is our incorrect handling of loader.loadBytes (most of the logic should run immediately). After that, there's something going wrong with the name argument to Proxy.getProperty/setProperty as dictionary keys (they either need to be interned QName objects, or just plain strings).

Lord-McSweeney commented 3 weeks ago

In avmplus, when accessing a Dictionary using QNames as keys, the QNames are only parsed and converted to namespace+name pairs if the code is being JITed.