ruffle-rs / ruffle

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

Plants vs. Zombies DEMO #8879

Closed p0008874 closed 1 year ago

p0008874 commented 1 year ago

Describe the bug

White screen only

[2022-12-21T06:09:32Z ERROR ruffle_core::display_object::movie_clip] Got RustError("Property does not exist: Multiname { ns: Single(Namespace(\"flash.utils\")), name: Some(\"describeType\"), params: [], flags: (empty) }") when constructing AVM2 side of movie clip of type com.popcap.flash.games.pvz::PVZFlash
[2022-12-21T06:09:32Z ERROR ruffle_core::avm2::events] Error dispatching event EventObject(EventObject { type: "complete", class: flash.events::Event, ptr: 0x17ade4d3d70 }) to handler FunctionObject(FunctionObject(GcCell(Gc { ptr: 0x17ade737ab8 }))) : RustError("Attempted to call \"\" with 1 arguments (more than 0 is prohibited)")

Expected behavior

Should startup as normal

Affected platform

Desktop app

Operating system

Windows 10

Browser

No response

Additional information

Multi-assets, can be found on BlueMaxima's Flashpoint.

n0samu commented 1 year ago

Now the error is:

ERROR ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "complete", class: flash.events::Event, ptr: 0x1ed9299c5d0 }) to handler FunctionObject(FunctionObject { ptr: 0x1ed966415d0 }) : ReferenceError: Error #1069: Property setProperty not found on flash.net.SharedObject and there is no default value.
        at com.popcap.flash.framework::AppBase/setSaveData()
        at com.popcap.flash.games.pvz::PVZApp/GetPlayerData()
        at com.popcap.flash.games.pvz::PVZApp/start()
        at com.popcap.flash.framework::AppBase/handleDataLoaded()
p0008874 commented 1 year ago

https://github.com/ruffle-rs/ruffle/assets/75534590/96149de6-02f7-4ac9-92a8-c03f3ba6172b

2023-05-21T15:11:29.939897Z  INFO ruffle_core::player: Loaded SWF version 10, resolution 540x405 @ 30 FPS
2023-05-21T15:13:48.069581Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.utils.Dictionary constructor with weak keys
2023-05-21T15:13:48.073915Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.display.InteractiveObject.tabIndex setter
2023-05-21T15:13:48.076490Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.media.Sound constructor with arguments
2023-05-21T15:13:48.076704Z  WARN run_frame:run_all_phases_avm2: ruffle_core::stub: Encountered stub: AVM2 flash.media.Sound.load() with context
2023-05-21T15:13:48.134512Z  WARN ruffle_core::stub: Encountered stub: AVM2 flash.net.SharedObject.setProperty()
2023-05-21T15:14:06.821487Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x28097f5c108 }) to handler FunctionObject(FunctionObject { ptr: 0x2808631f408 }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: visible)
        at com.popcap.flash.games.pvz.states.mainmenu::MainMenuState/update()
        at com.popcap.flash.framework.states::CStateManager/update()
        at com.popcap.flash.framework::AppBase/updateStep()
        at com.popcap.flash.framework::AppBase/handleFrame()
Lord-McSweeney commented 1 year ago

The important error is this one:

2023-05-21T16:28:37.054439Z ERROR ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "mouseUp", class: flash.events::MouseEvent, ptr: 0x563b56942bc8 }) to handler FunctionObject(FunctionObject { ptr: 0x563b49f97938 }) : Error: Reanimation type 'REANIM_SELECTORSCREEN' is not loaded!
    at com.popcap.flash.framework.resources.reanimator::Reanimator/createReanimation()
    at com.popcap.flash.games.pvz.states.mainmenu::MainMenuState/initMenuReanim()
    at com.popcap.flash.games.pvz.states.mainmenu::MainMenuState/onEnter()
    at com.popcap.flash.framework.states::CStateManager/changeState()
    at com.popcap.flash.games.pvz.states.loading::TitleScreenState/StartSession()
    at com.popcap.flash.games.pvz::MSNAdAPI/SessionReady()
    at com.popcap.flash.games.pvz.states.loading::TitleScreenState/buttonRelease()
    at com.popcap.flash.framework.widgets.ui::CButtonWidget/onMouseUp()
    at com.popcap.flash.framework.widgets::CWidgetManager/doMouseUp()
    at com.popcap.flash.framework::AppBase/handleMouseUp()

after which come several

2023-05-21T16:28:37.055483Z ERROR ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x563b56a686e8 }) to handler FunctionObject(FunctionObject { ptr: 0x563b4b0a8418 }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: visible)
    at com.popcap.flash.games.pvz.states.mainmenu::MainMenuState/update()
    at com.popcap.flash.framework.states::CStateManager/update()
    at com.popcap.flash.framework::AppBase/updateStep()
    at com.popcap.flash.framework::AppBase/handleFrame()
2023-05-21T16:28:37.057769Z ERROR ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x563b56a216b8 }) to handler FunctionObject(FunctionObject { ptr: 0x563b4b0a8418 }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: visible)
    at com.popcap.flash.games.pvz.states.mainmenu::MainMenuState/update()
    at com.popcap.flash.framework.states::CStateManager/update()
    at com.popcap.flash.framework::AppBase/updateStep()
    at com.popcap.flash.framework::AppBase/handleFrame()
p0008874 commented 1 year ago

Level 2-1 Freeze.

https://github.com/ruffle-rs/ruffle/assets/75534590/e9071ecd-3da8-4bcb-90d9-9ea88eb2901a

2023-05-22T12:24:58.710231Z ERROR run_frame:run_all_phases_avm2: ruffle_core::avm2::events: Error dispatching event EventObject(EventObject { type: "enterFrame", class: flash.events::Event, ptr: 0x1bc0825be98 }) to handler FunctionObject(FunctionObject { ptr: 0x1bc732b3e08 }) : TypeError: Error #1009: Cannot access a property or method of a null object reference. (accessing field: MouseHitTest)
        at com.popcap.flash.games.pvz.logic::SeedBank/MouseHitTest()
        at com.popcap.flash.games.pvz.logic::Board/MouseHitTest()
        at com.popcap.flash.games.pvz.logic::Board/UpdateCursor()
        at com.popcap.flash.games.pvz.logic::Board/UpdateMousePosition()
        at com.popcap.flash.games.pvz.logic::Board/update()
        at com.popcap.flash.framework.widgets::CWidgetContainer/updateAll()
        at com.popcap.flash.framework.widgets::CWidgetContainer/updateAll()
        at com.popcap.flash.framework.widgets::CWidgetManager/updateFrame()
        at com.popcap.flash.games.pvz.states.playing::LevelIntroState/update()
        at com.popcap.flash.framework.states::CStateManager/update()
        at com.popcap.flash.framework::AppBase/updateStep()
        at com.popcap.flash.framework::AppBase/handleFrame()

https://dmca.zip/petkpe9un6vl.sol Rename save file to pvz.sol

p0008874 commented 1 year ago

Anything is fine now but performance was so bad I had to cheat.

plantsman4444 commented 11 months ago

umm i keep getting this thing called changedir idk what it is