Commit Graph

430 Commits

Author SHA1 Message Date
TÖRÖK Attila 3869950578 video/vp6: Add VP6[A] video decoding support
Gated behind the "vp6" feature, enabled by default.
Utilizing a heavily stripped-down version of the NihAV project,
retaining only the VP6 decoder, relicensed under MIT.
Including VP6WithAlpha decoding, proper FrameDependency reporting,
and cropping the unwanted encoded pixels on the right/bottom manually.
2021-10-04 22:33:06 -07:00
dependabot[bot] e03e8ee4f3 build(deps): bump dirs from 3.0.2 to 4.0.0
Bumps [dirs](https://github.com/soc/dirs-rs) from 3.0.2 to 4.0.0.
- [Release notes](https://github.com/soc/dirs-rs/releases)
- [Commits](https://github.com/soc/dirs-rs/commits)

---
updated-dependencies:
- dependency-name: dirs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-21 00:07:52 +03:00
relrelb 3aeffce365 desktop: Refactor clap settings
* Fix #5252 by passing `multiple_occurrences = true`.
* Remove `case_insensitive = true`.
* Reformat comments a bit.
2021-09-08 16:04:09 -07:00
Mike Welsh 94d02fa653 core: Add AudioMixer to core
Pull out the audio mixing code from desktop and add it to core.
This will allow other backends to use it (such as the web audio
backend) to get consistent audio across all platforms.
2021-09-07 16:48:34 -07:00
Tal Hayon 4625ca0e0b web: fix base param 2021-09-07 16:45:35 -07:00
David Wendt 116fb1f323 avm2: Impl `Sound.play`
This does not (yet) implement the third `SoundTransform` parameter on `play`.
2021-09-03 16:47:02 -06:00
David Wendt 3b6eea2a1d core: Report sound duration as `f64` and round down in AS1 2021-09-03 16:47:02 -06:00
David Wendt 89b411593f avm2: Impl `Sound.bytesTotal` 2021-09-03 16:47:02 -06:00
relrelb fff739d5c9 desktop: Cleanup `CpalAudioBackend` 2021-09-03 22:48:35 +03:00
relrelb 66e2a2166e desktop: Revert cpal initialization on a separate thread
It was initialized on a separate thread since 6178dd9ef1,
as a workaround for Windows.

But now thanks to https://github.com/RustAudio/cpal/pull/597, this
is no longer needed, and cpal can be initialized on the same thread
as before.
2021-09-03 22:48:35 +03:00
dependabot[bot] 9a9bb3f781 chore: Bump isahc from 1.4.0 to 1.5.0
Bumps [isahc](https://github.com/sagebind/isahc) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.4.0...1.5.0)

---
updated-dependencies:
- dependency-name: isahc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 23:46:32 +03:00
Mike Welsh 1f951b6b9f core: Add h263 feature 2021-08-21 14:13:55 -06:00
David Wendt dae087017c desktop: Add video backend to timedemo 2021-08-21 14:13:55 -06:00
EmperorBale 792a0d6502 desktop: Fix clap settings 2021-08-20 21:41:44 -06:00
dependabot[bot] cb2f1b6488 chore: Bump clap from 3.0.0-beta.2 to 3.0.0-beta.4
Bumps [clap](https://github.com/clap-rs/clap) from 3.0.0-beta.2 to 3.0.0-beta.4.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.0.0-beta.2...v3.0.0-beta.4)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-18 09:13:25 +03:00
dependabot[bot] 26a1ffc0c9 chore: Bump cpal from 0.13.3 to 0.13.4
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.13.3 to 0.13.4.
- [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)

---
updated-dependencies:
- dependency-name: cpal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-10 08:26:38 +03:00
Adrian Wielgosik b940e7f00f Extension: Sidestep CORS issues by offering to load the SWF in a tab 2021-08-02 21:28:16 +02:00
dependabot[bot] ca2d17ade6 chore: Bump env_logger from 0.8.4 to 0.9.0
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.4 to 0.9.0.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.4...v0.9.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 23:49:40 +03:00
Adrian Wielgosik 35d543b610 desktop: Add a flag to disable AS3 warning popup 2021-07-06 17:03:45 +02:00
relrelb 0fd1c05fd5 chore: Use into() in more places 2021-06-22 11:49:41 -07:00
dependabot[bot] cf4a1136c5 chore: Bump env_logger from 0.8.3 to 0.8.4
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.3...v0.8.4)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:47:57 -07:00
relrelb f82faf9603 chore: Appease clippy 2021-06-05 10:16:00 -07:00
Mike Welsh d3512ca3a1 chore: Bump tinyfiledialogs to 3.8.3 2021-05-31 12:31:00 -07:00
Mike Welsh 3ddb97d2f6 core: Add SwfMovie::frame_rate and num_frames 2021-05-23 23:02:38 -07:00
Mike Welsh 077c7f045e core: Add SwfMovie::stage_size
Change `SwfMovie::width` and `height` to return `Twips`.
2021-05-23 23:02:38 -07:00
Mike Welsh e1439f4105 swf: Add HeaderExt struct providing additional info
When reading an SWF, search for FileAttributes and
SetBackgroundColor and return this along with the header data
because it's useful (in particular, the AS3 flag).
2021-05-23 23:02:38 -07:00
dependabot[bot] 9c837c4b85 chore: Bump winit from 0.24.0 to 0.25.0
Bumps [winit](https://github.com/rust-windowing/winit) from 0.24.0 to 0.25.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.24.0...v0.25.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 10:27:54 -07:00
dependabot[bot] 1082d2fea7 chore: Bump isahc from 1.3.1 to 1.4.0
Bumps [isahc](https://github.com/sagebind/isahc) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.3.1...1.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 10:09:45 -07:00
relrelb 7acf0349c3 desktop: Refactor main.rs 2021-05-11 18:58:08 -07:00
Mike Welsh 6051ee4cb1 core: Disallow .. in shared object paths (fix #3961)
Toss out any shared objects that contain ".." in the name
to avoid accessing files outside of the Ruffle data directory.

The DiskStorageBackend also will fail any requests with a ".."
component as an extra precaution.

Fixes #3961.
2021-05-09 23:20:32 -07:00
Mike Welsh 339f0e2862 desktop: Append .sol extension to SharedObject files
Also, prefix the shared object name with # if it contains a
slash, (e.g. `#mygame/foo`). This matches Flash's directory
structure and makes it easier to transfer saved data to Ruffle.
2021-05-09 23:20:32 -07:00
CUB3D cd1cde1708 avm1: Implement de/serialization of shared objects into Flash Player Lso format 2021-05-09 23:20:32 -07:00
Mike Welsh ba7fd1b2b9 chore: Appease clippy, bump url
Bump url and avoid `Url::into_string` deprecation warnings.
Fix `single_char_pattern` clippy lints.
2021-05-07 20:51:26 -07:00
Mike Welsh e35933aeee desktop: Fix window size calculation
Change width/height CLI paramters to `f64`, and also clamp window
size to minimum of 1x1 to prevent panics from invalid window
dimensions.
2021-05-06 17:56:35 -07:00
Nicolas F 423fcf5019 desktop: add parameters to specify window size
This adds two optional parameters, --width and --height, which
allow the user to specify a desired physical window width and
height to be used. If only one of the two parameters is present,
the other will be deduced from it and the movie's aspect ratio.

If neither are present, the window's size is set to the movie's
logical size, in accordance with the behaviour before this change.
2021-05-06 15:58:41 -07:00
Moulins 272841729e core: Replace SwfMovie's PropertyMap by a list of key-value pairs
PropertyMap is an AVM1-only concept, and shouldn't be used on cross-VM
types.
2021-05-03 13:47:14 -07:00
David Wendt 0c6584ca03 core: Store the viewport's scale factor on the stage 2021-04-26 01:15:42 -07:00
relrelb 79bcee07f5 audio: Properly round sound duration
Previously it was always rounded down. Change it to the nearest
integer.
2021-04-17 09:11:50 -07:00
dependabot-preview[bot] 6f1b0a23ee build(deps): bump isahc from 1.3.0 to 1.3.1
Bumps [isahc](https://github.com/sagebind/isahc) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.3.0...1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-16 23:35:56 -07:00
relrelb 76cc81a2d0 desktop: Cleanup Cargo.toml
Remove some unused dependencies, and the redundant version specifier
of dasp.
2021-04-09 13:58:28 -07:00
dependabot-preview[bot] afe225bbe7 build(deps): bump cpal from 0.13.2 to 0.13.3
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.13.2 to 0.13.3.
- [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>
2021-04-08 11:42:01 -07:00
dependabot-preview[bot] b01fb106ab build(deps): bump isahc from 1.2.0 to 1.3.0
Bumps [isahc](https://github.com/sagebind/isahc) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.2.0...1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 11:34:53 -07:00
EmperorBale 1020aa84d6 chore: Simplify response.status() formatting 2021-04-06 16:01:34 -06:00
EmperorBale e36ad2874b chore: Make error message more helpful 2021-04-06 16:01:34 -06:00
EmperorBale 51e2ebf492 web/desktop: Check the HTTP status of requests 2021-04-06 16:01:34 -06:00
David Wendt de1b0d4d0c core: Add support for an explicit loader URL (though nothing sets it yet) and expose it in `LoaderInfo`. 2021-04-05 16:18:37 -06:00
dependabot-preview[bot] 3da60a2e04 build(deps): bump isahc from 1.1.0 to 1.2.0
Bumps [isahc](https://github.com/sagebind/isahc) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.1.0...1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-23 13:23:12 -07:00
dependabot-preview[bot] 9a0ecded03 build(deps): bump cpal from 0.13.1 to 0.13.2
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.13.1 to 0.13.2.
- [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>
2021-03-17 12:06:23 -07:00
dependabot-preview[bot] 98abaf4ca2 build(deps): bump image from 0.23.13 to 0.23.14
Bumps [image](https://github.com/image-rs/image) from 0.23.13 to 0.23.14.
- [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.13...v0.23.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 16:22:31 -08:00
Tempy111 00e1f36984 core: Add missing support for Tab keycode 2021-02-27 16:44:39 -08:00
Mike Welsh 3099914374 chore: Appease clippy 2021-02-27 16:10:46 -08:00
dependabot-preview[bot] 75fca8f6b6 build(deps): bump url from 2.2.0 to 2.2.1
Bumps [url](https://github.com/servo/rust-url) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.2.0...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-18 14:22:06 -08:00
David Wendt b78baeb41d core: Add software video backend, separate from the null backend, to store software decoders. 2021-02-16 19:03:48 -08:00
David Wendt 80bceeacab core: Add `VideoBackend` to host video decoders 2021-02-16 19:03:48 -08:00
relrelb bb89391f3a chore: Avoid deprecated constants
The Rust documentation considers numeric constants prefixed with std::
as deprecated.
For example: https://doc.rust-lang.org/std/u16/constant.MAX.html.
2021-02-12 06:36:17 -08:00
Mike Welsh e5fb1f09e7 chore: Appease clippy
* #[derive(Collect)] should be before #[collect]
 * Replace redunant `&buf[..]` with `buf`
 * Changes most cases of UPPERCase to UpperCase
 * Allow upper_case_acronym on most SWF types, as they are from
   SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
dependabot-preview[bot] b3fdd50bd0 build(deps): bump env_logger from 0.8.2 to 0.8.3
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.2 to 0.8.3.
- [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.2...v0.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-11 11:38:29 -08:00
Mike Welsh 16bd7fade6 web: Use case-insensitive check for detecting javascript scheme 2021-02-08 03:41:16 -08:00
crumblingstatue 5f25fe8807
desktop: Don't unwrap url to file path conversion
It might not succeed.
This unwrap crashes the newgrounds Meat Boy flash on desktop.

Instead, use unwrap_or_default with an empty path. This will cause
the read to fail, but it's better than crashing the whole program.
2021-02-04 15:08:56 -08:00
dependabot-preview[bot] a6132a504b build(deps): bump image from 0.23.12 to 0.23.13
Bumps [image](https://github.com/image-rs/image) from 0.23.12 to 0.23.13.
- [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>
2021-02-04 11:21:41 -08:00
relrelb 074731e1a4 audio: Add Nellymoser support 2021-02-02 00:41:01 -08:00
Mads Marquart 1990e51639 avm2: Add UiBackend::display_unsupported_message
To allow displaying rich content when unsupported ActionScript 3 content is encountered.
2021-01-31 23:04:20 -08:00
relrelb 7431cd9b10
core: Merge InputBackend into UiBackend 2021-01-30 16:36:45 -08:00
relrelb fdda75eeec
desktop: Improve ruffle_desktop.rc 2021-01-30 16:32:28 -08:00
dependabot-preview[bot] c98c8c5ced build(deps): bump lyon from 0.17.4 to 0.17.5
Bumps [lyon](https://github.com/nical/lyon) from 0.17.4 to 0.17.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>
2021-01-30 16:28:18 -08:00
dependabot-preview[bot] 07fbacc4fb build(deps): bump isahc from 1.0.3 to 1.1.0
Bumps [isahc](https://github.com/sagebind/isahc) from 1.0.3 to 1.1.0.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.0.3...1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-30 16:26:21 -08:00
dependabot-preview[bot] 6f14490f84 build(deps): bump jpeg-decoder from 0.1.21 to 0.1.22
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.21 to 0.1.22.
- [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.21...v0.1.22)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-29 11:42:19 -08:00
Mads Marquart 6772f96469 desktop: Use slice unpacking instead of unsafe get_unchecked 2021-01-28 14:39:35 -08:00
Mike Welsh 5e0527c599 desktop: Fix sound envelopes to use proper positions
The points in an SWF sound envelope are always in 44.1KHz. The
desktop audio backend would end up using this points in the sound's
sample rate, often causing the envelope to be delayed.

Now the envelope is applied after resampling, and the positions
are scaled based on the output sample rate.
2021-01-27 16:16:30 -08:00
Mike Welsh a4699a3ca5 audio: Sound transforms apply to stream sounds
This unifies the code path for event sounds and stream sounds.
Both `AudioBackend::start_stream` and `start_sound` return a
`SoundHandle`. `stop_stream` is removed (`stop_sound` can be
used for both cases).

Also removes references to `CharacterId` from the `AudioBackend`
(instead, an increasing ID is returned to identiy streams while
loading).
2021-01-27 15:25:04 -08:00
Mike Welsh 95ce2abf17 audio: Remove AudioBackend::stop_sounds_with_handle/is_sound_playing_with_handle 2021-01-27 15:25:04 -08:00
Mike Welsh da2dd3b36c core: Implement sound transforms and Sound.setPan 2021-01-27 15:25:04 -08:00
Mike Welsh 34f60b127a core: Add AudioManager to handle actively playing sounds
Add an AudioManager struct to handle this list of actively playing
sounds. This will maintain information for each sound instance,
such as the owning display object, AVM1 object, etc.

This will allow us to implement the awkward AVM1 Sound API in a
fairly backend-agnostic way.
2021-01-27 15:25:04 -08:00
Mads Marquart 4c3783b6ff desktop: Also use flashvars parameters when running local files 2021-01-26 16:27:20 -08:00
Mads Marquart ad137a2377 desktop: Change Windows Subsystem to not launch unnecessary console
Basically just copied from what alacritty is doing:
530de00049/alacritty/src/main.rs

There are two functional changes:
- When launching normally, you no longer see a console window quickly flashing
- When launching via. console, the program is detached (but still logs to the console)
2021-01-25 01:31:14 -08:00
Mads Marquart 5d887861da desktop: Fix windows cross compilation of assets 2021-01-24 18:11:48 -08:00
dependabot-preview[bot] 239ccb3511 build(deps): bump jpeg-decoder from 0.1.20 to 0.1.21
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.20 to 0.1.21.
- [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>
2021-01-24 11:52:39 -08:00
dependabot-preview[bot] ef428d95a7 build(deps): bump lyon from 0.17.3 to 0.17.4
Bumps [lyon](https://github.com/nical/lyon) from 0.17.3 to 0.17.4.
- [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>
2021-01-23 19:08:26 -08:00
Mike Welsh da1e2801a2 chore: Appease clippy 2021-01-18 21:23:50 -08:00
dependabot-preview[bot] e4d7e73ef1 build(deps): bump lyon from 0.17.1 to 0.17.3
Bumps [lyon](https://github.com/nical/lyon) from 0.17.1 to 0.17.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>
2021-01-14 03:04:25 -08:00
Toad06 7480e836ec web: Changes from review 2021-01-11 13:16:00 -08:00
dependabot-preview[bot] 7c1b5c4e68 build(deps): bump isahc from 1.0.2 to 1.0.3
Bumps [isahc](https://github.com/sagebind/isahc) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/sagebind/isahc/releases)
- [Commits](https://github.com/sagebind/isahc/compare/1.0.2...1.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-10 17:18:55 -08:00
MrCheeze c2470d39fc desktop: Increase window maximum size to 32767x32767
By default, winit limits the window size to the screen resolution.
Since some flashes are larger than this, increase the limit to an
arbitrarily-chosen larger constant.
2021-01-10 15:11:34 -08:00
MrCheeze 054db37ba0 desktop: Fix rendering when window is has unexpected size (close #1631)
Winit's WindowBuilder will sometimes create a window whose size is
smaller than requested. Therefore, instead of assuming the actual
window size is requested size * scaling, just check what the true
size is. (window.inner_size() also takes scaling into account.)

This fixes at least one issue where rendering would fail on Windows
with the Vulkan backend due to the incorrect size being used.
2021-01-10 15:11:34 -08:00
relrelb 55f348f014 desktop: Prevent entering/exiting fullscreen repeatedly 2021-01-08 11:59:08 -08:00
relrelb b2867aa3b9 desktop: Add fullscreen exit keyboard shortcut
Flash Player also exits fullscreen when escape is pressed.
2021-01-08 11:59:08 -08:00
relrelb 030ff398ef desktop: Handle fullscreen keyboard shortcut in its own case 2021-01-08 11:59:08 -08:00
Mike Welsh cb9bdcdfdb desktop: Hook up DesktopUiBackend::is_fullscreen 2021-01-07 12:49:36 -08:00
relrelb 6270156c74 desktop: Change fullscreen shortcut to Alt+Enter
And also remove the Escape shortcut because it might interfere with
games.
2021-01-07 12:49:36 -08:00
relrelb abe608fd4d desktop: Add fullscreen keyboard shortcut 2021-01-07 12:49:36 -08:00
Mike Welsh 01aca9f861 web: Remove upgrade_to_https param from Ruffle::new
Grab it from the `config` directly instead of using an extra param.
2021-01-07 11:46:07 -08:00
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