Commit Graph

439 Commits

Author SHA1 Message Date
Mike Welsh e9da6a13f0 core: Add letterbox setting
Player::set_letterbox can be used to control the letterbox behavior.
 * Letterbox::Off => no letterbox (flash behavior)
 * Letterbox::Fullscreen => letterbox only in fullscreen (web default)
 * Letterbox::On => always letterbox (desktop default)
2021-01-07 11:46:07 -08:00
relrelb 9a8edda8a6 chore: Update lyon to 0.17.1 2021-01-04 18:08:14 -08:00
dependabot-preview[bot] 54367aafa0 build(deps): bump isahc from 0.9.14 to 1.0.2
Bumps [isahc](https://github.com/sagebind/isahc) from 0.9.14 to 1.0.2.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/0.9.14...1.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-03 00:26:19 -08:00
Mike Welsh 94cb6e1680 desktop: Avoid panic on fetching invalid URLs 2020-12-31 16:36:02 -08:00
Mike Welsh 6aafb46b49 desktop: Don't render while minimized
On desktop, don't render while the window is minimized.

In the wgpu backend, don't panic if swap chain fails to grab a
texture. Instead recreate the swap chain and bail on the current
frame.

Fixes panic when minimizing with the wgpu vulkan backend (#2065).
2020-12-28 16:00:13 -08:00
Mike Welsh 8222d3095b desktop: Add --timedemo benchmark
Add --timedemo for benchmarking, which will run the given SWF as
quickly as possible for 5000 frames or the end of the root
timeline, whichever comes first. The total duration will be output
upon completion.
2020-12-26 23:59:12 -08:00
Sam Morrow 38bdb8b39a web/desktop: Add basic dialog handling (closes #1978) 2020-12-23 19:08:18 -08:00
Mike Welsh 367404ddd8 core: SharedObjects are bucketed by domain
Key SharedObjects on the domain and path where the SWF is hosted,
and implement the localPath and secure parameters.

Fix #855.
2020-12-22 14:18:06 -08:00
Sam Morrow c4d7b24629 web: Fix cors issues with http (close ruffle-rs#1486) 2020-12-14 05:51:28 -08:00
dependabot-preview[bot] f394e4d9ec build(deps): bump winit from 0.23.0 to 0.24.0
Bumps [winit](https://github.com/rust-windowing/winit) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/compare/v0.23.0...v0.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-10 13:24:55 -08:00
dependabot-preview[bot] 70e7894a14 build(deps): bump isahc from 0.9.13 to 0.9.14
Bumps [isahc](https://github.com/sagebind/isahc) from 0.9.13 to 0.9.14.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/0.9.13...0.9.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 23:53:57 -08:00
Sam Morrow d5e597052e desktop: Add file dialogs to Ruffle if no FILE argv V2 (close #1774)
Introduce file dialogs if no FILE argv is passed.
Use altered version of due to https://github.com/jdm/tinyfiledialogs-rs/issues/19
2020-12-04 13:04:43 -08:00
Mike Welsh b7d28e5e7e chore: Remove unnecessary debug output 2020-11-29 02:33:09 -08:00
Mike Welsh dafe7e5027 avm1: Implement Key.getAscii 2020-11-29 02:31:10 -08:00
Nathan Adams eca4ba0313 desktop: Potentially fixed panic when windows can't make a path absolute 2020-11-26 14:04:18 -08:00
dependabot-preview[bot] 93c401286c build(deps): bump image from 0.23.11 to 0.23.12
Bumps [image](https://github.com/image-rs/image) from 0.23.11 to 0.23.12.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.11...v0.23.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-18 16:29:07 -08:00
dependabot-preview[bot] 633bddfd72 build(deps): bump env_logger from 0.8.1 to 0.8.2
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.1...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-18 16:26:21 -08:00
dependabot-preview[bot] 90d1ae53b7 build(deps): bump isahc from 0.9.12 to 0.9.13
Bumps [isahc](https://github.com/sagebind/isahc) from 0.9.12 to 0.9.13.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/0.9.12...0.9.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-14 23:33:37 -08:00
dependabot-preview[bot] 1bb10035a9 build(deps): bump isahc from 0.9.11 to 0.9.12
Bumps [isahc](https://github.com/sagebind/isahc) from 0.9.11 to 0.9.12.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/0.9.11...0.9.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-10 19:49:07 -08:00
dependabot-preview[bot] 9aacb15392 build(deps): bump cpal from 0.13.0 to 0.13.1
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-08 13:32:26 -08:00
dependabot-preview[bot] fcf665fbe9 build(deps): bump url from 2.1.1 to 2.2.0
Bumps [url](https://github.com/servo/rust-url) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.1.1...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-06 00:45:35 -08:00
dependabot-preview[bot] 2d87c02f68 build(deps): bump cpal from 0.12.1 to 0.13.0
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.12.1 to 0.13.0.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 12:08:50 -08:00
dependabot-preview[bot] 33ef20494a build(deps): bump isahc from 0.9.10 to 0.9.11
Bumps [isahc](https://github.com/sagebind/isahc) from 0.9.10 to 0.9.11.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/0.9.10...0.9.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-02 19:12:05 -08:00
Mike Welsh 2939339330 desktop: Workaround bug in generational-arena 2020-10-25 20:41:20 -07:00
dependabot-preview[bot] 37ead31b2a build(deps): bump image from 0.23.10 to 0.23.11
Bumps [image](https://github.com/image-rs/image) from 0.23.10 to 0.23.11.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 17:57:11 -07:00
Colin Berry 5a93c7ffa0 desktop: Follow Redirects 2020-10-20 23:31:23 -07:00
Colin Berry 67d9b91448 desktop: Make Proxy behave during initial load 2020-10-20 23:31:23 -07:00
Colin Berry c51a31fde8 desktop: Support URL paths and Proxy options 2020-10-20 23:31:23 -07:00
Mike Welsh 8ee09ffc0c desktop: Switch task to ready state on wake 2020-10-20 23:18:42 -07:00
dependabot-preview[bot] 8ba5dbfa49 build(deps): bump env_logger from 0.7.1 to 0.8.1
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.7.1 to 0.8.1.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 02:33:11 -07:00
Nathan Adams 3f46567fc1 render: Remove PowerPreference::Default as it's no longer in wgpu 2020-10-14 13:59:25 -07:00
Nathan Adams a2593b0d52 desktop: Expose wgpu tracing through a `render_trace` feature and `--trace-path` argument 2020-10-14 13:59:25 -07:00
Nathan Adams 5862e7ba6b desktop: Add -Pkey=value for adding flashvars/properties 2020-10-12 15:28:16 -07:00
Nathan Adams 536352a0d3 render: Move wgpu options out from desktop and into wgpu render crate 2020-10-10 13:43:18 -07:00
Mike Welsh b41ea6e2fc chore: Switch from sample to dasp crate
sample renamed into dasp. Switch to this crate and also use the
latest git revision, which fixed some compiler errors on nightly.

Also remove unnecessary sample dependency in exporter Cargo.toml.
2020-10-07 23:19:41 -07:00
Mike Welsh a81f050e14 chore: Bump to winit 0.23 2020-10-04 13:04:27 -07:00
Sean-Thomas 5701312527 desktop: Implement play/pause for CPAL backend
- removed default implementations for `play()` and `pause()` methods for AudioBackend trait
- Implemented `play()` and `pause()` methods for CPAL audio backend
- Implemented empty block for `play()` and `pause()` methods for NULL audio backend
2020-09-29 11:05:23 -07:00
dependabot-preview[bot] b6f05ecf41 build(deps): bump lyon from 0.16.0 to 0.16.2
Bumps [lyon](https://github.com/nical/lyon) from 0.16.0 to 0.16.2.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 05:25:14 -07:00
dependabot-preview[bot] a8876ada34 build(deps): bump image from 0.23.9 to 0.23.10
Bumps [image](https://github.com/image-rs/image) from 0.23.9 to 0.23.10.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 04:50:53 -07:00
Mike Welsh ead845ff33 chore: Appease clippy 2020-09-26 18:19:37 -07:00
Mike Welsh a59f211ae8 chore: Bump clap to 3.0-beta.2 2020-09-21 18:56:46 -07:00
Nathan Adams de009c7673 core: Add Log backend, for capturing trace output specific to a movie 2020-09-13 13:51:39 -07:00
Nathan Adams 0b5713557b desktop: Implement LocaleBackend for desktop 2020-09-02 17:12:31 -07:00
Nathan Adams 86eb6f2e50 avm1: Implement Date - #249 2020-09-02 17:12:31 -07:00
dependabot-preview[bot] 97968ab0a0 build(deps): bump image from 0.23.8 to 0.23.9
Bumps [image](https://github.com/image-rs/image) from 0.23.8 to 0.23.9.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.8...v0.23.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 12:08:51 -07:00
Nathan Adams 932cb750ba desktop: Add help documentation to command line arguments 2020-09-02 12:06:25 -07:00
Nathan Adams 7273c85034 desktop: Add --power (or -p) option for choosing a graphics power preference (high for dedicated gpu, low for integrated, default for situational best) 2020-09-02 12:06:25 -07:00
Nathan Adams 3e09767c7a desktop: Add --graphics (or -g) option for choosing a graphics backend (vulkan/metal/dx12/dx11 right now) 2020-09-02 12:06:25 -07:00
Nathan Adams cb2461920b core: HTTP request values need to preserve order 2020-08-28 11:53:32 -07:00
Mike Welsh 3d17efd941 desktop: Wire up mouse wheel events 2020-08-23 13:38:59 -07:00
Mike Welsh 227ad0dc0a desktop: Fix #1025, invalid audio stream config on ALSA
When using ALSA, cpal was returning bogus sample rates from
`Device::supported_output_configs`, causing the audio stream to
fail to initialize.

Use `Device::default_output_config` instead.
2020-08-21 13:39:42 -07:00
Mike Welsh 88b3d35e27 chore: Fix ambiguous call in audio
Nightly was complaining because `array.map` may be added in future
Rust versions.
2020-08-14 14:25:02 -07:00
Mike Welsh 1a267cfa85 core: Add git revision to version info 2020-08-14 14:12:08 -07:00
Mike Welsh e49332c43c desktop: Switch to clap 3.0.0-beta1
Prepare for next major release of clap.
Dump structopt, which has been merged into clap.
2020-08-14 14:12:08 -07:00
Mike Welsh 94771a49c6 desktop: Rollback to winit 0.22.1 (fix #757 and #980) 2020-08-06 15:11:07 -07:00
dependabot-preview[bot] d05a8af32b build(deps): bump lyon from 0.15.9 to 0.16.0
Bumps [lyon](https://github.com/nical/lyon) from 0.15.9 to 0.16.0.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 11:32:00 -07:00
dependabot-preview[bot] e8214f2305 build(deps): bump image from 0.23.7 to 0.23.8
Bumps [image](https://github.com/image-rs/image) from 0.23.7 to 0.23.8.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.7...v0.23.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 05:01:54 -07:00
David Wendt c926da8888 Refactor URL relativization into two utility methods that backends can provide base URLs and paths to. 2020-07-23 23:02:54 -04:00
David Wendt 7433bfe28f Add a `NavigatorBackend` method to resolve relative URLs. 2020-07-23 23:02:53 -04:00
David Wendt f56d16a68d Separate player creation from root movie setup, and allow users of Ruffle to load in movies synchronously or asynchronously.
During the small period of time when a player is created but has no root movie, a temporary empty movie is installed with an assumed stage size and framerate of 550x400@12fps. This is Flash default for new projects, so it seemed appropriate. User ActionScript cannot see these values, and I'm not even sure JavaScript can, either.
2020-07-23 23:02:51 -04:00
dependabot-preview[bot] 34770be5e7 build(deps): bump cpal from 0.12.0 to 0.12.1
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-22 17:02:38 -07:00
Mike Welsh ef67f828fb desktop: Revert to console app on Win32
Remove #![windows_subsystem = "windows"], which launched us as a
GUI app on win32. However, this had the side effect of hiding
output to stdout/stderr when launched from the command-line.

Since Ruffle is primarily a CLI interface as of yet, let's revert
back to a console win32 app so that we can display output. Instead,
we can hide the console if we detect we were not launched from the
command line.
2020-07-20 23:11:44 -07:00
dependabot-preview[bot] 4967fb427e build(deps): bump webbrowser from 0.5.4 to 0.5.5
Bumps [webbrowser](https://github.com/amodm/webbrowser-rs) from 0.5.4 to 0.5.5.
- [Release notes](https://github.com/amodm/webbrowser-rs/releases)
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.5.4...v0.5.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-19 19:19:33 -07:00
dependabot-preview[bot] c353d1f079 build(deps): bump image from 0.23.6 to 0.23.7
Bumps [image](https://github.com/image-rs/image) from 0.23.6 to 0.23.7.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.6...v0.23.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-12 15:12:48 -07:00
Mike Welsh 7b0a4a5838 chore: Bump to cpal 0.12 2020-07-10 17:17:11 -07:00
dependabot-preview[bot] 31e816bf52 build(deps): bump lyon from 0.15.8 to 0.15.9
Bumps [lyon](https://github.com/nical/lyon) from 0.15.8 to 0.15.9.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-05 13:51:54 -07:00
dependabot-preview[bot] 328246dc10 build(deps): bump jpeg-decoder from 0.1.19 to 0.1.20
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.19 to 0.1.20.
- [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/compare/v0.1.19...v0.1.20)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-04 15:29:45 -07:00
dependabot-preview[bot] 097b6e0bfa build(deps): bump dirs from 2.0.2 to 3.0.1
Bumps [dirs](https://github.com/soc/dirs-rs) from 2.0.2 to 3.0.1.
- [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>
2020-07-04 13:57:31 -07:00
CUB3D f03093528c core: Add shared object cache and saving on exit
On the desktop player, shared objects will now be flushed on quit.
Attempting to retrieve an existing shared object will now return a
reference to the existing one.
2020-06-24 01:46:42 +01:00
CUB3D 166cb60d89 chore: Clean up useage of unwrap 2020-06-24 01:46:07 +01:00
CUB3D fce8e8b7de chore: Fix build 2020-06-24 01:46:07 +01:00
CUB3D f2a5f4fd8e chore: Fix clippy lints and format 2020-06-24 01:46:07 +01:00
CUB3D 8822f03fba desktop: Scope storage to the specific swf being executed 2020-06-24 01:46:07 +01:00
CUB3D 8e28bab159 chore: Fix clippy lints, refactor storage to use data_local_dir 2020-06-24 01:46:07 +01:00
CUB3D 1b130ccd47 chore: Refactor storage access 2020-06-24 01:46:06 +01:00
CUB3D 4e286b43ae chore: Format 2020-06-24 01:46:06 +01:00
CUB3D 752ffc5cca chore: Fix clippy lints and tests 2020-06-24 01:44:07 +01:00
CUB3D c630e93c87 desktop: Add a disk based implementation of StorageBackend 2020-06-24 01:43:25 +01:00
Nathan Adams 59ccd75518 core: Rename loader::LoaderError to loader::Error 2020-06-20 15:02:00 -07:00
Nathan Adams 0f1eef9022 core: Introduce LoaderError to all Loader methods 2020-06-20 15:02:00 -07:00
dependabot-preview[bot] abeece7e78 build(deps): bump image from 0.23.5 to 0.23.6
Bumps [image](https://github.com/image-rs/image) from 0.23.5 to 0.23.6.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.5...v0.23.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-20 13:29:30 -07:00
Nathan Adams 5662b2d4d9 core: Make Value::coerce_to_string return a Cow<str>` 2020-06-19 12:48:28 -07:00
Mike Welsh 83feeefeeb audio: Don't panic on unimplemented codecs
Remove `unimplemented` calls when encountring unsupported codecs
such as Nellymoser. Instead, return an Error that can be
gracefully handled.
2020-06-17 12:14:08 -07:00
dependabot-preview[bot] cb33ecc14f build(deps): bump structopt from 0.3.14 to 0.3.15
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.14...v0.3.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-16 10:06:32 -07:00
dependabot-preview[bot] 7793b1a188 build(deps): bump image from 0.23.4 to 0.23.5
Bumps [image](https://github.com/image-rs/image) from 0.23.4 to 0.23.5.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.4...v0.23.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 17:04:52 -07:00
CUB3D a62b3e0b7f desktop: Removed clear_clipboard impl 2020-06-09 22:41:11 +01:00
CUB3D c5cdd6a1ad desktop: Add clipboard support to desktop player 2020-06-09 22:41:11 +01:00
dependabot-preview[bot] b8ecf2f32f build(deps): bump webbrowser from 0.5.2 to 0.5.4
Bumps [webbrowser](https://github.com/amodm/webbrowser-rs) from 0.5.2 to 0.5.4.
- [Release notes](https://github.com/amodm/webbrowser-rs/releases)
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/amodm/webbrowser-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 11:36:39 -07:00
Genna Wingert 8cb1ad7757 desktop: Use compressed favicon.ico 2020-06-09 10:26:06 -07:00
Genna Wingert 9e38c4188b Add window icon stored as embedded RGBA data.
Add embedded binary icon on Windows only.
2020-06-09 10:26:06 -07:00
Genna Wingert b63ab89dc2
desktop: Do not show Windows console window when running Ruffle (merge #691)
No longer show a command line window when opening a file with ruffle via a file association (open with).

Co-authored-by: Genna Wingert <wingertge@gmail.com>
2020-06-08 12:32:58 -07:00
dependabot-preview[bot] 00ec8121b3 build(deps): bump sample from 0.10.0 to 0.11.0
Bumps [sample](https://github.com/RustAudio/sample) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/RustAudio/sample/releases)
- [Changelog](https://github.com/RustAudio/dasp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RustAudio/sample/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 11:17:50 -07:00
Nathan Adams df6764a69c chore: Add license metadata to all packages & crates 2020-05-27 00:11:02 -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
Mike Welsh f034471e2e desktop: Set viewport dimensions based on physical size
When creating the viewport on desktop, the window DPI was not taken
into account, which may result in a blank screen until resized
(reported in #548). The window dimensions are now converted to
physical coordinates before passing them to the renderer.
2020-05-12 00:24:38 -07:00
Nathan Adams 84b274618e render: Made wgpu renderer agnostic to if it's going to a window, prep for output-to-buffer 2020-05-11 01:09:07 -07:00
Nathan Adams 47a44a5fe8 desktop: Prime window with known width/height of the movie 2020-05-04 16:07:38 -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 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 beb0eba3a3 chore: WGPURenderBackend -> WgpuRenderBackend 2020-04-30 20:00:07 -07:00
Nathan Adams c42333e254 render: Added feature render_debug_labels to enable debugging and profiling of wgpu renderer in external tools 2020-04-30 08:48:34 +02:00
Nathan Adams c2290ed5ef render: Remove dependency on winit from wgpu renderer 2020-04-30 08:48:33 +02:00
Nathan Adams f0445d94b8 render: Add wgpu-rs based renderer, used by desktop 2020-04-30 08:48:33 +02:00
Mike Welsh 6fb0046bd3 render: Move Glium renderer to separate subcrate 2020-04-29 23:26:41 -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 8aa12d181f render: Remove RenderBackend::draw_pause_overlay 2020-04-27 04:45:53 -07:00
dependabot-preview[bot] dd2f191daf build(deps): bump lyon from 0.15.7 to 0.15.8
Bumps [lyon](https://github.com/nical/lyon) from 0.15.7 to 0.15.8.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-26 21:18:17 +00:00
dependabot-preview[bot] 6bab890760 build(deps): bump lyon from 0.15.6 to 0.15.7
Bumps [lyon](https://github.com/nical/lyon) from 0.15.6 to 0.15.7.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-25 10:33:52 +00:00
Mike Welsh 650efad4b2 chore: Fix new clippy lints for Rust 1.43 2020-04-24 21:39:49 -07:00
dependabot-preview[bot] c08a55c7fc build(deps): bump structopt from 0.3.13 to 0.3.14
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.13 to 0.3.14.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.13...v0.3.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 19:25:07 +00:00
Nathan Adams b43d0c2430 core: Pass SwfMovies along to empty movie clips 2020-04-21 05:49:25 -07:00
dependabot-preview[bot] 8fd497461c build(deps): bump image from 0.23.3 to 0.23.4
Bumps [image](https://github.com/image-rs/image) from 0.23.3 to 0.23.4.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.3...v0.23.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-19 21:31:31 +00:00
dependabot-preview[bot] ecb15eac04 build(deps): bump structopt from 0.3.12 to 0.3.13
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-09 23:49:59 +00:00
dependabot-preview[bot] bb71aa677f build(deps): bump image from 0.23.2 to 0.23.3
Bumps [image](https://github.com/image-rs/image) from 0.23.2 to 0.23.3.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.2...v0.23.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-09 21:12:00 +00: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
Mike Welsh 6aaf950b7a chore: Bump winit, glutin, glium 2020-03-26 01:05:12 -07:00
dependabot-preview[bot] 265197b475 build(deps): bump structopt from 0.3.11 to 0.3.12
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.11...v0.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-18 20:35:34 +00:00
dependabot-preview[bot] 1ba60ebd67 build(deps): bump image from 0.23.1 to 0.23.2
Bumps [image](https://github.com/image-rs/image) from 0.23.1 to 0.23.2.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.1...v0.23.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-17 17:32:09 +00:00
dependabot-preview[bot] b85c4e2ed8 build(deps): bump image from 0.23.0 to 0.23.1
Bumps [image](https://github.com/image-rs/image) from 0.23.0 to 0.23.1.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.0...v0.23.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 18:56:56 +00:00
dependabot-preview[bot] f215458501 build(deps): bump structopt from 0.3.9 to 0.3.11
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.9 to 0.3.11.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-03 00:01:14 +00:00
dependabot-preview[bot] 4266cd54d5 build(deps): bump lyon from 0.15.5 to 0.15.6
Bumps [lyon](https://github.com/nical/lyon) from 0.15.5 to 0.15.6.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 19:51:44 +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 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
Mike Welsh 5315d059b9 desktop: Fetch from local filesystem for now 2020-02-24 01:49:28 -08:00
David Wendt 88b10f21c4 Implement an async executor for desktop so that these methods don't immediately panic. 2020-02-22 00:02:46 -05: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 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
Mike Welsh 432c605987 chore: Bump glutin/glium/winit to latest versions
Closes #371, #376.
2020-02-14 13:23:27 -08:00
dependabot-preview[bot] c7405d6bc0 build(deps): bump image from 0.22.4 to 0.23.0
Bumps [image](https://github.com/image-rs/image) from 0.22.4 to 0.23.0.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.22.4...v0.23.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 01:33:11 +00:00
dependabot-preview[bot] 580144d57b build(deps): bump structopt from 0.3.8 to 0.3.9
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.8 to 0.3.9.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.8...v0.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-01 11:05:33 +00:00
dependabot-preview[bot] fdc37ec44f build(deps): bump structopt from 0.3.7 to 0.3.8
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:24:58 +00:00
Nathan Adams 4ad6ef8b83 core: Implemented Key.getCode() 2020-01-17 15:11:38 -08:00
Nathan Adams f747caf30c desktop: Add swf filename to window title (closes #318) 2020-01-17 13:54:25 -08:00
dependabot-preview[bot] 89a0b82e6e build(deps): bump image from 0.22.3 to 0.22.4
Bumps [image](https://github.com/image-rs/image) from 0.22.3 to 0.22.4.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 19:16:45 +00: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
dependabot-preview[bot] 6ff9fd21e3 build(deps): bump lyon from 0.15.3 to 0.15.5
Bumps [lyon](https://github.com/nical/lyon) from 0.15.3 to 0.15.5.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 18:37:17 +00: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] c966f9bf59 build(deps): bump winit from 0.20.0-alpha5 to 0.20.0-alpha6
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha5 to 0.20.0-alpha6.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-04 00:02:22 +00: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] 861a4484a5 build(deps): bump structopt from 0.3.6 to 0.3.7
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.6...v0.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 23:10:17 +00:00
dependabot-preview[bot] 71ba4cb86e build(deps): bump lyon from 0.15.1 to 0.15.3
Bumps [lyon](https://github.com/nical/lyon) from 0.15.1 to 0.15.3.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 22:56:08 +00:00
Mike Welsh 7feddfcb03 desktop: Bump to lyon 0.15.2 (fix #196)
The new tessellator in lyon seems to fix many of the cases where
art would not tessellate correctly.
2019-12-27 17:21:48 -08:00
Mike Welsh 87158647d1 core: Implement keyPress button events 2019-12-24 03:06:03 -08:00
dependabot-preview[bot] 9211c7ac05 build(deps): bump structopt from 0.3.5 to 0.3.6
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.5...v0.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-22 22:54:14 +00:00
Nathan Adams 9000451d58 core: Implemented Mouse.show() & Mouse.hide() 2019-12-22 14:33:46 -08:00
Nathan Adams 3fd79a6982 chore: Rename GliumInputBackend -> WinitInputBackend 2019-12-21 19:08:06 -08:00
Nathan Adams 856a2f2910 desktop: Implemented glium based input handler for Key.isDown 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] f58827f3de build(deps): bump cpal from 0.10.0 to 0.11.0
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:31:40 +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
dependabot-preview[bot] 7fce29e006 build(deps): bump winit from 0.20.0-alpha4 to 0.20.0-alpha5
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha4 to 0.20.0-alpha5.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 07:25:47 +00: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
Mike Welsh 1a1cdfa757 desktop: Allow audio creation to fail
Switch to NullAudioBackend if CpalAudioBackend fails to initialize.
(This happens on my laptop which doesn't have an audio device!)
2019-11-30 20:08:34 -08:00
Nathan Adams d1b73582ce core: Add feature `avm_debug` that toggles tracing avm actions and stack history 2019-11-29 12:59:45 -08:00
dependabot-preview[bot] 112411aa7a build(deps): bump structopt from 0.3.4 to 0.3.5
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.4...v0.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 10:53:04 +00:00
dependabot-preview[bot] 7382d19b63 build(deps): bump image from 0.21.3 to 0.22.3
Bumps [image](https://github.com/image-rs/image) from 0.21.3 to 0.22.3.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.21.3...v0.22.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 17:16:50 +00:00
dependabot-preview[bot] 24009d4f4a build(deps): bump structopt from 0.2.18 to 0.3.4
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.2.18 to 0.3.4.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.2.18...v0.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 19:01:18 +00:00
dependabot-preview[bot] 0e8d86a419 build(deps): bump env_logger from 0.6.2 to 0.7.1
Bumps [env_logger](https://github.com/sebasmagri/env_logger) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/sebasmagri/env_logger/releases)
- [Changelog](https://github.com/sebasmagri/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebasmagri/env_logger/compare/v0.6.2...v0.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 18:49:16 +00:00
Mike Welsh a205586332 chore: Bump lyon to 0.14.2, fix #77 2019-11-18 15:49:28 -08:00
Mike Welsh 07cc28dc9d desktop: Resize window to match movie dimensions 2019-11-18 18:33:54 -05:00
Mike Welsh 70a3096dbb desktop: Use ControlFlow::WaitUntil in winit 0.20
Fix frame timing with to prevent busy-waiting with the new control
flow behavior in winit 0.20.
2019-11-18 18:33:54 -05:00
Mike Welsh 6178dd9ef1 desktop: Fix Windows audio initialization due to winit changes
The Windows build was erroring immediately when trying to
initialize cpal because of changes in winit 0.20:

https://github.com/RustAudio/cpal/pull/348

Moved the cpal initialization to a separate thread to work around
this issue.
2019-11-18 18:33:54 -05:00
Mike Welsh 09b6c086d6 chore: Squelch unneeded_filed_pattern warning 2019-11-17 17:36:21 -05:00
Mike Welsh 63b5587762 chore: Bump glium to 0.26-alpha5 2019-11-17 17:36:21 -05:00
Mike Welsh e3d0d9031d core: Handle empty JPEGTables tags (fix #116) 2019-11-11 17:08:08 -05:00
Mike Welsh 97edbc98df core: Bump winit, glutin, glium versions 2019-11-11 14:06:41 -05:00
Mike Welsh 7d98c87a33 desktop: Implement event sound envelopes 2019-10-30 19:26:19 -07:00
Mike Welsh e08a735799 desktop: Use SeekSamples to account for MP3 encoder delay 2019-10-29 23:36:51 -07:00
Mike Welsh 1a7959b96d audio: Initial syncing of stream sound to MovieClip timeline 2019-10-29 23:36:51 -07:00
Mike Welsh 33c0bbd0ce desktop: Fix incorrect rendering of bitmaps w/ color transforms
The premultiplied alpha was not properly considered when there was
a color transform on a bitmap. Now the shader unmultiplies the
alpha before applying the color transform, and the remultiplies it.
2019-10-29 00:03:29 -07:00
Mike Welsh 35be57553e desktop: Improve animation sync
The timing on desktop was causing the movie to run too slow,
causing it to get out of sync. Now it should run at the correct
speed.
2019-10-28 21:05:18 -07:00
Mike Welsh eaea6aaf20 audio: Fix audio for ADPCM stream sounds
When a stream sound uses ADPCM compression, the ADPCM header is
included in each SoundStreamBlock (as opposed to stream sounds
in the other formats). This header wasn't being parsed, resulting
in corrupted audio (see https://homestarrunner.com/main12.swf).
2019-10-28 02:51:46 -07:00
Nathan Adams 59d39d6572 Added a bulk swf scanning tool 2019-10-11 16:37:15 -07:00
Mike Welsh 4aec120ffb core: Add Bitmap display object
Converts the Bitmap character to a proper display object. This can
be instantiated directly in a PlaceObject tag in SWFv9 movies,
compared to the previous versions which indirectly references
bitmaps from Shape tags.
2019-10-11 16:33:58 -07:00
Mike Welsh fcfcf0407d core: Fix stop sound events 2019-09-27 13:50:03 -07:00
Mike Welsh af163d9183 core: Support start, stop, event sounds in audio backend
Event sounds on the timeline in Flash have a "sync" setting,
which allows them to stop other sounds or only play if the
sound is not already playing.
2019-09-27 13:50:03 -07:00
Mike Welsh 6247d5d027 chore: Remove deprecated clippy lint 2019-09-26 12:24:59 -07:00
Mike Welsh 547da84c9c core: Add stop_all_sounds to audio backend
Implemented in web and desktop.
2019-09-19 00:47:05 -07:00
Mike Welsh e052a70a5a desktop: Support looping and start/end points for event sounds
Renamed `AudioBackend::play_sound` to `start_sound`, and this
also takes a `SoundInfo` parameter with the event sound settings
from the SWF file.

Desktop now obeys the loop and start/end point settings. Envelopes
are still TODO.
2019-09-19 00:47:05 -07:00
Mike Welsh 9c8721c127 core: Drop rodio and use only cpal for audio backend
Drop the rodio dependency and directly use cpal for the audio
backend. Use the sample crate for audio mixing and resampling.
2019-09-19 00:47:05 -07:00
Mike Welsh 82c1116c42 chore: cargo fmt 2019-09-16 20:37:11 -07:00
David Wendt 4250015420 Add query support for desktop and resolve some TODOs 2019-09-16 20:04:30 -07:00
David Wendt f00e938299 Clean up unused functionality in preparation of a PR. 2019-09-16 20:04:30 -07:00
David Wendt 65586cbcf5 Allow SWFs to open websites from the desktop 2019-09-16 20:04:30 -07:00
David Wendt 0f9db1744b Add a backend for controlling the enclosing web browser. 2019-09-16 20:04:30 -07:00
Mike Welsh df8177d2e1 destkop: Fix garbage colors in gradients
Gradients could render with uninitialzied memory (usually colors
from previous gradients). Now the interpolation value is clamped
in the shader to prevent out-of-bounds access of the gradient
colors array.

This will be cleaned up further when the rendering backend
switches to gfx-rs.
2019-09-10 22:50:23 -07:00
Mike Welsh 37063b4a96 desktop: Clear stencil buffer when overflowing stencil mask 2019-09-09 20:42:08 -05:00
Mike Welsh 8fcee704c0 chore: cargo fmt 2019-09-09 20:42:08 -05:00
Mike Welsh 28f0ce3c83 Mask work 2019-09-09 20:42:08 -05:00
Mike Welsh 35652ae87e chore: Update dependencies
Run cargo update. Remove git dependency on jpeg-decoder (the latest
version was published to crates.io). Update swf-rs to latest to
disable smoothing in SWFv7 and lower (addresses #28).
2019-08-29 14:57:12 -07:00
Mike Welsh f41470129d desktop: Skip path on tessellation error
lyon vomits a lot on various tessellations. Previously this would
bail out immediately for the entire shape, resulting in missing art.
Now we just skip that particular path, and the rest of the shape
should get tessellated as normal.
2019-08-26 18:06:10 -07:00
Mike Welsh 6a5c5ab1df chore: Add rustfmt.toml and rustfmt pass 2019-08-26 16:38:48 -07:00
Mike Welsh 6499df988f desktop: Respect bitmap smooth/repeat settings
Addresses #28.
2019-08-24 10:59:34 -05:00
Mike Welsh 324a410cb1 render: Properly render premultiplied alpha bitmaps 2019-08-22 15:24:50 -07:00
Mike Welsh 9cbeacd7b2 core: Transform mouse coordinates from viewport to stage 2019-08-19 22:27:38 -07:00
Mike Welsh 637588fae5 core: Store view matrix in player
Player is now in charge of scaling/cropping/translating the content
to fit the viewport size supplied by the frontend.

Added backend::render::Letterbox, which stores the margin sizes
for letter/pillarboxing.
2019-08-19 22:27:38 -07:00
Mike Welsh 0143d9716e core: Button work 2019-08-19 22:27:38 -07:00
Mike Welsh 9d962fd634 core: Improve button support 2019-08-19 22:27:38 -07:00
Mike Welsh ce606cece8 core: Re-enable AVM1 2019-08-19 22:27:37 -07:00
Mike Welsh 4666d211a7 core: Add dyn to fix Rust 1.37 warnings
Omitting dyn on trait objects now emits a warning, so add missing
dyn where necessary.
2019-08-15 13:54:20 -07:00
Mike Welsh 4c6395bd83 core: Use latest git branch for jpeg-decoder
The current version of jpeg-decoder on crates.io (0.1.15) panics
when encountering a valid JPEG marker of length 2. Some SWF files
contained JPEGs with a COM segment of length 2. This is fixed
on the master branch of jpeg-decoder.
2019-08-14 23:19:10 -07:00
Mike Welsh 746b9d8518 core: Support for DefineBitsJPEG3/4
TODO: Pull out all JPEG decoding into core, remove jpeg-decoder
dependency from backend crates.
2019-08-12 16:44:49 -07:00
Mike Welsh a3998b657b core: Remove invalid JPEG data from DefineBitsJPEG
DefineBitsJPEG tags can have some extraneous bytes inside the
stream. Splice these out when decoding the JPEG.

TODO: Docs say this should only happen for SWF versions before 8?
2019-08-12 15:45:40 -07:00
Mike Welsh 23db688e6f core: Add DefineBitsLossless decoding function
Pulled out the code for decoding DefinieBitsLossless tags into
backend::render::define_bits_lossless_to_rgba. Switch to libflate
for zlib decoding.
2019-08-12 15:45:40 -07:00
Mike Welsh 2bfc8767d0 desktop: Add letterbox to viewport
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-11 18:07:02 -07:00
Mike Welsh af2287a658 desktop: Add letterbox to viewport
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-10 10:18:32 -07:00
Mike Welsh 24fc403e06 core: Make player generic over backend 2019-08-09 22:34:15 -07:00
Mike Welsh 3edc3c3d3e web: Disable auto-play, add click-to-play 2019-08-09 14:50:20 -07:00
Mike Welsh e64e306137 Rework audio to allow for streaming decoding 2019-08-08 15:59:32 -07:00
Mike Welsh 725cdae6c5 Begin AVM1 cleanup 2019-08-08 15:58:45 -07:00
Mike Welsh ce5faefe1f Work 2019-08-08 15:57:10 -07:00
Mike Welsh 3d81ba5eb6 Update lyon to 0.13.3 2019-07-10 21:04:59 -07:00
Mike Welsh fd8f58c6c2 Work 2019-07-10 21:04:59 -07:00
Lucas Baizer 1521fb0bc1 Allow gradients with more than 8 colors 2019-06-28 10:14:09 -07:00
Mike Welsh ba36435711 desktop: Pass pixel coordinates to lyon
Lyon seems sensitive to overflow on large coordinates, so passing
twips resulting in overflow panics on very large shapes.

Avoid panics on tessellation failure: instead, return an empty
mesh and log an error.
2019-05-17 18:51:53 -07:00
Mike Welsh 3cefeeba6a Use twips for internal calculations
Switch from pixels to twips for internal calculations. swf crate
was updated to add a Twips wrapper-type. Ruffle will use this type
internally for transforms and shapes. This fixes some precision
errors in rendering (see heroes_of_cybertron.swf) and will match
what the Flash Player does internally more closely. (e.g.
DisplayObject x and y will be quantized to 1/20 pixel units). It
is up to the renderer to convert units from twip space to pixels
when rendering.
2019-05-17 13:40:56 -07:00
Mike Welsh af33b8538e desktop: Better event sounds 2019-05-09 17:43:53 -07:00
Mike Welsh 62ae3b0c46 Rename project 2019-05-08 09:46:19 -07:00
Mike Welsh 1a4734896d Event sounds and text on web 2019-05-05 15:55:27 -07:00
Mike Welsh e56a16ea82 Fix hole tesselation 2019-05-04 13:58:54 -07:00
Mike Welsh 2480469c2c First pass of static text 2019-05-04 11:45:11 -07:00
Mike Welsh 1dfedae485 Add some button functionality 2019-05-03 11:44:12 -07:00
Mike Welsh 5b09bc7de1 Add audio backend for desktop 2019-05-03 02:33:58 -07:00
Mike Welsh 884b7c915a Gradients on desktop 2019-05-02 22:09:25 -07:00
Mike Welsh 6e8082f01b Reorganized backend structure 2019-05-02 19:56:17 -07:00
Mike Welsh d6e68dd43e Add initial AVM1 implementation 2019-05-01 17:46:49 -07:00
Mike Welsh cdde17f360 Color transforms 2019-04-30 23:05:16 -07:00
Mike Welsh ded41dffb0 work 2019-04-30 17:46:32 -07:00
Mike Welsh eb6c23d967 Work 2019-04-30 01:53:21 -07:00
Mike Welsh ee64cc77bc Reforactor 2019-04-27 23:08:59 -07:00
Mike Welsh 2609d8c00d Shapes on glium backend 2019-04-27 20:58:33 -07:00
Mike Welsh b7ac6dc2ce Refactor 2019-04-27 18:15:43 -07:00