ruffle-rs / ruffle

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

Crash on quiz.swf #13172

Closed SuperCowProducts closed 10 months ago

SuperCowProducts commented 1 year ago

Describe what you were doing

swf file

Direct Download Link: https://web.archive.org/web/20201127014438mp_/http://www.classtools.net/main_area/quiz.swf Uploaded File (has been zipped): quiz.swf.zip

Steps to reproduce

1. % ruffle path/to/quiz.swf

2. Interact with GUI:

-press "Example" -press "Play!"

Notice: A. It will fail after: -press "Manic Miner" B. It won't faile after: -press "Matching Pairs" / "Wordshoot" / "Flashcards" / "CannonBall Fun"

Expected behaviour

This is an example of the game working after pressing "Manic Miner": https://web.archive.org/web/20190911120652/http://www.zut.org.uk/30969.html Notes: -in this example the swf file has been embedded in the web page: notice, by opening web inspector and selecting the element "canvas", the following snippet: <ruffle-embed src="https://web.archive.org/web/20201008181205mp_/http://www.classtools.net/main_area/quiz.swf" [...some more code...] </ruffle-embed>

The "src" happens to be where I downloaded the swf file in the first place.

What does the crash message say?

panicked at 'assertion failed: self.mask_index_count.is_none()', render/src/tessellator.rs:129:17

Ruffle Version

0.1.0-nightly (53199a51164ce338a259f1dba5a850eb7280cf92 2023-09-11)

Affected platform

Desktop app

Operating system

Mac OS 13.4.1 [64-bit]

Additional information

Filename: quiz.swf

Render Info

Renderer: wgpu Adapter Backend: Metal Adapter Name: "Apple M2" Adapter Device Type: IntegratedGpu Adapter Driver Name: "" Adapter Driver Info: "" Enabled features: Features(TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | PUSH_CONSTANTS) Available features: Features(DEPTH_CLIP_CONTROL | INDIRECT_FIRST_INSTANCE | SHADER_F16 | RG11B10UFLOAT_RENDERABLE | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | TEXTURE_COMPRESSION_ETC2 | TEXTURE_COMPRESSION_ASTC | TEXTURE_FORMAT_16BIT_NORM | TEXTURE_COMPRESSION_ASTC_HDR | MAPPABLE_PRIMARY_BUFFERS | TEXTURE_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 | ADDRESS_MODE_CLAMP_TO_ZERO | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | SHADER_PRIMITIVE_INDEX) 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: 1000, 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: 0, 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: 0, max_vertex_buffers: 8, max_buffer_size: 268435456, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, min_uniform_buffer_offset_alignment: 256, min_storage_buffer_offset_alignment: 256, 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_push_constant_size: 96 } Surface quality: low Surface samples: 1 Surface size: Extent3d { width: 1600, height: 1200, depth_or_array_layers: 1 }

Lord-McSweeney commented 1 year ago

If you compile Ruffle with --release this error should disappear.