ruffle-rs / ruffle

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

Crash on Toy%20Tank%20Arena%20Final.swf #9357

Open rredford opened 1 year ago

rredford commented 1 year ago

Describe what you were doing

It just played though frames then crashed. toy tank arena final.zip

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

Linux Mint 21.1 (vera) [64-bit]

Additional information

Filename: Toy%20Tank%20Arena%20Final.swf

Render Info

Renderer: wgpu Adapter Backend: Vulkan Adapter Name: "NVIDIA GeForce GTX 1060 6GB" Adapter Device Type: DiscreteGpu Adapter Driver Name: "NVIDIA" Adapter Driver Info: "525.78.01" Enabled features: PUSH_CONSTANTS Available features: DEPTH_CLIP_CONTROL | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | INDIRECT_FIRST_INSTANCE | TIMESTAMP_QUERY | PIPELINE_STATISTICS_QUERY | 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 | PARTIALLY_BOUND_BINDING_ARRAY | MULTI_DRAW_INDIRECT | MULTI_DRAW_INDIRECT_COUNT | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | POLYGON_MODE_POINT | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | SHADER_FLOAT64 | 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: 32768, max_texture_dimension_2d: 32768, max_texture_dimension_3d: 16384, 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: 2147483648, max_vertex_buffers: 8, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, max_push_constant_size: 96, min_uniform_buffer_offset_alignment: 256, min_storage_buffer_offset_alignment: 32, 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 }

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.