ruffle-rs / ruffle

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

Crash on Bowja3NinjaKami.swf #9230

Open Pranav-FP opened 1 year ago

Pranav-FP commented 1 year ago

Describe what you were doing

Ruffle Version - https://github.com/ruffle-rs/ruffle/releases/download/nightly-2023-01-20/ruffle-nightly-2023_01_20-windows-x86_64.zip

SWF - https://web.archive.org/web/20190930094507/http://www.pencilkids.com/games/Bowja3NinjaKami.swf

What does the crash message say?

panicked at 'No script object for display object', core\src\avm1\activation.rs:379:18

Ruffle Version

0.1.0-nightly (f19e31d 2023-01-18)

Affected platform

Desktop app

Operating system

Windows 10.0.22621 (Windows 11 Professional) [64-bit]

Additional information

Filename: Bowja3NinjaKami.swf

Render Info

Renderer: wgpu Adapter Backend: Vulkan Adapter Name: "Intel(R) Iris(R) Xe Graphics" Adapter Device Type: IntegratedGpu Adapter Driver Name: "Intel Corporation" Adapter Driver Info: "Intel driver" Enabled features: PUSH_CONSTANTS Available features: DEPTH_CLIP_CONTROL | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | TEXTURE_COMPRESSION_ETC2 | TEXTURE_COMPRESSION_ASTC_LDR | INDIRECT_FIRST_INSTANCE | TIMESTAMP_QUERY | PIPELINE_STATISTICS_QUERY | SHADER_FLOAT16 | MAPPABLE_PRIMARY_BUFFERS | TEXTURE_BINDING_ARRAY | BUFFER_BINDING_ARRAY | STORAGE_RESOURCE_BINDING_ARRAY | SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING | UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING | MULTI_DRAW_INDIRECT | MULTI_DRAW_INDIRECT_COUNT | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | POLYGON_MODE_POINT | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | CONSERVATIVE_RASTERIZATION | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | SPIRV_SHADER_PASSTHROUGH | SHADER_PRIMITIVE_INDEX | MULTIVIEW | TEXTURE_FORMAT_16BIT_NORM | ADDRESS_MODE_CLAMP_TO_ZERO | WRITE_TIMESTAMP_INSIDE_PASSES Current limits: Limits { max_texture_dimension_1d: 16384, max_texture_dimension_2d: 16384, max_texture_dimension_3d: 2048, max_texture_array_layers: 256, max_bind_groups: 4, max_bindings_per_bind_group: 640, max_dynamic_uniform_buffers_per_pipeline_layout: 8, max_dynamic_storage_buffers_per_pipeline_layout: 0, max_sampled_textures_per_shader_stage: 16, max_samplers_per_shader_stage: 16, max_storage_buffers_per_shader_stage: 1048576, max_storage_textures_per_shader_stage: 0, max_uniform_buffers_per_shader_stage: 11, max_uniform_buffer_binding_size: 16384, max_storage_buffer_binding_size: 1073741820, max_vertex_buffers: 8, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, max_push_constant_size: 96, min_uniform_buffer_offset_alignment: 64, min_storage_buffer_offset_alignment: 64, max_inter_stage_shader_components: 60, max_compute_workgroup_storage_size: 0, max_compute_invocations_per_workgroup: 0, max_compute_workgroup_size_x: 0, max_compute_workgroup_size_y: 0, max_compute_workgroup_size_z: 0, max_compute_workgroups_per_dimension: 0, max_buffer_size: 268435456 } Surface samples: 4 Surface size: Extent3d { width: 800, height: 600, depth_or_array_layers: 1 }

Lord-McSweeney commented 1 year ago

This isue occurs on web, too.

n0samu commented 1 year ago

This is an AVM1 game encrypted with MochiCrypt, which uses AVM2. Ruffle does not correctly play AVM1 movies loaded by AVM2 movies right now. If the original AVM1 movie is extracted from the MochiCrypt wrapper and played on its own, Ruffle works fine.