ruffle-rs / ruffle

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

SWFs with mangled tag order play fine in original Flash Player but bug out horribly in Ruffle #9533

Open Infinity4872 opened 1 year ago

Infinity4872 commented 1 year ago

Describe the bug

Some Flash clones like Vectorian Giotto sometimes put DefineMorphShape tags before the referenced DefineShape tag. This causes no issues in the official Flash player but causes objects flicker in and out of existance in Ruffle.

Expected behavior

In the example movie, the stickman moves across the screen rocking backwards and forth in a rudimentary walk cycle.

Affected platform

Desktop app

Operating system

Windows 10

Browser

No response

Additional information

Flash Player

https://user-images.githubusercontent.com/89923528/218321018-7d92d37d-9be4-4511-b37f-173a5a3e0224.mp4

Ruffle

https://user-images.githubusercontent.com/89923528/218321133-44427c75-dd16-490d-8840-cd58c57fd672.mp4

SWF

https://drive.google.com/file/d/1KcqgY_5fx7ehIe3gUP9eSD85DMp7eVnG/view?usp=sharing

n0samu commented 1 year ago

Directly attaching the SWF file in case the Google Drive link disappears for any reason: ball test.zip