Nathan Adams
7b8a4ffed1
web: Switch to using lerna for package management
2020-05-19 11:42:53 +02:00
Nathan Adams
b6523324ed
web: Move each web package into a packages/ directory
2020-05-19 11:42:53 +02:00
Nathan Adams
df341959b3
web: Convert js-src to its own package that's depended on by selfhosted/extension/demo
2020-05-19 11:42:53 +02:00
Justin-CB
5d56d6b489
extension: Remove unneded code from lv0.js
...
Co-authored-by: JustinCB <JustinCB@opmbx.org>
2020-05-19 02:41:44 -07:00
dependabot-preview[bot]
6134ae091f
build(deps): bump generational-arena from 0.2.7 to 0.2.8
...
Bumps [generational-arena](https://github.com/fitzgen/generational-arena ) from 0.2.7 to 0.2.8.
- [Release notes](https://github.com/fitzgen/generational-arena/releases )
- [Changelog](https://github.com/fitzgen/generational-arena/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/generational-arena/compare/0.2.7...0.2.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 23:54:45 -07:00
Nathan Adams
a4b705c731
web: Reformatted all javascript with prettier
2020-05-16 01:58:18 -07:00
Nathan Adams
56e467b557
web: Add prettier, not yet ran on codebase
2020-05-16 01:58:18 -07:00
Nathan Adams
0bb188ad0b
web: Fix bug where we didn't properly catch when custom elements weren't registering
2020-05-16 01:58:18 -07:00
Nathan Adams
6ec77e0ca2
web: Fixed construction of SourceAPI ignoring the provided name
2020-05-16 01:58:18 -07:00
Nathan Adams
077c3ec973
web: Fix broken version comparison logic
2020-05-16 01:58:18 -07:00
Nathan Adams
18d747d5fa
web: Fix eslint: Unexpected duplicate 'super()' (constructor-super)
2020-05-16 01:58:18 -07:00
Nathan Adams
efe33e1631
web: Fix eslint: Don't access Object.prototype method directly (no-prototype-builtins)
2020-05-16 01:58:18 -07:00
Nathan Adams
2c0b12a93f
web: Fix eslint: Variable is defined but not used (no-unused-vars)
2020-05-16 01:58:18 -07:00
Nathan Adams
0b445bee1c
web: Fix eslint: Unnecessary semicolon (no-extra-semi)
2020-05-16 01:58:18 -07:00
Nathan Adams
43ee0e499e
web: Add eslint to web projects, mostly unopinionated
2020-05-16 01:58:18 -07:00
Nathan Adams
1bb7b49411
web: Add root npm project for web
2020-05-16 01:58:18 -07:00
Mike Welsh
d15a4ed994
web: Fallback to canvas render backend in more cases ( fix #545 )
2020-05-14 22:36:19 -07:00
dependabot-preview[bot]
1f0e695465
build(deps): bump fnv from 1.0.6 to 1.0.7
...
Bumps [fnv](https://github.com/servo/rust-fnv ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/servo/rust-fnv/releases )
- [Commits](https://github.com/servo/rust-fnv/compare/v1.0.6...v1.0.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-14 19:05:48 +00:00
Justin-CB
ee69f77126
web: Don't polyfill elements with no src or data attributes (fix #542 )
...
* Don't polyfill elements with no src or data attributes
* Move elem.src check to ruffle-embed and add param check to ruffle-object
Co-authored-by: Toad06 <toad06@foo.bar>
Co-authored-by: JustinCB <JustinCB@opmbx.org>
2020-05-11 23:33:46 -07:00
Mike Welsh
604bcb9285
chore: Formatting
2020-05-10 21:54:21 -07:00
JustinCB
75f398cf16
Added optout
2020-05-10 21:54:21 -07:00
JustinCB
7413732834
Add plugin polyfill code to lv0.js (thanks @Toad06 )
2020-05-10 21:54:21 -07:00
JustinCB
29eacdfd21
Simplify loading code
2020-05-10 21:54:21 -07:00
JustinCB
93eb796045
Insert ruffle earlier
2020-05-10 21:54:21 -07:00
JustinCB
21ebabce7e
Refactored getting extension path out of insertion function
2020-05-10 21:54:21 -07:00
JustinCB
850fb81574
Load ruffle.js at page load
2020-05-10 21:54:21 -07:00
dependabot-preview[bot]
1e971a6cff
build(deps-dev): bump webpack-dev-server in /web/selfhosted
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 3.10.3 to 3.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.3...v3.11.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-10 10:30:10 +00:00
Justin-CB
f9767e0da4
web: Simplify play button code
...
Co-authored-by: JustinCB <JustinCB@opmbx.org>
2020-05-04 16:12:55 -07:00
Nathan Adams
51d9f3ef36
core: Change Player::new to take in a SwfMovie, not &[u8]
2020-05-04 16:07:38 -07:00
Mike Welsh
2331b49ea4
web: Enable canvas feature by default
...
WebGL will take priority. Fallback to canvas if WebGL creation
fails.
2020-05-04 08:10:53 -07:00
Mike Welsh
cde7798ded
webgl: Default MSAA to 4x, 2x on mobile/tablets
...
Also ensure we clamp MSAA at maximum available, in case the sample
count is not supported by the device.
2020-05-02 10:41:09 -07:00
Mike Welsh
936b314569
web: Add features for enabling webgl/canvas backend
2020-05-02 10:39:40 -07:00
Mike Welsh
fa5c09b0cd
web: Add WebGL render backend
2020-05-02 10:38:18 -07:00
Mike Welsh
f09bd8c079
core: Clean up tick/render loop
...
Don't call `render` from `Player::tick`; instead, require the
frontends to explicitly call `render` when they wish to redraw.
The frontend can query `Player::needs_render` to see if the stage
is dirty and needs a redraw. Update desktop and web to use this
new method.
This fits better with the newer winit event loop model, which
requires explicitly calling `request_redraw`, and should avoid
spurious renders.
2020-05-02 04:25:21 -07:00
Mike Welsh
87bf0f44c4
render: Move canvas renderer to separate subcrate
2020-04-29 23:26:41 -07:00
Sean-Thomas
97d1eb5eb9
Web Demo Mobile Styling Changes + Bug Fix
...
- Mobile styling changes for web demo page on mobile devices. Now the sample dropdown will show up on smaller devices.
-Fixed bug with random selection of SWF files.
2020-04-29 23:26:11 -07:00
JustinCB
a3733705a8
web: Add "frames" polyfill setting
2020-04-29 23:23:25 -07:00
Justin-CB
c8989e4d28
web: Add all_frames to make extension work on pages with frames
2020-04-29 23:23:25 -07:00
Mike Welsh
4a53d95753
web: Add width and height to observed attributes for Ruffle elements
2020-04-28 06:10:41 -07:00
Mike Welsh
46b14e5a7f
web: Tweak shadow template CSS to ensure default width/height ( fix #529 )
2020-04-28 05:50:50 -07:00
dependabot-preview[bot]
014df249a8
build(deps): bump jpeg-decoder from 0.1.18 to 0.1.19
...
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder ) from 0.1.18 to 0.1.19.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases )
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/image-rs/jpeg-decoder/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 04:54:23 +00:00
Mike Welsh
0921f18417
web: Avoid out-of-bounds slice from zero sample SoundStreamBlock
2020-04-27 07:49:59 -07:00
Mike Welsh
8aa12d181f
render: Remove RenderBackend::draw_pause_overlay
2020-04-27 04:45:53 -07:00
Mike Welsh
c94df5243e
web: Add nicer play button
2020-04-27 04:45:53 -07:00
dependabot-preview[bot]
56bed86a89
build(deps): bump svg from 0.7.2 to 0.8.0
...
Bumps [svg](https://github.com/bodoni/svg ) from 0.7.2 to 0.8.0.
- [Release notes](https://github.com/bodoni/svg/releases )
- [Commits](https://github.com/bodoni/svg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-26 21:18:43 +00:00
dependabot-preview[bot]
f7cf943740
build(deps-dev): bump @wasm-tool/wasm-pack-plugin in /web/selfhosted
...
Bumps [@wasm-tool/wasm-pack-plugin](https://github.com/wasm-tool/wasm-pack-plugin ) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/wasm-tool/wasm-pack-plugin/releases )
- [Commits](https://github.com/wasm-tool/wasm-pack-plugin/compare/v1.3.0...v1.3.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 11:33:38 +00:00
dependabot-preview[bot]
169fb6a1a3
build(deps-dev): bump webpack from 4.42.1 to 4.43.0 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.42.1 to 4.43.0.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.42.1...v4.43.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 10:19:35 +00:00
dependabot-preview[bot]
62ab2ad787
build(deps-dev): bump @wasm-tool/wasm-pack-plugin in /web/selfhosted
...
Bumps [@wasm-tool/wasm-pack-plugin](https://github.com/wasm-tool/wasm-pack-plugin ) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/wasm-tool/wasm-pack-plugin/releases )
- [Commits](https://github.com/wasm-tool/wasm-pack-plugin/compare/v1.2.0...v1.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 20:22:39 +00:00
dependabot-preview[bot]
307d27709f
build(deps): bump console_log from 0.1.2 to 0.2.0
...
Bumps [console_log](https://github.com/iamcodemaker/console_log ) from 0.1.2 to 0.2.0.
- [Release notes](https://github.com/iamcodemaker/console_log/releases )
- [Commits](https://github.com/iamcodemaker/console_log/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 12:59:40 +00:00
dependabot-preview[bot]
0dfe0d76c1
build(deps): bump png from 0.16.2 to 0.16.3
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.16.2 to 0.16.3.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 21:32:03 +00:00
Mike Welsh
ddfd84ecdd
web: Stop playing sounds when an instance is destroyed
2020-04-13 04:57:10 -07:00
Sean-Thomas
4d91a202e1
web/demo: Add dropdown to select sample SWF
...
- replaced static polyfill embed on web demo with JS API code.
- added swf_lib JSON file for sample SWFs.
- added console logs for when a Ruffle instance is created or destroyed in ruffle-player.js.
- more minor styling changes to the web demo index page.
2020-04-13 04:55:57 -07:00
dependabot-preview[bot]
6d837d69d4
build(deps): bump svg from 0.7.1 to 0.7.2
...
Bumps [svg](https://github.com/bodoni/svg ) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/bodoni/svg/releases )
- [Commits](https://github.com/bodoni/svg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 11:15:12 +00:00
dependabot-preview[bot]
c20f3736ca
build(deps): bump png from 0.16.1 to 0.16.2
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.16.1 to 0.16.2.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.1...v0.16.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-04 07:03:37 +00:00
Justin-CB
ba19e6c2e1
web: Add additional flash MIME types to polyfill
...
Co-authored-by: Justin Bester <justin@frankenmando.local>
2020-04-01 18:45:32 -07:00
Mike Welsh
0c0d3dfd41
core: Add Navigator::time_since_launch to use for getTimer
...
Change `ActionGetTime` (`getTimer`) to use a new backend method.
This allows it to return updated times if it is called multiple
times in a single frame. This fixes hangs caused by games that use
busy-loop "frame limiter" code.
2020-03-28 22:28:07 -07:00
Sean-Thomas
ec869fa656
Tweaked styling for demo page
2020-03-28 19:42:15 -07:00
Mike Welsh
c1abbdacdd
chore: Fix naming convention
2020-03-26 02:55:25 -07:00
Mike Welsh
e237536293
web: Blacklist "Adobe Flash Player" title attribute ( fix #468 )
...
The "Click to activate Flash" box from Chrome stomps on the title
attribute of a Flash embed when you mouse over it. This causes
an annoying "Adobe Flash Player" tooltip to appear even after
Ruffle replaces the embeds.
Now we check for this specific title and remove it.
2020-03-26 02:37:25 -07:00
Mike Welsh
c2e9d5d757
web: Install plugin spoof immediately on script load
...
Scripts like SWFObject check for the Flash plugin immediately when
they load, so we can't defer installing the spoof. Fixes #448 .
2020-03-25 20:14:31 -07:00
Mike Welsh
353eeec6c3
web: Return matching Flash Player version for MIME type description
...
The plugin detection spoofer would add " "Shockwave Flash 32.0 r0
(compatible; Ruffle 0.1)" to the Flash MIME type description in
the plugins array. However, this breaks SWFObject's version
detection, which does a simple String split.
Now we return the same value as the official player:
"Shockwave Flash 32.0 r0"
2020-03-25 20:14:31 -07:00
Mike Welsh
774aa59210
web: Default public_path to currentScript URL
...
Also automatically add trailing slash on public_path if necessary.
2020-03-25 00:54:21 -07:00
Mike Welsh
5591cec0f7
web: Fix #412 , incorrect bitmap rendering when cached
2020-03-24 23:08:15 -07:00
Mike Welsh
fa063a6f53
web: Enable dynamic-content polyfill by default
...
Co-authored-by: Justin-CB <55590227+Justin-CB@users.noreply.github.com>
2020-03-24 22:13:10 -07:00
Mike Welsh
e332e5c24c
web: Simplify polyfill code
...
Addresses #464 . Use `document.getElementsByTagName` to find all
object and embed tags in the document. For dynamic content,
we keep these live collections around, and re-check them whenever
a MutationObserver fires.
Co-authored-by: Justin-CB <55590227+Justin-CB@users.noreply.github.com>
2020-03-24 22:13:10 -07:00
dependabot-preview[bot]
80bfaa5f11
build(deps-dev): bump webpack from 4.42.0 to 4.42.1 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.42.0 to 4.42.1.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.42.0...v4.42.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-24 19:29:20 +00:00
Mike Welsh
4561b591bf
web: Handle percentage dimensions in polyfill ( fix #433 )
...
When Ruffle replaces a Flash embed, the width/height of the embed
are copied over to CSS of the Ruffle element. "px" was being
appended even if the dimensions were a % value, which CSS rejected.
Try to be a little smarter about parsing out the HTML dimension
attributes (HTML is more lenient). Append "px" only if the value
isn't a percentage.
Fixes #433 .
2020-03-21 01:23:23 -07:00
Mike Welsh
9e6fe41a91
web: Ignore errors on `Element.setAttribute` in polyfill
...
Ruffle would not polyfill a Flash embed if it had bogus attributes
in the embed tag. Now these errors are silently ignored.
Fixes the other part of #457 .
2020-03-20 20:47:58 -07:00
Mike Welsh
099c497a91
web: Activate polyfill if embed src ends in .swf
...
Fixes part of #457 . Even if the MIME type/class IDs are missing
on the embed/object tags, browsers will still attempt to play
the file as Flash if it ends in a .swf extension.
2020-03-20 20:47:58 -07:00
Mike Welsh
26914d7b62
web: Fix off-center gradient rendering
...
Regression caused by 223edb9
. Write twips value to SVG matrix.
Addresses some incorrect rendering in #437 .
2020-03-16 02:44:32 -07:00
Mike Welsh
b3b81c5e20
chore: Explicitly install wasm-pack on CI
2020-03-16 02:15:55 -07:00
Mike Welsh
17a7b02f14
chore: Bump npm packages
2020-03-16 02:15:55 -07:00
dependabot[bot]
623849483c
build(deps): bump acorn from 6.4.0 to 6.4.1 in /web/demo
...
Bumps [acorn](https://github.com/acornjs/acorn ) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases )
- [Commits](https://github.com/acornjs/acorn/compare/6.4.0...6.4.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-03-16 06:09:43 +00:00
dependabot-preview[bot]
2c1495eebd
build(deps): [security] bump acorn in /web/selfhosted
...
Bumps [acorn](https://github.com/acornjs/acorn ) from 6.4.0 to 6.4.1. **This update includes a security fix.**
- [Release notes](https://github.com/acornjs/acorn/releases )
- [Commits](https://github.com/acornjs/acorn/compare/6.4.0...6.4.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-16 06:09:05 +00:00
Sean-Thomas
609b6671b3
Spruced up Web Demo Page
...
Edited styling for web demo page to look more like the https://ruffle.rs homepage.
2020-03-09 19:33:03 -04:00
dependabot-preview[bot]
05d74f4870
build(deps): bump base64 from 0.11.0 to 0.12.0
...
Bumps [base64](https://github.com/marshallpierce/rust-base64 ) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases )
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md )
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.11.0...v0.12.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 01:07:16 +00:00
dependabot-preview[bot]
fb02a8b57f
build(deps): bump png from 0.16.0 to 0.16.1
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.0...v0.16.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 23:13:22 +00:00
dependabot-preview[bot]
924fb05981
build(deps): bump svg from 0.7.0 to 0.7.1
...
Bumps [svg](https://github.com/bodoni/svg ) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/bodoni/svg/releases )
- [Commits](https://github.com/bodoni/svg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 22:30:38 +00:00
Mike Welsh
cd334bcd3f
web: Fix bitmap fills not using twips
2020-03-02 18:31:49 -08:00
dependabot-preview[bot]
23b0478796
build(deps): bump png from 0.15.3 to 0.16.0
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.15.3 to 0.16.0.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/compare/v0.15.3...v0.16.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 23:32:44 +00:00
dependabot-preview[bot]
55a568a42b
build(deps): bump svg from 0.6.0 to 0.7.0
...
Bumps [svg](https://github.com/bodoni/svg ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/bodoni/svg/releases )
- [Commits](https://github.com/bodoni/svg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 21:49:30 +00:00
dependabot-preview[bot]
d30928e634
build(deps-dev): bump webpack from 4.41.6 to 4.42.0 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.6 to 4.42.0.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.6...v4.42.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 18:06:33 +00:00
Mike Welsh
223edb9bc1
core: Matrix translation is in twips
2020-02-26 12:47:47 -08:00
Mike Welsh
c4c02260fb
core: Implement keyUp event
2020-02-26 03:48:07 -08:00
Mike Welsh
acd5f2c74f
web: Fix invisible cursor
2020-02-26 01:47:08 -08:00
Mike Welsh
c620f95c4f
chore: Expose lzma feature on targets
2020-02-26 00:47:15 -08:00
Mike Welsh
86ec2c6cb8
input: Add InputBackend::set_mouse_cursor. Change cursor on buttons
...
It doesn't feel like Flash without having the hand cursor display
when hovering over buttons. First pass at implementing this;
core communicates which mouse cursor to use via
`InputBackend::set_mouse_cursor`.
TODO: Hand cursor only displayed for Button display objects
currently. Movie clips should also display this when they are in
"button mode" (when a button mouse event is set on them in AVM1,
or `buttonMode` property in AVM2).
2020-02-25 02:50:26 -08:00
David Wendt
33d26b9149
Shorten `Pin<Box<dyn Future<Output=Result<T,E>> + 'static>>` into `OwnedFuture<T,E>`.
...
This is technically stricter on `fetch` impls, but right now we can't support non-`'static` futures at all.
2020-02-22 00:02:45 -05:00
David Wendt
c7539872f7
Add the ability to POST data from `fetch`, and allow methods that read AVM locals into form data to `GET` or `POST` them.
2020-02-21 23:58:00 -05:00
David Wendt
f4e4171ebe
Make spawned futures falliable, and report those errors.
2020-02-21 23:57:56 -05:00
David Wendt
55149b7b7e
Reference count the Player and provide a weak reference in UpdateContext.
...
This allows the formation of `'static` futures that can still interact with a player. Async code will need to upgrade the weak reference in order to be able to interact with the player.
2020-02-21 23:44:06 -05:00
David Wendt
8d83bbb864
Impl fetch for web
2020-02-21 23:44:05 -05:00
David Wendt
491d94c947
Pinbox all Futures.
...
Due to some strangeness with the way Rust implemented unsafe-to-move behavior, boxed futures are implicitly `Unpin`. Which is useless to us.
The reason for this is a little counter-intuitive. Actually, the fact that Rust supports memory pinning at all is a little odd, because the core language explicitly requires all types be movable. To get around this, Pin requires that all !Unpin types be *born pinned*. This is because you can't re-pin an already unpinned value in memory.
Anyway, this necessitates this silly API change.
2020-02-21 23:44:05 -05:00
David Wendt
00d25a768c
Extremely basic impl of fetch/spawn methods for getting data off the web
2020-02-21 23:44:05 -05:00
David Wendt
2137b9f1fd
Migrate `set_frame_rate` into the core `AudioBackend` trait
2020-02-21 23:44:05 -05:00
dependabot-preview[bot]
d9deaab5f1
build(deps-dev): bump webpack-cli in /web/selfhosted
...
Bumps [webpack-cli](https://github.com/webpack/webpack-cli ) from 3.3.10 to 3.3.11.
- [Release notes](https://github.com/webpack/webpack-cli/releases )
- [Changelog](https://github.com/webpack/webpack-cli/blob/next/CHANGELOG_v3.md )
- [Commits](https://github.com/webpack/webpack-cli/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 01:59:04 +00:00
dependabot-preview[bot]
fde5e0a730
build(deps-dev): bump webpack from 4.41.5 to 4.41.6 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.5 to 4.41.6.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.5...v4.41.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 01:25:30 +00:00
dependabot-preview[bot]
6681e843a9
build(deps): bump byteorder from 1.3.2 to 1.3.4
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.2 to 1.3.4.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.2...1.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 00:57:11 +00:00
dependabot-preview[bot]
c17fa52565
build(deps-dev): bump webpack-dev-server in /web/selfhosted
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 3.10.2 to 3.10.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.2...v3.10.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 00:53:47 +00:00
Mike Welsh
6b7966f3fc
chore: Update comments in canvas mask rendering
2020-01-31 20:27:24 -08:00
dependabot-preview[bot]
9d950e3705
build(deps-dev): bump webpack-dev-server in /web/selfhosted
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 3.10.1 to 3.10.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.1...v3.10.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 19:05:42 +00:00
Mike Welsh
3ab0d4ef80
web: Merge #352 , improved performance on canvas
...
Shape-drawing performance improvements on the canvas backend.
2020-01-30 15:16:09 -08:00
Mike Welsh
087f15f28c
web: Clear audio decoding buffer before each decode ( fix #357 )
2020-01-29 12:29:54 -08:00
David Wendt
abedb1262a
Make sure `DrawImage` commands get the image filter.
2020-01-29 14:19:19 -05:00
David Wendt
30fc56649b
Clamp u8 values to the [0, 255] range.
2020-01-29 14:19:19 -05:00
David Wendt
a57d0e12b3
Do not apply a color filter at all unless rendering a bitmap or gradient.
...
This significantly improves render times, as browsers appear to apply filters in the most general, inefficient way possible.
2020-01-29 14:19:18 -05:00
David Wendt
746971e38a
Avoid unnecessary calls to `set_attribute`/`set_filter`.
2020-01-29 14:19:18 -05:00
David Wendt
693537a294
Line widths and miter limits should be in pixels, not twips
2020-01-29 14:19:18 -05:00
David Wendt
b611067bc5
First pass on a more-optimized render path that uses canvas draw commands directly rather than precompiling SVGs as images.
2020-01-29 14:19:18 -05:00
David Wendt
4ee60d9214
Make `swf_shape_to_svg` output the entire `ShapeData` list itself, and also it's not called that anymore.
2020-01-29 14:19:18 -05:00
David Wendt
70cdcb60a7
Break shape data up into a series of canvas commands, including direct fills and strokes.
2020-01-29 14:19:18 -05:00
Mike Welsh
1223de9e94
web: Draw masks with 100% alpha ( fix #348 )
2020-01-22 12:08:57 -08:00
Nathan Adams
4ad6ef8b83
core: Implemented Key.getCode()
2020-01-17 15:11:38 -08:00
Mike Welsh
bb27d6712a
web: Add content hash to core.ruffle.js filename
2020-01-16 11:59:58 -08:00
Mike Welsh
881581eed5
web: Resize canvas when devicePixelRatio changes ( fix #322 )
2020-01-15 21:34:22 -08:00
Mike Welsh
f983af3f65
web: Fix decoding of PCM sounds
2020-01-15 21:12:45 -08:00
Mike Welsh
ad719ad586
web: Fix timing of sound envelopes
...
The endTime parameter of AudioParam.linearRampToValueAtTime is
on the global AudioContext's timeline, not local to the sound.
Adding the sound's start time to the parameter fixes sound
envelopes not playing back correctly.
2020-01-15 20:38:43 -08:00
Mike Welsh
12ee4c7432
web: Duplicate left channel when playing a mono sound with envelope ( fix #323 )
2020-01-15 20:36:05 -08:00
Mike Welsh
b57c827e23
web: Use proper key code for Enter key
2020-01-14 16:18:42 -08:00
Mike Welsh
0e228441e1
web: Add missing returns to RufflePlayer.local/local_compatible
2020-01-13 12:28:30 -08:00
Mike Welsh
79745feef7
chore: Use percent-encoding 2.1.0
2020-01-13 11:07:30 -08:00
dependabot-preview[bot]
52607d4706
build(deps): bump url from 2.1.0 to 2.1.1
...
Bumps [url](https://github.com/servo/rust-url ) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 10:41:41 -08:00
David Wendt
51023145c8
Build the extension using webpack, the same as the local version.
2020-01-10 22:10:43 -05:00
dependabot-preview[bot]
102c4f9b03
build(deps): bump png from 0.15.2 to 0.15.3
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 18:35:51 +00:00
dependabot-preview[bot]
0458884f08
build(deps): bump wasm-bindgen-test from 0.3.6 to 0.3.7
...
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen ) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-07 08:50:01 +00:00
Mike Welsh
ab63f221ed
web: Bump to wasm-bindgen 0.2.57
2020-01-06 13:01:39 -08:00
Mike Welsh
f576a39760
web: Fix must_use warning on AudioContext::decode_audio_data
...
web-sys 0.3.34 added `must_use` to `Promise`. Add `let _ =` to
squlech this warning.
2020-01-06 13:01:39 -08:00
dependabot-preview[bot]
5c4a180913
build(deps): bump web-sys from 0.3.33 to 0.3.34
...
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.33 to 0.3.34.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 13:01:39 -08:00
Mike Welsh
4bf29f677f
avm1: Implement Sound.duration
...
Add AudioBackend::get_sound_duration.
2020-01-03 17:11:00 -08:00
Mike Welsh
d0142f1d67
audio: Add AudioBackend::stop_sound
2020-01-03 17:11:00 -08:00
dependabot-preview[bot]
b4a47e17da
build(deps): bump generational-arena from 0.2.6 to 0.2.7
...
Bumps [generational-arena](https://github.com/fitzgen/generational-arena ) from 0.2.6 to 0.2.7.
- [Release notes](https://github.com/fitzgen/generational-arena/releases )
- [Changelog](https://github.com/fitzgen/generational-arena/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/generational-arena/compare/0.2.6...0.2.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-03 19:14:43 +00:00
dependabot-preview[bot]
353dc5c229
build(deps-dev): bump webpack from 4.41.4 to 4.41.5 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.4 to 4.41.5.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.4...v4.41.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-03 08:25:48 +00:00
Mike Welsh
87158647d1
core: Implement keyPress button events
2019-12-24 03:06:03 -08:00
Mike Welsh
30983c5bab
web: Use pointer events on web
2019-12-23 13:16:58 -08:00
dependabot-preview[bot]
db8e0bd997
build(deps): bump wasm-bindgen-test from 0.3.5 to 0.3.6
...
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen ) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 19:39:55 +00:00
Nathan Adams
9000451d58
core: Implemented Mouse.show() & Mouse.hide()
2019-12-22 14:33:46 -08:00
Mike Welsh
c05b03dd06
web: Handle keydown/keyup and preventDefault if Ruffle has focus
2019-12-21 19:08:06 -08:00
David Wendt
69094b56b5
Add input support to the web backend.
2019-12-21 19:08:06 -08:00
Nathan Adams
eedc4bbe24
core: Added Input backend, currently unimplemented, for polling user input
2019-12-21 19:08:06 -08:00
dependabot-preview[bot]
4aebeab577
build(deps): bump web-sys from 0.3.32 to 0.3.33
...
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.32 to 0.3.33.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-20 18:36:15 +00:00
dependabot-preview[bot]
f84bfae010
build(deps-dev): bump webpack-dev-server in /web/selfhosted
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 3.9.0 to 3.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v3.10.1/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.9.0...v3.10.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 09:29:07 -08:00
dependabot-preview[bot]
d1f258e71e
build(deps-dev): bump webpack from 4.41.3 to 4.41.4 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.3 to 4.41.4.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.3...v4.41.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 16:21:31 +00:00
dependabot-preview[bot]
d2cf865ebf
build(deps-dev): bump webpack from 4.41.2 to 4.41.3 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.2 to 4.41.3.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.41.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 17:55:53 +00:00
dependabot-preview[bot]
251fb01572
build(deps): bump jpeg-decoder from 0.1.17 to 0.1.18
...
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder ) from 0.1.17 to 0.1.18.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases )
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/image-rs/jpeg-decoder/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:21:42 +00:00
Mike Welsh
23ca66a7e3
avm1: Use enum_trait_object for avm1::Object
2019-12-10 01:36:01 -08:00
Mike Welsh
f9841fbaa3
web: Update npm dependencies
2019-12-09 16:16:42 -08:00
dependabot-preview[bot]
86c0fa327b
build(deps): bump jpeg-decoder from 0.1.16 to 0.1.17
...
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder ) from 0.1.16 to 0.1.17.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases )
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/image-rs/jpeg-decoder/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 17:39:42 +00:00
dependabot-preview[bot]
a1cf2d3ab8
build(deps): bump png from 0.15.1 to 0.15.2
...
Bumps [png](https://github.com/image-rs/image-png ) from 0.15.1 to 0.15.2.
- [Release notes](https://github.com/image-rs/image-png/releases )
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image-png/compare/v0.15.1...v0.15.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-04 07:07:57 +00:00
Mike Welsh
29754eace8
web: Avoid `copyToChannel` on Safari
...
`AudioBuffer.copyToChannel` does not work on Safari, so switch to
using `getChannelData` to fill the audio buffers.
Limitations in wasm-bindgen prevent us from actually modifying the
data returned by `getChannelData` on the Rust side, so import a JS
function to fill the audio buffer (js-src/ruffle-imports.js).
2019-12-03 23:05:42 -08:00
Mike Welsh
9a258e9b51
web: Default demo build to production mode
2019-11-25 17:00:29 -08:00