David Wendt
27e1e1477a
tests: Update the seek test as we now wind up on a different frame.
2023-12-09 12:19:10 -07:00
sleepycatcoding
742ccaf705
avm2: Correctly set the return type of AS defined native methods
...
Previously, the return type of ActionScript defined native methods was always incorrectly set to the any (`*`) type.
2023-12-09 18:32:31 +01:00
renovate[bot]
40b92e69f7
fix(deps): update rust dependencies
2023-12-05 21:08:16 +01:00
TÖRÖK Attila
82d61faa2c
avm2: Use explicitly wrapping integer arithmetic operations
2023-12-03 16:34:27 +01:00
Aaron Hill
656d41f022
tests: Add tests for early SimpleButton allocation
2023-11-30 12:49:32 -08:00
Aaron Hill
58fe23857b
tests: Add missing test class files
...
This does not change the test behavior
2023-11-30 12:49:32 -08:00
Lord-McSweeney
1ce3ec636a
avm2: Prevent `AVM1Movie`s from being moved around in the DO hierarchy
2023-11-30 07:12:37 -08:00
Lord-McSweeney
4eec6afc0e
tests: Add a test for AVM1 loading AVM2
2023-11-30 07:12:37 -08:00
Lord-McSweeney
b2bd91d0ac
tests: Add a test for AVM1 in AVM2
2023-11-30 07:12:37 -08:00
Aaron Hill
7289a8bd95
naga-agal: Zero-extend input vectors for cross-product
...
This matches the behavior of Flash Player
2023-11-30 01:15:21 +01:00
renovate[bot]
6da223a875
fix(deps): update rust dependencies
2023-11-27 09:44:47 +01:00
Aaron Hill
e0998642f6
core: Divide by 255 in blend_over calculation
...
This prevents the value from being changed when blending a
source pixel of 0x0 over a destination pixel (with alpha).
2023-11-25 22:29:30 +01:00
Lord-McSweeney
f41059a60a
avm2: Version-gate `JSON` to SWFv13 and above
2023-11-25 13:15:42 -08:00
Aaron Hill
f12f457f5d
avm2: Fix handling of public indices with nested iteration
...
This more closely aligns our code with the corresponding avmplus code.
A user-supplied index of '0' is special-cased, and we correctly
resume iteration when a public index mismatch is detected.
2023-11-25 21:34:48 +01:00
MrCheeze
5920a6426e
core: Allow Regular/Bold/Italic device fonts to be registered separately
2023-11-24 17:08:35 +01:00
sleepycatcoding
7be2eae4b8
avm2: Implement QName enumeration
2023-11-23 19:25:08 +01:00
Aaron Hill
c920ceba51
avm2: Set RUNNING_CONSTRUCT_FRAME flag inside DisplayObject ctor
...
This ensures that this flag is set regardless of whether the
object is constructed by the timeline or from ActionScript
(it was previously only set when constructed by the timeline).
2023-11-23 10:36:37 -05:00
Robin Allen
253b1df928
Add failing test for bug involving constructor call order
2023-11-23 10:36:37 -05:00
Robin Allen
cad162121b
core: Fix MorphShape inaccuracy on complex paths ( #14089 )
...
* core: Fix MorphShape inaccuracy on complex paths
It's inaccurate to interpolate the moveTo/lineTo deltas individually
because on complex paths they're often small integers, which won't
interpolate smoothly.
Instead, interpolate absolute positions.
2023-11-21 12:41:45 +00:00
MrCheeze
d23d16cb11
avm2: Report ProgressEvent when a sound is loaded ( close #8932 )
2023-11-20 16:14:03 -08:00
renovate[bot]
7757d060ff
fix(deps): update rust dependencies to v2
2023-11-20 09:03:08 +01:00
Lord-McSweeney
5be2eb499a
avm1: Copy `Activation`'s local register set when running a `catch`
2023-11-19 10:15:36 -08:00
sleepycatcoding
a78a67ee24
avm2: Implement [[HasProperty]] for XMLList
2023-11-16 16:09:37 -05:00
Nathan Adams
3a55b3a5fc
tests: Clean up main method a bit
2023-11-13 22:28:10 +01:00
Nathan Adams
d6f16b0be5
tests: Make tests use a virtual filesystem, which currently maps to the regular physical FS rooted in a test directory
2023-11-13 22:28:10 +01:00
Tom Schuster
c7a1e1178a
avm2: TLF GroupElement tests
2023-11-13 21:59:29 +01:00
renovate[bot]
32c65e6460
fix(deps): update rust dependencies
2023-11-13 09:10:26 +01:00
Aaron Hill
1501a858f6
avm2: Improve E4XNode::matches_name
...
Avmplus constructs a full `QName`, and uses the normal
Multiname matching logic. This would be a large refactor,
so I've just modified the existing method to properly
handle multiple namespaces.
I've also included a closely related fix - we should only treat
a multiname with the literal local name "@foo" as an attribute
when the namespace is the empty public namespace. We were incorrectly
reparsing multinames that contained multiple namespaces.
2023-11-12 17:38:56 -05:00
Aaron Hill
c360d45729
avm2: Use 'has_own_property' to check for prop in 'resolve_definition'
...
If Actionscript explicitly sets the property to 'undefined', we
should still succeed.
2023-11-12 00:38:35 +01:00
Lord-McSweeney
1bb2422595
avm2: Correctness fixes to AMF serialization ( #13537 )
...
Fixes some cases where `amf::serialize_value` returns `None`
---------
Co-authored-by: Lord-McSweeney <Lord-McSweeney@github.com>
2023-11-10 17:59:26 -08:00
sleepycatcoding
e8ccbf4e2c
avm2: Support enumeration for XML objects
...
Previously, iterating the XML object would iterate the prototype. This broke filtering expressions on XML objects, which should work.
2023-11-10 22:50:19 +01:00
Nathan Adams
eb72cfb498
tests: Removed the need for test framework to depend on libtest_mimic
2023-11-10 22:02:18 +01:00
Nathan Adams
2b450af8d5
tests: Test framework doesn't need walkdir
2023-11-10 22:02:18 +01:00
Nathan Adams
7b7785e56d
tests: Allow multiple renderers to handle a single test
2023-11-10 22:02:18 +01:00
Nathan Adams
8697a313ac
tests: Move rendering interface into its own trait
2023-11-10 22:02:18 +01:00
Nathan Adams
86939e0e82
tests: Move TestUiBackend to backends/ui.rs
2023-11-10 22:02:18 +01:00
Nathan Adams
bce0608e1f
tests: Move all wgpu code out of test framework, make it abstract over any/no renderer, and make wgpu option if imgtests isn't enabled
2023-11-10 22:02:18 +01:00
Nathan Adams
c36f4cfe95
tests: Move PrettyString out of lib
2023-11-10 22:02:18 +01:00
Nathan Adams
8a85a24213
tests: Move TestLogBackend to backends/log.rs
2023-11-10 22:02:18 +01:00
Nathan Adams
6a413e28f7
tests: Move TestAudioBackend to backends/audio.rs
2023-11-10 22:02:18 +01:00
Nathan Adams
d1713010d2
tests: Move TestNavigatorBackend to backends/navigator.rs
2023-11-10 22:02:18 +01:00
Nathan Adams
2a2a717a06
tests: Appease clippy by implementing Default for some backends
2023-11-10 22:02:18 +01:00
Nathan Adams
673d52f013
tests: Move test framework into its own crate
2023-11-10 22:02:18 +01:00
Aaron Hill
c821d0564e
avm2: Use class aliases to serialize Vector type
...
This allows us to round-trip `Vector.<CustomType>` when
`CustomType` has an alias registered.
2023-11-09 22:01:59 -05:00
Aaron Hill
7110be920c
Suport uploading ATFTextureData::CompressedRawAlpha
...
Fortunately, this is very simple - we can just take
the DXT5 data and upload it directly to the wgpu texture.
2023-11-10 02:00:40 +01:00
Aaron Hill
2cb1efca8c
avm2: Improve AVM2 button construction handling
...
An Avm2 button appears to run a 'nested frame' during construction -
the same type of 'nested frame' performed by a goto. This will
run framescripts for all objects in the display hierarchy (including
orphans), resulting in an unusual child->parent framescript execution
order that DeathVsMonstars_decrypted.swf depends on.
2023-11-10 01:33:07 +01:00
Daniel Jacobs
33e9227a50
tests: Bump tolerance of acid_color_0 to accommodate runner discrepancy
2023-11-09 16:31:17 -05:00
Daniel Jacobs
bee3984104
tests: Stop ignoring shumway's acid_color_0 test
2023-11-09 16:31:17 -05:00
Richy McGregor
dad0bbaac8
tests: Add tests for AutoSize text
2023-11-09 21:20:10 +01:00
Nathan Adams
6061186c0f
core: Fix formatting texts when they start with any amount of <br>s
2023-11-09 20:52:16 +01:00