David Wendt
bc9affb09d
tests: Add tests for stage access and basic display object properties
2021-04-26 01:15:42 -07:00
David Wendt
716d492006
avm2: The stage's name should be `null`, not an empty string; and setting it should except.
2021-04-26 01:15:42 -07:00
David Wendt
01f74f6eb1
avm2: Add a convenience method for marking a builtin override trait.
2021-04-26 01:15:42 -07:00
David Wendt
8452e23382
avm2: Allow access to the `Stage`, both directly and indirectly
2021-04-26 01:15:42 -07:00
David Wendt
ba66c62947
core: Ensure `Stage` always has an AVM2 representation
2021-04-26 01:15:42 -07:00
David Wendt
81de112774
avm2: Add `Stage` class stub
2021-04-26 01:15:42 -07:00
David Wendt
7f4a99ca60
core: Add a `root_clip` method for `Stage` and make everything grabbing depth 0 off the stage use it
2021-04-26 01:15:42 -07:00
David Wendt
36e486b1d0
core: We don't need `CollectWrapper` anymore
2021-04-26 01:15:42 -07:00
David Wendt
f6fe0a84a2
core: Move the viewport and stage dimensions into the `Stage`.
2021-04-26 01:15:42 -07:00
David Wendt
c09bd0520c
core: Run all of the steps of a frame update on the `Stage`
2021-04-26 01:15:42 -07:00
David Wendt
b021d04345
core: Correct order of viewport bounds in render context
2021-04-26 01:15:42 -07:00
David Wendt
4e4f1dce26
core: `Stage` should render it's children
2021-04-26 01:15:42 -07:00
David Wendt
7341fa0554
core: Remove the explicit view bounding box and instead have all the culling code ask the `Stage` what it's bounding box is
2021-04-26 01:15:42 -07:00
David Wendt
67724bfc71
core: Move most of the player rendering code into the `Stage`'s render method.
2021-04-26 01:15:42 -07:00
David Wendt
44af21b398
core: `Letterbox` should be `Collect`
2021-04-26 01:15:42 -07:00
David Wendt
6bf3206d95
core: Replace `context.levels` with a root stage
2021-04-26 01:15:42 -07:00
David Wendt
0011753914
core: Add the ability to iterate over the depth list of any container
2021-04-26 01:15:42 -07:00
David Wendt
14430b9eb0
core: Add a `Stage` display object type
2021-04-26 01:15:42 -07:00
Mathew Hodson
e4fd376c22
ci: Fix typo in macOS build step name
2021-04-26 00:01:42 -07:00
Mike Welsh
3e9ae40b17
ci: Update PKGBUILD for AUR package
2021-04-25 11:47:58 -07:00
Mike Welsh
3708520952
ci: Refactor nightly release script
2021-04-25 11:47:58 -07:00
Mike Welsh
c422a66aa6
chore: Appease clippy
...
Fix `bool_assert_comparison` and `from_iter_instead_of_collect` lints.
2021-04-24 21:42:30 -07:00
Mike Welsh
d43b033caa
tests: Add tests for BitmapData max size
2021-04-24 16:16:24 -07:00
relrelb
bab0ae8f30
avm1: Limit width and height of BitmapData
2021-04-24 16:16:24 -07:00
relrelb
c78501f2bd
avm1: Fix panic in BitmapData.loadBitmap
...
BitmapData.loadBitmap is not subject to the size limit. That is,
it can load larger bitmaps than the BitmapData constructor.
Fix panic for large bitmaps by not invoking the BitmapData constructor
directly. This should also improve performance.
Do the same for BitmapData.clone.
2021-04-24 16:16:24 -07:00
relrelb
2d3a4910fc
avm1: Correct BitmapData constructor
...
* Extract is_size_valid, which respects 3 different limits:
SWF<=9, SWF10 and SWF>=11.
* Delay is_size_valid check after all arguments coercing.
* Swap the transparency and fill_color parameters of init_pixels.
2021-04-24 16:16:24 -07:00
Mike Welsh
f0bea5d241
wgpu: Bump to latest master
2021-04-24 08:29:25 -07:00
relrelb
24dcad9546
extension: Avoid script injection in XML documents
...
document.xmlVersion doesn't exist in Firefox, so use another method
to detect XML documents, described in MDN:
https://developer.mozilla.org/en-US/docs/Web/API/Document/xmlVersion
2021-04-24 04:16:23 -07:00
Mike Welsh
10b014bf18
tests: Move utils.js out of polyfill folder
2021-04-23 16:58:24 -07:00
Mike Welsh
0c5951da52
tests: Add tests for Ruffle JS API
...
Add some basic scaffolding for testing the JS API. Adds a test for
`RufflePlayer.load` and `RufflePlayer.metadata`.
2021-04-23 16:58:24 -07:00
Mike Welsh
d34b72cc47
web: Expose SWF metadata to JavaScript
...
Add `RufflePlayer.metadata` that exposes the SWF header fields to
JavaScript.
Add `RufflePlayer.readyState` and fire a `loadedmetadata` event
once the metadata is available, mimicking the HTML5 media APIs.
2021-04-23 16:58:24 -07:00
relrelb
488e4421e9
extension: Lint after TypeScript migration
2021-04-23 16:58:13 -07:00
relrelb
cfc57a2e1d
extension: Complete TypeScript migration
2021-04-23 16:58:13 -07:00
relrelb
b0c6cfe1d3
extension: Initial TypeScript migration
2021-04-23 16:58:13 -07:00
Mike Welsh
33a73c5262
tests: Bump test script timeout
2021-04-23 16:57:28 -07:00
Mike Welsh
d58bc9b5c5
core: Disable script timeout in debug builds
2021-04-23 16:57:28 -07:00
dependabot-preview[bot]
91c3c6cbac
build(deps): bump dirs from 3.0.1 to 3.0.2
...
Bumps [dirs](https://github.com/soc/dirs-rs ) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/soc/dirs-rs/releases )
- [Commits](https://github.com/soc/dirs-rs/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-23 16:39:29 -07:00
Mike Welsh
35d380f48c
chore: Switch to new cargo resolver
2021-04-23 12:44:27 -07:00
David Wendt
f33976f4c0
avm2: Store symbol / class relationships using the class constructor, not the prototype.
2021-04-23 00:26:10 -07:00
David Wendt
0ee9e0f820
tests: Add a test for constructing symbol classes in AVM2
2021-04-23 00:26:10 -07:00
David Wendt
aa6dc600c0
avm2: Treat construction of symbol classes as symbol instantiation.
2021-04-23 00:26:10 -07:00
David Wendt
815d0fb540
core: Add `DisplayObject` method for setting the AVM2 side of a display object
2021-04-23 00:26:10 -07:00
David Wendt
9b19cc1570
Store the movie associated with a given symbol being constructed.
2021-04-23 00:26:10 -07:00
David Wendt
282508a281
core: Make the AVM2 constructor registry global
2021-04-23 00:26:10 -07:00
David Wendt
b1be111a4e
core: Store constructor prototypes in the constructor registry when defining symbols
2021-04-23 00:26:10 -07:00
David Wendt
555d97006a
core: Add an AVM2 constructor registry
2021-04-23 00:26:10 -07:00
David Wendt
68c270e7c0
avm2: Impl `Eq`, `Hash` for `Object` using ptr values
2021-04-23 00:26:10 -07:00
relrelb
a157d7ab72
extension: Avoid script injection in XML documents
2021-04-22 18:05:18 -07:00
dependabot-preview[bot]
f0bdb57996
build(deps): bump embed-resource from 1.6.1 to 1.6.2
...
Bumps [embed-resource](https://github.com/nabijaczleweli/rust-embed-resource ) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/nabijaczleweli/rust-embed-resource/releases )
- [Commits](https://github.com/nabijaczleweli/rust-embed-resource/compare/v1.6.1...v1.6.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-22 12:19:52 -07:00
relrelb
2b71786b8b
extension: Convert manifest to JSON5
...
JSON5 is a more flexible superset of JSON. It supports comments,
trailing commas and more nice features that JSON doesn't support.
2021-04-21 19:03:19 -07:00