Commit Graph

9396 Commits

Author SHA1 Message Date
renovate[bot] af23ec0a03 chore(deps): lock file maintenance 2023-05-21 07:54:11 +03:00
Lord-McSweeney 7c9b0378f6 nit: avm2: Fix stub message in Socket 2023-05-21 07:31:50 +03:00
renovate[bot] 7190c42e31 chore(deps): lock file maintenance 2023-05-21 07:15:36 +03:00
iwannabethedev 7b12cb882f core: Fix error message in 'pixelDissolve()'. 2023-05-21 01:47:06 +02:00
iwannabethedev 0f30b378b0 core: Re-arrange internal implementation of 'pixelDissolve()'. 2023-05-21 01:47:06 +02:00
iwannabethedev deae231176 core: Clean up TODOs in 'pixelDissolve()'. 2023-05-21 01:47:06 +02:00
iwannabethedev e74a543ebb core: Add visual test for 'pixelDissolve()' for AVM1. 2023-05-21 01:47:06 +02:00
iwannabethedev 9fa79a187e core: Fix wrong test print in test. 2023-05-21 01:47:06 +02:00
iwannabethedev 6f98d39c25 core: Implement 'pixelDissolve()' for AVM1. 2023-05-21 01:47:06 +02:00
iwannabethedev 40c40f278c core: 'pixelDissolve()' bug fix and clean-up. 2023-05-21 01:47:06 +02:00
iwannabethedev 1bd9f82496 core: Implements `BitmapData.pixelDissolve()` for AVM2.
The changes have automated tests for them.

The implementation has not been implemented or tested for AVM1 yet.
2023-05-21 01:47:06 +02:00
Aaron Hill ad77cb0209 core: Refactor Loader to properly load images
We now run all of the completion logic (including adding
the new DisplayObject as a child) in `Loader::movie_loader_complete`.
Previously, some of this logic was run from `Loader::preload_tick`,
which meant that loaded images did not have the logic run.

Also, `BitmapData` and `Bitmap` instances (with corresponding AVM2
objects) are now properly constructed for loaded images.
2023-05-20 18:35:10 -05:00
Toad06 b88e19ef6c avm1: Filter buttons that use a `keyPress` event 2023-05-21 01:13:26 +02:00
Aaron Hill 5d62ef90f2 wgpu: Use intermediate buffer for Context3DCommand::CopyBitmapToTexture
In a previous PR, I introduced an optimization that used
`copy_texture_to_texture` to copy directly from a BitmapData GPU
texture to a Stage3D GPU texture.

Unfortunately, this optimization is incorrect. A BitmapData GPU
texture can be modified at any time by normal AVM2 code - in
particular, in might be modified before we submit the encoded
`copy_texture_to_texture` command. This shows up in Sniper Team,
which re-uses BitmapData objects for multiple distinct textures.
The previous 'optimization' resulted in the wrong BitmapData contents
getting uploaded to a texture (since it was changed before the copy
command was submitted).
2023-05-20 17:38:26 -05:00
Toad06 0ff4f26db9 extension: Add a button to reset settings 2023-05-21 00:03:19 +02:00
TÖRÖK Attila fa90ea9cc2 tests/visual: Save color and alpha difference in separate images
So the whole thing isn't invisible if the alpha channels matches.
Also only save the alpha difference if there is any.
2023-05-20 23:41:56 +02:00
TÖRÖK Attila 3d0b8cc849 tests/visual: Save actual image even if size is wrong
This should help with creating the initial expected image
when making new tests.
2023-05-20 23:41:56 +02:00
Aaron Hill 0864853d44 avm2: Allow passing `null` to `Context3D.setProgram`
This clears the vertex and fragment shader programs
(bringing the Context3D back to its initial state).
2023-05-20 16:23:03 -05:00
EmperorBale 53acdee979 avm2: Remove NOPMD comments 2023-05-20 13:59:12 -07:00
EmperorBale 78c8aa2a0d core: Remove linter code 2023-05-20 13:59:12 -07:00
EmperorBale 79966e3d62 ci: Remove lint check 2023-05-20 13:59:12 -07:00
renovate[bot] 2ca0140192 chore(deps): lock file maintenance node.js dependencies 2023-05-20 23:41:57 +03:00
Eva b10c9dc238 exporter: Support outputting to stdout
When using - as an output filename. Only supports single-frame output.
2023-05-20 14:27:52 -05:00
Tom Schuster 2493194d2f tests: Test XMLList set 2023-05-19 20:10:47 -05:00
Tom Schuster 2af58dc832 avm2: Support set on XMLList with a single child
XMLList with a single child should behave like an XML object.
2023-05-19 20:10:47 -05:00
Crowdin Bot 6a00475358 chore: Update translations from Crowdin 2023-05-20 00:12:12 +02:00
Lord-McSweeney 0948bf7bbd avm2: Implement Capabilities.playerType and Capabilities.version (and mark the other Capabilities getters as stubs) 2023-05-19 16:54:46 -05:00
Aaron Hill 6025878aab avm2: Respect SKIP_INVISIBLE for DisplayObject
Previously, we allowed mouse picks of certain invisible
DisplayObjects, even when HitTestOptions::SKIP_INVISIBLE
was set.
2023-05-19 08:12:00 -05:00
nosamu 330766d668 ci: Use GitHub CLI instead of deprecated actions 2023-05-19 14:51:03 +03:00
Aaron Hill 5c68bceb7b avm2: Set 'bubbles' to 'false' for rollOut and rollOver events
This matches the Flash Player documentation. Since we were
manually traversing the displayobject hierarching when firing
the event, we ended up firing duplicate events to parents
because bubbling was enabled.
2023-05-18 19:01:55 -05:00
Toad06 4092e70bf4 extension: Remove "tabs" permission 2023-05-19 01:03:28 +02:00
Aaron Hill 7619594b1c agal: Implement Float1 to vec4f conversion 2023-05-18 16:12:22 -05:00
nosamu 77f2875898 extension: Set charset attribute of script tag instead of escaping characters 2023-05-18 22:39:06 +02:00
Aaron Hill 7004e98b23 avm2: Don't validate Context3DVertexBufferFormat when buffer is null
This matches Flash Player's behavior - some SWFS try to pass in 'null'
for both the buffer and format.
2023-05-18 15:14:29 -05:00
Crowdin Bot e3da17b426 chore: Update translations from Crowdin 2023-05-18 13:01:57 +02:00
Toad06 b9abc463d6 web: Minor improvements to the extension player page 2023-05-18 03:34:19 +03:00
iwannabethedev 8cd5414c5d
Fix overflow bug in `shape_utils::winding_number_line()` 2023-05-17 07:21:13 +03:00
renovate[bot] f969bdce71 fix(deps): update wasm-bindgen 2023-05-17 06:44:50 +03:00
Crowdin Bot 7c954925ba chore: Update translations from Crowdin 2023-05-17 02:36:40 +02:00
Aaron Hill 75569e1311 avm2: Throw error for invalid Stage3D back buffer size 2023-05-16 17:36:22 -05:00
renovate[bot] 82c61b5a52 chore(deps): update node.js dependencies 2023-05-16 22:57:24 +02:00
Nathan Adams e44ff69be4 ci: Add crowdin github actions 2023-05-16 22:25:54 +02:00
Daniel Jacobs 56afce2e3a web: Fix localStorage check on Firefox when dom.storage.enabled is false 2023-05-16 22:10:42 +03:00
Toad06 19c0bb14d5 web: Only minify ascii characters on selfhosted builds 2023-05-16 21:39:40 +03:00
Toad06 aac0c43372 swf: Bail out if swf version is 0 2023-05-16 20:23:23 +02:00
relrelb 1065662e84 web: Use `JsValue::from_bool()` 2023-05-15 21:04:47 +03:00
Aaron Hill 12e815d383 core: Take 'self' instead of '&mut self' in `replace_with_movie` 2023-05-15 20:01:02 +03:00
Aaron Hill bd2be88711 wgpu: Fix MSAA and depth buffer handling in SetRenderToTexture
When multisampling is enabled, we should create a new multisampled texture,
and use the existing texture as the resolve buffer. We also need to
call `update_has_depth_texture` to keep our pipeline aware of whether
or not we currently have a depth buffer attached.

Makes progress on #10641 (it has a stack overflow after
this PR, due to an unrelated issue).
2023-05-15 09:34:30 -05:00
Toad06 55c7a4b895 extension: Don't say that Ruffle cannot load on "player.html" 2023-05-15 16:22:29 +03:00
Toad06 dd4c805e70 web: Escape non-ASCII characters to prevent issues on non-UTF-8 encoded pages
Co-Authored-By: relrelb <relrelb@users.noreply.github.com>
2023-05-15 11:57:05 +03:00