Aaron Hill
cc567c4e40
agal: Correctly check vertex_input_expressions cache
...
We need to use the same logic that we use for `get_varying_pointer`,
since the AGAL shader can access vertex inputs in any order.
2023-05-23 17:20:29 -05:00
Crowdin Bot
fe4475d553
chore: Update translations from Crowdin
2023-05-23 00:05:58 +02:00
Nathan Adams
afa78ebdfe
avm1: Correctly send onUnload events for movies unloaded with GetURL2 - fixes #2422
2023-05-22 23:41:41 +02:00
Aaron Hill
ace87861ce
avm2: Make ByteArray.readMultiByte cut string off at null byte
...
We already had this behavior in `readUTF` and `readUTFBytes`,
but we need it in `readMultiByte` as well.
2023-05-22 16:01:50 -05:00
nosamu
91330d4a9f
desktop: Fire both KeyDown and TextControl events
...
Fixup for #11059 , which broke left/right arrows on desktop
2023-05-22 21:24:35 +02:00
Aaron Hill
b94f9f3043
avm2: Coerce function return value to declared return type
...
This can actually affect runtime behavior - if the return type is
declared as 'int', then an instance of a custom class will get
coerced to 0 when returned by the function.
'Plants vs Zombies Demo' relies on this - it has a function which
incorrectly returns an object instead of an array index, but the
value gets silently coerced to 0 under Flash Player.
2023-05-22 13:47:32 -05:00
renovate[bot]
5d2477fe98
chore(deps): lock file maintenance rust dependencies
2023-05-22 19:12:08 +03:00
iwannabethedev
18ea71959b
tests: Add test for XML/XMLList hasSimpleContent/hasComplexContent
2023-05-22 06:17:37 -05:00
nosamu
bb15c90d82
avm2: Implement XML.hasSimpleContent and hasComplexContent
2023-05-22 06:17:37 -05:00
Crowdin Bot
fde4c99560
chore: Update translations from Crowdin
2023-05-22 08:51:22 +03:00
renovate[bot]
b8c56a1b89
chore(deps): lock file maintenance
2023-05-22 08:12:12 +03:00
Aaron Hill
6ac4e5256d
avm2: Check parent domain in export_class
...
The `export_class` function mirrors `export_definition`, and needs
to avoid exporting something already defined in a parent domain.
2023-05-21 17:37:54 -05:00
relrelb
c230dcf0f8
avm1: Migrate `BitmapData` to `NativeObject`
2023-05-21 21:02:14 +03:00
Aaron Hill
5d48484d99
agal: Add support for indirect register loads
...
These are poorly documented, but from looking at OpenFL
and AGALMiniAssembler, they allow performing loads of the
form `vc[va0.x + offset]` - that is, computing a dynamic register
number, instead of using the register number present in the opcode.
2023-05-21 09:40:11 -05:00
nosamu
7dfc36c6fc
web: Support pasting from clipboard
2023-05-21 15:26:42 +02:00
nosamu
ee956927b7
core: Fix TextField.maxChars handling and address other reviews
2023-05-21 15:26:42 +02:00
nosamu
4e579b7e68
core: Move left/right arrow handling to `text_control_input`
2023-05-21 15:26:42 +02:00
nosamu
0dbb4c46e4
core: Move `Delete` and `Backspace` handling to `text_control_input()`
...
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
nosamu
fab72ac01c
core: Implement handling of text control input
...
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
jmckiern
67d74047a9
core: Add clipboard_content getter
2023-05-21 15:26:42 +02:00
Aaron Hill
95b0b29310
avm2: Initial implementation of URLStream
...
This is based on URLLoader, and doesn't actualy 'stream' data -
it all becomes available once the request finishes. However, this
is good enough to get Sniper Team working.
2023-05-21 15:00:08 +02:00
TÖRÖK Attila
65117499fd
chore: Bump regress and toml dependencies
2023-05-21 14:42:01 +02:00
Nathan Adams
2b7d0f223a
chore: Update Cargo.lock
2023-05-21 12:28:48 +02:00
TÖRÖK Attila
e54f3fef8a
tests: Make the audio backend tick every frame in the runner
2023-05-21 09:50:07 +02:00
Aaron Hill
54cf9065fb
core: Don't create a fake root clip when instantiating Stage
...
AVM2 can handle a missing root movie, and AVM1 doesn't seem
to rely on having a root movie during Stage initialization.
2023-05-21 08:11:11 +03:00
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