Commit Graph

866 Commits

Author SHA1 Message Date
renovate[bot] 1651b7a5b0 desktop: chore: Update `egui` to 0.26.2 2024-02-16 01:52:41 +01:00
Crowdin Bot 45c5d8f10c chore: Update translations from Crowdin 2024-02-12 00:25:24 +01:00
Crowdin Bot 5c6930d72e chore: Update translations from Crowdin 2024-02-09 17:56:24 +01:00
TÖRÖK Attila 28c380cfac desktop: Update egui to 0.26.0 2024-02-05 19:05:10 +01:00
Kamil Jarosz 50b5f29c0a text: Make enter add a new line in multiline fields 2024-02-03 13:40:07 +01:00
Kamil Jarosz 0657d2daa2 text: Add advanced horizontal text control codes 2024-02-01 20:18:29 +01:00
Crowdin Bot f64688f138 chore: Update translations from Crowdin 2024-01-30 23:55:48 +01:00
renovate[bot] 3737725a21 fix(deps): update rust dependencies 2024-01-30 09:23:15 +01:00
Nathan Adams e778e5ed58 desktop: Fix context menu, use new approach rather than trying to hack activate egui's menu 2024-01-27 09:44:31 +01:00
Crowdin Bot 4769a45999 chore: Update translations from Crowdin 2024-01-26 22:54:04 +01:00
arthomnix 3e82ba9a63 desktop: Allow specifying WGPU instance flags from environment 2024-01-26 22:33:18 +01:00
David Wendt 006c3af4b8 core: Add backend method for getting the expected length of a response. 2024-01-25 23:24:09 -07:00
David Wendt 91dd9563bb core: Add method to read downloads in chunks instead of all-at-once. 2024-01-25 23:24:09 -07:00
David Wendt 06eb2e1ee8 core: `Request` is now a trait. Body download is deferred to a second async method. 2024-01-25 23:24:09 -07:00
Crowdin Bot 917c1c08f7 chore: Update translations from Crowdin 2024-01-25 00:49:31 +01:00
Crowdin Bot a916f6e7a2 chore: Update translations from Crowdin 2024-01-23 23:01:01 +01:00
Crowdin Bot 430463ecd3 chore: Update translations from Crowdin 2024-01-23 12:38:25 +01:00
Aaron Hill dbcefd060f debug_ui: Add 'Show Domains' menu to view domains and classes
This opens a searchable list (similar to what we have for display
objects), which shows a tree of Domains and their associated classes.

Currently, clicking on the domain/class buttons doesn't do anything.
In a follow-up, I'm planning to add additional windows to display
information about a class.
2024-01-23 11:34:14 +01:00
renovate[bot] 262dff83a4 fix(deps): update rust dependencies 2024-01-22 03:09:33 +01:00
Nathan Adams 4d16e24889 wgpu: Update wgpu and naga to 0.19 2024-01-21 19:36:08 +01:00
Isao Mishima d7df55fd7b
desktop: Change the default Japanese fonts (#14877) 2024-01-21 15:21:48 +01:00
Tom Schuster e0f5b8906d desktop: Support device font with a non-zero index 2024-01-19 19:21:48 +01:00
Kamil Jarosz d89ab3dc83 desktop: Fix doubling inputted characters
Fix a bug introduced by f65060e8.
The text input event was triggered two times: at key press and release.
This patch makes sure that text input is triggered only on key press.
2024-01-18 00:21:19 +01:00
TÖRÖK Attila d153290fd6 nits: Fix a whole bunch of typos all over the place 2024-01-17 23:59:19 +01:00
Daniel Jacobs 8f2292c2c7 core: Add error for loading invalid SWF files and display as appropriate 2024-01-17 17:38:47 -05:00
Nathan Adams f65060e8c9 desktop: Update winit to 0.29.10 and egui to 0.25.0 2024-01-16 21:10:36 +01:00
renovate[bot] 3c115238fd fix(deps): update rust dependencies 2024-01-16 01:13:38 +01:00
Crowdin Bot 3f17d1c778 chore: Update translations from Crowdin 2024-01-16 00:48:30 +01:00
TÖRÖK Attila 078b264c19 desktop: Support F13..F24 keys 2024-01-11 22:40:37 +01:00
Nathan Adams d89e4536b3 core: Support Japanese font defaults 2024-01-10 23:15:26 +01:00
Crowdin Bot 6e1e26e0e8 chore: Update translations from Crowdin 2024-01-08 23:28:34 +01:00
Tom Schuster 4db87a9643 desktop: define default fonts 2024-01-08 23:00:18 +01:00
Tom Schuster 2a2bcbbfbc desktop: Load device fonts from system 2024-01-08 23:00:18 +01:00
renovate[bot] a328deab11 fix(deps): update rust dependencies 2024-01-08 02:59:04 +01:00
Crowdin Bot 1325181a59 chore: Update translations from Crowdin 2024-01-06 09:30:28 +01:00
TÖRÖK Attila 217585daa8 chore: Delegate `[lints]` in `Cargo.toml` of all packages to the workspace 2024-01-05 11:28:19 +01:00
renovate[bot] 91d0520a43 fix(deps): update rust dependencies 2024-01-01 02:03:54 +01:00
renovate[bot] 216a8f3b14 fix(deps): update rust dependencies 2023-12-25 10:09:07 +01:00
Crowdin Bot 9523022cdd chore: Update translations from Crowdin 2023-12-23 13:26:37 +01:00
TÖRÖK Attila f9aa6dbea4 chore: Fix a beta clippy lint: `clippy::blocks_in_conditions` 2023-12-23 13:06:47 +01:00
Tom Schuster e3d8a279ad core: load_device_font register function must be &mut 2023-12-22 13:47:48 +01:00
Crowdin Bot ba6ba842d7 chore: Update translations from Crowdin 2023-12-18 23:28:34 +01:00
renovate[bot] 0e5ef32654 fix(deps): update rust dependencies 2023-12-18 08:16:28 +01:00
nosamu 989988631f desktop: Fix egui scaling
Fixes #14413
2023-12-17 22:14:14 -08:00
Aaron Hill 287ca8801a avm2: Implement AIR playerglobal versioning
This builds on our existing playerglobal versioning support
to add in AIR versioning. We closely follow the avmplus implementation:

* When an SWF is loaded, we chose either a FlashPlayer or AIR
APIVersion for its SWF version, based on our configured player runtime.
* When loading playerglobals, we look at the player runtime. In AIR
  mode, we map FlashPlayer-versioned definitions to the closest AIR
  version. This ensures that all runtime APIVersions are in the
  same series (either AIR or FlashPlayer). In FlashPlayer mode,
  all AIR-versioned definitions get mapped to VM_INTERNAL, hiding
  them from user code.

Part of our existing api versioning code was implemented incorrectly.
Within playerglobals, we need to treat all unmarked namespaces as
VM_INTERNAL - this allows things like playerglobal script
initializer "initproperty" opcodes to see any VM_INTERNAL AIR
definitions (when we run under FlashPlayer mode). Previously, we
were using AllVersions, which would result in those VM_INTERNAL
definitions being hidden from other playerglobal code, which is
not correct.

Using this support, I've added a stub for the AIR-only
'flash.net.DatagramSocket'. I've also extended the test framework
with a new 'player_options.runtime' config option, which can be
set to "AIR" or "FlashPlayer" to configure the test runtime mode.

I've also added two new tests:
* 'air_hidden_lookup' runs under the FlashPlayer runtime, and verifies
  that a list of classes (currently just "DatagramSocket" are
  inacessible).
* 'air_datagram_socket', which uses `player_options.runtime = "AIR"`
  to construct an instance of `flash.net.DatagramSocket`. We can
  extend this test once we implement more of `DatagramSocket`

With this commit, we have all of the needed infrastructure to start
implementing and testing AIR-only classes and methods.
2023-12-16 19:11:50 -05:00
TÖRÖK Attila bf9cf92af8 render/wgpu: Update wgpu to 0.18.0, naga to 0.14.1, naga_oil to 0.11.0, egui to 0.24.1 2023-12-14 01:36:42 +01:00
Tom Schuster 0fad4c23d2 desktop: Also spoof top.location.href 2023-12-13 20:10:39 +01:00
Crowdin Bot 9a02ca76ff chore: Update translations from Crowdin 2023-12-12 19:08:09 +01:00
bi4k8 4d07e43bc4
desktop: Add "wayland-data-control" feature for arboard
This fixes a crash on start when running under Wayland.
2023-12-11 10:08:15 +00:00
renovate[bot] 40b92e69f7 fix(deps): update rust dependencies 2023-12-05 21:08:16 +01:00
Crowdin Bot 9477856079 chore: Update translations from Crowdin 2023-12-02 23:25:09 +01:00
TÖRÖK Attila 4c8a5714b8 chore: Bump `tracing-tracy` to 0.10.4 to match `profiling`
And avoid "span! without a running Client" errors due to
duplicate `tracy-client` dependency.
2023-11-29 13:11:07 +01:00
renovate[bot] 6da223a875 fix(deps): update rust dependencies 2023-11-27 09:44:47 +01:00
Aaron Hill 993d8d9f9b core: Add PlayerRuntime::{FlashPlayer, AIR} for Adobe AIR support
We've now had two different bug reports involving Adobe AIR
SWFs, so I'm going to go ahead and start adding a framework
for AIR support.

This commit just adds a command-line option
`--player-runtime <flash-player|air>` (defaulting to `flash-player`),
and passes it along to the `Player`. The actual value is currently
unused - in a follow-up PR, I'm going to implement namespace versioning
for AIR.
2023-11-25 19:05:51 -05:00
Lord-McSweeney d3b9d8a451 dekstop: Support `quit` and `fullscreen` fscommands 2023-11-25 15:49:02 -08:00
Crowdin Bot 66c6c176f0 chore: Update translations from Crowdin 2023-11-25 22:45:02 +01:00
MrCheeze 5920a6426e core: Allow Regular/Bold/Italic device fonts to be registered separately 2023-11-24 17:08:35 +01:00
Tom Schuster 96059a8e25 avm2: Implement flash.system.Security pageDomain 2023-11-23 19:55:32 +01:00
Tom Schuster 48102a20a2 desktop: Add window.location.href spoofing to the fake ExternalInterface 2023-11-23 19:12:34 +01:00
Tom Schuster a113d96fdd desktop: Include file path in IO error message 2023-11-22 23:59:46 -05:00
Crowdin Bot d1784dc7c8 chore: Update translations from Crowdin 2023-11-23 00:38:05 +01:00
renovate[bot] 7757d060ff fix(deps): update rust dependencies to v2 2023-11-20 09:03:08 +01:00
renovate[bot] 32c65e6460 fix(deps): update rust dependencies 2023-11-13 09:10:26 +01:00
Nathan Adams 424821724f desktop: Show ruffle logo in about dialog 2023-11-12 21:42:02 +01:00
Crowdin Bot 1c4380f633 chore: Update translations from Crowdin 2023-11-07 12:40:56 +01:00
CUB3D b0d88645bc avm1: Implement FileReference 2023-11-03 19:32:24 +01:00
renovate[bot] 1377a5b07b fix(deps): update rust dependencies 2023-11-01 00:45:43 +01:00
renovate[bot] 7b3ae30fbf fix(deps): update rust crate async-io to v2 2023-10-23 13:05:02 +02:00
Crowdin Bot 1ca5f714f9 chore: Update translations from Crowdin 2023-10-23 03:21:14 +02:00
renovate[bot] cd01bfe7d6 fix(deps): update rust dependencies 2023-10-23 02:55:11 +02:00
Crowdin Bot 94174b30fe chore: Update translations from Crowdin 2023-10-20 21:10:35 +02:00
Crowdin Bot e6f9796094 chore: Update translations from Crowdin 2023-10-17 23:31:22 +02:00
renovate[bot] b427940431 fix(deps): update rust dependencies 2023-10-16 09:51:22 +02:00
Crowdin Bot 0127c98fdf chore: Update translations from Crowdin 2023-10-15 19:17:00 +02:00
Nathan Adams ec21ad8658 core: Add default_font feature which enables the fallback font 2023-10-15 14:09:21 +02:00
Nathan Adams 74a7ab5afe core: Implement device font lookup, and multiple default device fonts 2023-10-15 14:09:21 +02:00
Crowdin Bot 2422793d1b chore: Update translations from Crowdin 2023-10-11 13:29:12 -04:00
TÖRÖK Attila 602154b1b7 core,desktop: Switch to egui v0.23.0
Since it's compatible with wgpu 0.17.x.
2023-10-09 18:51:01 -04:00
Crowdin Bot 13b50fecb5 chore: Update translations from Crowdin 2023-10-09 23:10:41 +02:00
Crowdin Bot 3dc75f7ab8 chore: Update translations from Crowdin 2023-10-07 23:37:34 +02:00
renovate[bot] 428e89af73 fix(deps): update rust dependencies 2023-10-04 19:19:51 -04:00
sleepycatcoding 4bfd2fc978 desktop: Make jpegxr optional
This is enabled for CI builds.
2023-10-03 16:08:51 -04:00
Aaron Hill 25cf77c4a2 desktop: Handle cookies and Content-Type for HTTP requests
Both of these are handled automatically by the browser in the
web backend. This makes the desktop client store cookies between
requests (though they are discarded when the desktop player is closed),
and set the "Content-Type" header based on the mime-type supplied
in the URLRequest.
2023-10-02 19:41:39 -04:00
Crowdin Bot 58b18e282b chore: Update translations from Crowdin 2023-10-02 00:57:34 +02:00
sleepycatcoding f140e7a14b
core: Place jpegxr texture support behind feature flag (#13348) 2023-09-29 18:46:54 -04:00
Crowdin Bot c3d0540a6e chore: Update translations from Crowdin 2023-09-29 18:28:15 +02:00
renovate[bot] 7e4e4d4c5b fix(deps): update rust dependencies 2023-09-25 11:14:39 +02:00
Crowdin Bot bd67a5845b chore: Update translations from Crowdin 2023-09-24 12:13:31 +02:00
Crowdin Bot 5b9806bdb3 chore: Update translations from Crowdin 2023-09-19 23:41:23 +02:00
Crowdin Bot 695c2ff9f5 chore: Update translations from Crowdin 2023-09-18 00:03:15 +02:00
TÖRÖK Attila d7d5928c21 chore: Follow rfd API change (set_description) 2023-09-18 00:00:45 +02:00
TÖRÖK Attila b8190660aa chore: Follow rfd API change (MessageDialogResult) 2023-09-18 00:00:45 +02:00
renovate[bot] 37e2c06034 fix(deps): update rust dependencies 2023-09-18 00:00:45 +02:00
Crowdin Bot 8885c35c54 chore: Update translations from Crowdin 2023-09-17 22:45:09 +02:00
Crowdin Bot 7f416f85a8 chore: Update translations from Crowdin 2023-09-14 23:50:25 +02:00
Positron832Alt 591e4b4da1
desktop: Change "Open URL Mode" to "Open Links" (#13099) 2023-09-13 22:33:17 +02:00
Aaron Hill 1c0ae0b6d8 render: Bump wgpu to 0.17 and naga to 0.13 2023-09-07 18:49:59 -04:00
Kornelius Rohrschneider 53ba75d587 Move logarithmic volume transformation to AudioMixer
Previously, the volume transformation to adapt the volume for
logarithmic hearing has been performed in the VolumeControls Rust struct
and TypeScript class each.
Since this calculation is the same on desktop and web and should be
implemented in the audio backend, it has been moved into the
AudioMixer::mix_audio method.
The VolumeControls struct and class now only calculate the linear volume
out of the checkbox and the slider.
Player::set_volume and Player::volume now don't take and return the
adapted volume, but use the linear volume (which gets saved internally).
2023-09-07 00:51:58 +02:00
Kornelius Rohrschneider a550a998c3 desktop: Add desktop volume controls
The desktop version of Ruffle now has a volume controls window. It can
be accessed through the menu bar (Controls > Volume controls).
It contains a mute button and a slider from 0 to 100.

The volume settings set in the GUI are saved in a new VolumeControls
struct, which is also used to calculate the real volume (adapted for
logarithmic hearing) out of the entered volume and the mute checkbox.
As soon as the volume is changed in the GUI, the real volume will be set
in the player (if the player exists).

The player doesn't set its volume level according to the PlayerOptions
after its creation anymore. Instead, RuffleGui::on_player_created now
gets the player and sets its volume to the real volume set in the GUI.
The volume in the GUI itself defaults to the PlayerOptions value.
This also fixes the issue that the PlayerOptions volume has previously
not been adapted for logarithmic hearing.

The existing ftl files have been adapted (and new ones have been
created) to include the new multilingual text in the menu bar and the
volume controls window.
2023-09-07 00:51:58 +02:00
renovate[bot] dabc2d56b9 fix(deps): update rust dependencies 2023-09-04 10:25:24 +02:00