Commit Graph

324 Commits

Author SHA1 Message Date
Nathan Adams 1bb8515d85 chore: Update avm2 compatibility warning to be less severe 2023-03-15 15:30:25 -07:00
Aaron Hill 66aad3ebc5 core: Use a separate matrix for stage alignment and HiDPI scaling
The stage alignment settings viewport_scale_factor should *not* be
applied to `Stage.transform.matrix`, which is only ever changed
as a result of explicit modification from ActionScript. Instead,
alignment and scaling are performed a separate step, which is
transparent to ActionScript.

I've implemented this through a new `viewport_matrix` field,
which is used during stage rendering and mouse coordinate
transformation.

This makes Stage3D instances properly scale - previously, they
would render unscaled. The linux standalone Flash Player doesn't
seem to use HiDPI mode, so I didn't realize that this was a bug
until now.

In the process of implementing this, I discovered and fixed a bug
with how we handle changing the viewport size under winit.
Calling `self.window.set_inner_size` does not immediately take
effect (at least on X11) - calling `self.window.inner_size()`
will report the old size until the next resize event.
Since build our Stage matrices from `self.window.inner_size()`
(and start running the SWF) immediately after `RuffleEvent::OnMetadata`,
we would run a few SWF frames with an incorrect viewport size. This
is visible to SWFs that have the scale mode set to "noScale", and
could break SWFs that expect the initial viewport size to be
the movie size. I've fixed this by delaying SWF execution until
we get a Resize event (if `self.window.inner_size()` does not
immediately report the size we set).
2023-03-13 02:02:40 -05:00
Aaron Hill 830d5198f2 desktop: Actually use 'quality' flag
This was being completely ignored
2023-03-04 18:45:25 -06:00
Aria Aghaei 352ed20d34
desktop: Handle errors before detaching from console on Windows CLI (#9781)
Co-authored-by: relrelb <relrelbachar@gmail.com>
2023-03-04 12:33:26 +00:00
Daniel Jacobs 584cb4c1cf web/ui: Open the virtual keyboard when clicking an editable EditText 2023-03-01 08:15:58 +02:00
relrelb b3fd1a47c6 core: Require `SwfMovie::url` 2023-02-28 19:05:20 +02:00
relrelb b3d45bc7b0 desktop: Avoid deprecated `KeyboardInput::modifiers`
As suggested, use `WindowEvent::ModifiersChanged` instead.
2023-02-27 13:02:58 +02:00
Aria Aghaei 44149614c7
desktop: min and max window size for ruffle (#9608)
Co-authored-by: Swag Gaming <memail@cock.li>
Co-authored-by: Aria Aghaei <ariaaghaei@gmail.com>
Co-authored-by: relrelb <relrelbachar@gmail.com>
2023-02-24 11:04:44 +00:00
nosamu 70bf0a816a core: Add options to set and force stage scale mode 2023-02-22 12:13:20 +02:00
nosamu 15435c6bea desktop: Support `file` URLs 2023-02-16 19:46:16 +02:00
nosamu e68cb433b2 desktop: Support flashvars passed via URL parameters 2023-02-14 23:05:22 +01:00
Aaron Hill c597f9f996 core: Fix Clippy lints on nightly 2023-02-13 03:38:54 +01:00
nosamu 1a65a0942c desktop: Add --letterbox option 2023-02-09 23:43:25 -08:00
Nathan Adams 68761608fc desktop: Add --quality option 2023-02-06 16:08:04 +01:00
Nathan Adams 6e224a7ba0 desktop: Don't record memory stacks by default 2023-02-05 18:02:19 +01:00
nosamu 12c67d5068 desktop: Improve --help messages 2023-02-03 21:17:56 +01:00
Aaron Hill e91f586523 desktop: Bump cpal to 0.15.0
`build_output_stream` now takes in a `timeout` parameter - I've
passed in `None` to keep the current behavior.

cpal addded lots of new `SampleFormat` enum values. For now, I'm
just returning an error if we encounter any of them - a quick test
showed that desktop audio is still working on my Linux machine.
2023-01-31 16:15:16 +01:00
p0008874 9bdc02e3a7 Update main.rs 2023-01-28 12:43:21 -07:00
p0008874 520248bc1d Add detail on dont_warn_on_unsupported_content 2023-01-28 12:43:21 -07:00
CUB3D f559fe0077 desktop: Add key code for Numpad Enter 2023-01-24 22:12:32 -06:00
CUB3D 92d1e81a16 desktop: Add keycodes for Tab, Return and Backspace 2023-01-24 22:12:32 -06:00
Nathan Adams f83c573734 desktop: Make crash headings ### instead of # 2023-01-19 00:50:56 +01:00
Nathan Adams e02b19ba86 desktop: Reorder extra info in crash report 2023-01-19 00:50:56 +01:00
Nathan Adams a986cc05fe desktop: Clippy lint 2023-01-19 00:50:56 +01:00
Nathan Adams e27fdda3dc desktop: Add version info to crash report 2023-01-19 00:50:56 +01:00
Nathan Adams 2189d19324 desktop: Also include avm2 stacktrace in panic report 2023-01-19 00:50:56 +01:00
Nathan Adams 3c8f5b41cc chore: Added platform dropdown to crash report template 2023-01-19 00:50:56 +01:00
Nathan Adams ea37d0a3ad desktop: Implement crash report dialog when a panic happens 2023-01-19 00:50:56 +01:00
nosamu c16705ceee desktop: Add `.spl` to file dialog filter 2023-01-16 18:05:36 +01:00
Nathan Adams 047bfc5700 desktop: Don't allow -p for --player_version as it conflicts with --power 2023-01-10 22:24:48 +01:00
CUB3D 7254d3c110 chore: Fmt 2023-01-10 13:13:30 +01:00
CUB3D 8db909a7d4 desktop: Allow specifying player version 2023-01-10 13:13:30 +01:00
Nathan Adams 1f7a5f44f9 desktop: Disallow unwrap() and unwrap_err() in desktop crate 2023-01-10 11:10:46 +01:00
Nathan Adams fbe1630a4b desktop: Removed unwraps in ui backend 2023-01-10 11:10:46 +01:00
Nathan Adams f812030f70 desktop: Removed unwrap and replaced with ? in storage backend 2023-01-10 11:10:46 +01:00
Nathan Adams ee17d05a84 desktop: Removed unwrap in navigator 2023-01-10 11:10:46 +01:00
Nathan Adams e20eb77035 desktop: movie_url is always Some, simplify code 2023-01-10 11:10:46 +01:00
Nathan Adams 48d8cb54f4 desktop: Replaced most unwraps with expects or ? in main.rs 2023-01-10 11:10:46 +01:00
Nathan Adams f606735720 desktop: Add tracy feature 2023-01-08 20:02:26 +01:00
Nathan Adams b27a1045a1 desktop: Switch from env_logger to tracing-subscriber 2023-01-06 04:25:22 +01:00
Nathan Adams ab6012c42c desktop: Switch from log to tracing 2023-01-06 04:25:22 +01:00
Marco Grassi 6873cda76e move away from unmaintained clipboard crate and use arboard crate 2022-11-26 14:04:59 -05:00
TÖRÖK Attila 2b4d8d9c6e core,desktop: Add and implement AudioBackend::get_sample_history() 2022-11-10 19:11:29 -05:00
relrelb 89f3445d62 swf: Introduce and use `Rectangle::width()` and `Rectangle::height()` 2022-11-01 09:49:04 +02:00
Aaron Hill 68471723b3 core: Fix clippy format string lint 2022-10-27 08:49:39 +03:00
cyraid f51e4dd67f
desktop: Fix #8315 by setting the base_url from the movie_url so requests later can use relative url's. (#8358)
Co-authored-by: Dennis Fehr <dennis.james.fehr@gmail.com>
2022-10-25 13:26:19 +03:00
Aaron Hill 9dd0914bda core: Add root movie URL spoofing (desktop only).
The desktop player now takes a `--spoof-url` argument, which overrides
the movie URL provided to ActionScript. This does not affect non-root
movies loaded through `Loader`.
2022-10-22 15:24:14 -05:00
David Wendt 058a7a8b66 desktop: Allow specifying the load behavior for desktop 2022-10-18 16:47:49 -06:00
relrelb 47a22070a4 desktop: Avoid deprecated `winit::EventLoop::with_user_event()`
Use `EventLoopBuilder::with_user_event().build()` instead, as suggested
by the deprecation warning.
2022-10-11 10:59:19 +03:00
relrelb a9dedf759a chore: Fix `clap` update
As described in https://github.com/clap-rs/clap/blob/master/CHANGELOG.md#400---2022-09-28.
2022-10-05 21:33:34 +03:00