Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Errors on Snack Dash when using website wrapper #8365

Closed
RadikAlice opened this issue Oct 24, 2022 · 5 comments
Closed

Errors on Snack Dash when using website wrapper #8365

RadikAlice opened this issue Oct 24, 2022 · 5 comments
Labels
A-avm1 Area: AVM1 (ActionScript 1 & 2) bug Something isn't working hitTest Issues involving mouse picking and hitTest unimplemented Issues for functionality that hasn't been implemented yet

Comments

@RadikAlice
Copy link

Describe the bug

Character falls through the floor

How to reproduce:

  • Load game
  • Skip version check with right click, 'Play'
  • Click 'Play Game'

Played through via https://www.newgrounds.com/portal/view/347912/format/flash?emulate=flash

Expected behavior

Game loading level graphics and collision properly

Affected platform

Browser's extension

Operating system

Windows 10

Browser

Firefox 106.0.1

Additional information

Shockwave version check also happens when played via Newgrounds Player
Collision does load properly with it, but graphics aren't right on it either
Must be due to the bypassing of the version check
Could perhaps be skipped by spoofing the expected version

@RadikAlice RadikAlice added the bug Something isn't working label Oct 24, 2022
@RadikAlice RadikAlice changed the title Errors on Snack Dash Errors on Snack Dash when using website wrapper Oct 24, 2022
@n0samu n0samu added unimplemented Issues for functionality that hasn't been implemented yet A-avm1 Area: AVM1 (ActionScript 1 & 2) hitTest Issues involving mouse picking and hitTest labels Oct 24, 2022
@n0samu
Copy link
Member

n0samu commented Oct 24, 2022

The character falls through the floor because BitmapData.hitTest is unimplemented:
[WARN ruffle_core::avm1::globals::bitmap_data] BitmapData.hitTest - not yet implemented

To make this easier to test, I've hacked out the faulty Flash Player version check. Here's the hacked SWF:
snackdash_noversioncheck.zip

The glitched graphics are actually due to a problem with Adobe Flash Player. At some point between Flash Player versions 9 and 10, something changed that broke this game. It's quite a funny coincidence, considering that the broken Flash Player version check inadvertently blocks Flash Player versions 10 and above for being less than 8. (This is a surprisingly common thing for old Flash games though - before the release of Flash Player 10, a lot of games would only check the first digit of the Flash Player version.)

Anyway, the game is perfectly playable in the Flash Player 9 projector from here: https://archive.org/details/MacromediaFlashProjectors.7z

@RadikAlice
Copy link
Author

RadikAlice commented Oct 24, 2022

Just tested the hacked version, works exactly as intended
And I see, a combination of Adobe's infinite wisdom and the classic Y2K bug-style problem
Thank you for the dedication, I lack the low-level knowledge to really help besides testing so. Thanks a ton
Had that comment ready since last night, but couldn't comment

@waspennator
Copy link

Character no longer seems to be falling through the floor as of the latest nightly now that #10209 is merged in.

Snack Dash Ruffle

@n0samu
Copy link
Member

n0samu commented Mar 21, 2023

And thanks to #8961, the player version can be spoofed, for example in the desktop player you can use the command-line option --player-version=9.

@n0samu n0samu closed this as completed Mar 21, 2023
@RadikAlice
Copy link
Author

RadikAlice commented Apr 1, 2023

Character no longer seems to be falling through the floor as of the latest nightly now that #10209 is merged in.

Downloaded the latest nightly just to test, can confirm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-avm1 Area: AVM1 (ActionScript 1 & 2) bug Something isn't working hitTest Issues involving mouse picking and hitTest unimplemented Issues for functionality that hasn't been implemented yet
Projects
None yet
Development

No branches or pull requests

3 participants