Aaron Hill
dc03f541db
avm2: Match Flash behavior for DoAbc/SymbolClass script initializers
...
Flash Player handles SymbolClass tags and eager (non-lazy) DoAbc2 tags in an unusual way:
During the first time that a given frame is executed:
1. All SymbolClass tags are processed in order, triggering ClassObject loading (and the associated
script initializer execution, if it hasn't already been run)
2. All eager (non-lazy) DoAbc/DoAbc2 tags have their *final* script initializer executed.
To implement this, we now cache the needed `Script` and symbol class
data during preloading. The first time we execute a frame, we run
the symbolclass class lookup and assignment, followed by the final
script initializer for each DoAbc2 tag in the frame.
This fixes 'minidash' (and probably other crossbridge games as well).
2024-06-21 16:57:06 +02:00
Kamil Jarosz
f046263002
tests: Add avm2/graphics_draw_triangles test
...
This test verifies the behavior of drawing triangles using Graphics.
However, it will have to be updated when support for winding behavior
gets added.
2024-06-19 23:24:55 +02:00
Nathan Adams
4d12e0e5b4
core: Implement LocalConnection
2024-06-19 21:54:25 +02:00
Kamil Jarosz
0a2528b4f9
tests: Add avm2/graphics_draw_path test
...
This test verifies the behavior of drawing paths using Graphics.
2024-06-19 20:58:33 +02:00
Lord-McSweeney
e8339088a7
tests: Add a test case for setting `dataFormat` after calling `load`
2024-06-18 20:56:50 +02:00
Adrian Wielgosik
cacfb5a6a4
avm2: Fix and unify converting SWF's 1-based to 0-based slot indexing
2024-06-16 16:11:17 -07:00
Tom Schuster
ff322eb19a
avm2: Test more namespace related properties/methods in XMLNode
...
We skip the weird xml: namespace special case for now.
2024-06-15 22:26:57 +02:00
Tom Schuster
4463a69c87
avm2: Implement namespace support for flash.xml
2024-06-15 22:26:57 +02:00
Lord-McSweeney
5ce882da9c
tests: Add a test for calling `newclass` twice on the same `Class`
2024-06-13 23:49:52 +02:00
dependabot[bot]
52404bc3aa
build(deps): bump the cargo-minor group with 6 updates
...
Bumps the cargo-minor group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.4` | `4.5.7` |
| [url](https://github.com/servo/rust-url ) | `2.5.0` | `2.5.1` |
| [linkme](https://github.com/dtolnay/linkme ) | `0.3.26` | `0.3.27` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.4` | `1.10.5` |
| [zip](https://github.com/zip-rs/zip2 ) | `2.1.2` | `2.1.3` |
Updates `clap` from 4.5.4 to 4.5.7
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.4...v4.5.7 )
Updates `url` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.5.0...v2.5.1 )
Updates `linkme` from 0.3.26 to 0.3.27
- [Release notes](https://github.com/dtolnay/linkme/releases )
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.26...0.3.27 )
Updates `regex` from 1.10.4 to 1.10.5
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.4...1.10.5 )
Updates `zip` from 2.1.2 to 2.1.3
- [Release notes](https://github.com/zip-rs/zip2/releases )
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zip-rs/zip2/compare/v2.1.2...v2.1.3 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: url
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: linkme
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: quick-xml
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: zip
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-06-13 01:05:26 +02:00
Nathan Adams
c9b111996f
web: Make serde (more-)optional in core
2024-06-13 00:22:33 +02:00
Nathan Adams
7eef31046b
render: Make serde optional
2024-06-13 00:22:33 +02:00
Kamil Jarosz
b7ca9178fd
tests: Add avm1/focus_mouse_rollout test
2024-06-12 23:49:06 +02:00
Kamil Jarosz
439f3f6d62
tests: Add filters/any_blur_scales_with_screen test
...
This test verifies how the blur scales when the screen is scaled.
The test includes all known filters which have a blur,
but some of them (gradient filters) are disabled (made invisible)
because they are not yet fully implemented in Ruffle.
They can be made visible when they are functional
so that this test also covers them.
2024-06-10 18:50:43 +02:00
Kamil Jarosz
88a9c74ee0
swf: Fix blur scaling in filters
...
The blur of 1.0 is invariant, so that it should be preserved when scaling.
Using `blur * scale` also scales the invariant, which is wrong.
Tests show that `(blur - 1) * scale + 1` matches FP's behavior.
2024-06-10 18:50:43 +02:00
Kamil Jarosz
f994c69805
tests: Add edittext_password_copy test
...
This test verifies how FP behaves with regard to
copying or cutting text from a password text field.
2024-06-09 15:38:35 +02:00
Kamil Jarosz
b50db4255c
tests: Add edittext_paste_empty test
...
This test verifies how FP behaves when pasting with an empty clipboard.
2024-06-09 15:38:35 +02:00
Adrian Wielgosik
2955add845
avm2: In Array.sortOn, behave better in presence of nonsense args
2024-06-09 11:11:57 +02:00
Kamil Jarosz
7e0f2ded9d
tests: Add tab_ordering_stage_tab_children_remove_root
...
This test verifies how Stage.tabChildren behaves
when the root movie is removed.
2024-06-08 00:12:53 +02:00
Kamil Jarosz
0e3a8c33e6
tests: Add avm2/tab_ordering_stage_tab_children test
...
This test verifies the behavior of Stage.tabChildren.
2024-06-08 00:12:53 +02:00
Tom Schuster
26f4126840
tests: Improve the test for XML.namespace()
2024-06-06 20:14:40 +02:00
Kamil Jarosz
0c50083c8e
tests: Add avm1/movieclip_create_text_field test
...
This test verifies the behavior of MovieClip.createTextField's params.
2024-06-06 17:08:52 +02:00
Kamil Jarosz
091aa2361f
tests: Add avm2/focus_root_movie test
...
This test verifies the behavior of focus and focusrect
on the root movie clip.
2024-06-05 02:08:13 +02:00
Kamil Jarosz
b0eb0ef1d9
tests: Add avm1/focus_root_movie test
...
This test verifies the behavior of focusing
and tabbing into the root movie.
2024-06-05 02:08:13 +02:00
Kamil Jarosz
cc70686592
tests: Add avm1/focus_mouse test
...
This test verifies how FP handles focus changes on mouse clicks.
2024-06-04 19:39:20 +02:00
Tom Schuster
432dd0a37c
tests: Update XML.setName tests
2024-06-04 18:50:49 +02:00
Tom Schuster
35ec0b9e92
tests: Add tests from Dinnerbone
2024-06-04 00:22:42 +02:00
Tom Schuster
0b446d7cc6
avm2: Implement XML.setNamespace
2024-06-04 00:22:42 +02:00
Tom Schuster
2f7dfd8051
avm2: Implement XML.namespaceDeclarations
2024-06-04 00:22:42 +02:00
Tom Schuster
f20f57c6f1
avm2: Implement XML.namespace
2024-06-04 00:22:42 +02:00
dependabot[bot]
b9d246b2a5
build(deps): bump the cargo-minor group with 4 updates
...
Bumps the cargo-minor group with 4 updates: [proc-macro2](https://github.com/dtolnay/proc-macro2 ), [toml_edit](https://github.com/toml-rs/toml ), [zip](https://github.com/zip-rs/zip2 ) and [toml](https://github.com/toml-rs/toml ).
Updates `proc-macro2` from 1.0.84 to 1.0.85
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.84...1.0.85 )
Updates `toml_edit` from 0.22.13 to 0.22.14
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.13...v0.22.14 )
Updates `zip` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/zip-rs/zip2/releases )
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zip-rs/zip2/compare/v2.1.1...v2.1.2 )
Updates `toml` from 0.8.13 to 0.8.14
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.13...toml-v0.8.14 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: toml_edit
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: zip
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: toml
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 23:21:12 +02:00
Adrian Wielgosik
6a75def83a
avm2: Fix panic on substr(i, len>usize::MAX)
2024-06-02 23:00:23 +02:00
TÖRÖK Attila
925e92c2be
chore: Run `cargo update`, but carefully
2024-06-02 17:26:23 +02:00
sleepycatcoding
83cc8cf294
avm2: Implement a few avmplus XML edge cases
2024-06-02 01:52:52 +03:00
Tom Schuster
cdbc6d289c
avm2: Implement the abstract equality comparison for QName
2024-06-01 20:52:17 +02:00
Kamil Jarosz
f0c41cdc4f
tests: Rename cache_as_bitmap/edittext_selection_filters
...
The _filters prefix is superfluous, as we are already
in the cache_as_bitmap directory.
2024-05-31 22:24:34 +02:00
Kamil Jarosz
a561945fae
tests: Add cache_as_bitmap/edittext_scroll test
...
This test verifies that the edittext is scrollable when cached as bitmap.
2024-05-31 22:24:34 +02:00
Kamil Jarosz
4b8d6f5990
tests: Add AutomatedEvent::MouseWheel
...
This event allows testing mouse scrolling.
2024-05-31 22:24:34 +02:00
sleepycatcoding
2fd5dfde9c
avm2: Implement XMLList.normalize
2024-05-31 22:09:17 +02:00
Tom Schuster
0b2881c8a6
tests: A simple test for ToXMLString with namespaces
2024-05-30 21:14:06 +02:00
TÖRÖK Attila
42ea1331c1
tests: Add a visual test for H.264 video decoding
...
Featuring the legendary Big Buck Bunny.
2024-05-30 20:22:33 +02:00
TÖRÖK Attila
b7a100337e
tests: Make H.264 videos work in visual tests
2024-05-30 20:22:33 +02:00
sleepycatcoding
007a532717
avm2: Implement XMLList.contains
2024-05-30 00:43:45 +03:00
Daniel Jacobs
bb00d7a8ab
chore: Remove inaccurate syntax comment from another AS file
2024-05-29 09:36:04 -04:00
Daniel Jacobs
7a36473f0f
chore: Remove inaccurate syntax comment from AS file
2024-05-29 09:36:04 -04:00
Kamil Jarosz
fe4e180adf
tests: Add attach_movie_stop test
...
This test verifies that stop() works properly for a movie clip
attached with attachMovie in DoInitAction.
2024-05-28 23:57:13 +02:00
Kamil Jarosz
2ee5d522bf
tests: Add focus_visibility_change test
...
This test verifies the behavior of focus when its visibility is changed.
2024-05-28 23:01:12 +02:00
Kamil Jarosz
133ea462ba
tests: Update focus_remove test
...
Make sure that focus change is logged even if the focus is removed.
That additionally verifies that handlers are properly called.
2024-05-28 23:01:12 +02:00
sleepycatcoding
cd24b91a82
avm2: Implement XMLList to XML proxy methods
2024-05-27 21:47:22 +02:00
sleepycatcoding
ab0792904b
avm2: Stub XML.add/set/removeNamespace
2024-05-27 21:47:22 +02:00