Nathan Adams
937664e737
chore: Use workspace version for bytemuck
2024-04-04 17:29:00 +02:00
Nathan Adams
8a390163d6
chore: Use workspace version for async-channel
2024-04-04 17:29:00 +02:00
Nathan Adams
8e4127aef6
chore: Use workspace version for anyhow
2024-04-04 17:29:00 +02:00
Nathan Adams
f18d890bea
frontend-utils: Move Bookmark from desktop
2024-04-04 11:16:50 +02:00
Nathan Adams
2b4cec664a
frontend-utils: Made ParseResult return a DocumentHolder directly
2024-04-04 11:16:50 +02:00
Nathan Adams
2bd28c9c1c
frontend-utils: Add a DocumentHolder<T> helper type, use it for preferences and bookmarks
2024-04-04 11:16:50 +02:00
Nathan Adams
5ed6115dcc
frontend-utils: Add new package and moved custom toml parsing utilities there
2024-04-04 11:16:50 +02:00
Crowdin Bot
51d91b2c17
chore: Update translations from Crowdin
2024-04-04 00:02:09 +02:00
sleepycatcoding
92f437ec15
desktop: Add storage backend preference
2024-04-03 23:44:27 +02:00
sleepycatcoding
9cab16eb68
desktop: use location instead of url
...
URL might be a bit misleading when you can also use local files as bookmarks.
2024-04-03 22:20:55 +02:00
sleepycatcoding
02a27db372
desktop: add bookmark add dialog
...
Now you can add bookmarks while not playing anything, fields are defaulted based on the current movie (if there is one).
2024-04-03 22:20:55 +02:00
sleepycatcoding
5cb9988183
desktop: custom bookmark names
...
Bookmark names can now be changed by the user, defaults to the URL file.
2024-04-03 22:20:55 +02:00
sleepycatcoding
231fbb7d66
desktop: redesign bookmark UI
...
lets be fair, the previous one was ugly + this one allows you to actually
change the URL!
2024-04-03 22:20:55 +02:00
sleepycatcoding
077cf7c77b
desktop: split PathOrUrlField into widgets module
...
Makes possible to reuse this element in bookmarks UI
2024-04-03 22:20:55 +02:00
sleepycatcoding
e30c866484
desktop: recreate bookmark array of tables if type is incorrect
2024-04-03 22:20:55 +02:00
sleepycatcoding
fb93ef9cb6
desktop: allow multiple bookmarks with the same URL
2024-04-03 22:20:55 +02:00
sleepycatcoding
e1f9b5e5df
desktop: add UI for bookmarks
2024-04-03 22:20:55 +02:00
sleepycatcoding
0b7b9eb0a1
desktop: add `bookmarks.toml` file for storing bookmark data
...
This is in a separate file to not create clutter in the main preferences.toml file.
2024-04-03 22:20:55 +02:00
sleepycatcoding
f657208860
desktop: Refactor preferences system to make it easier to reuse
...
The goal of this refactor is to make it easier to load other TOML files similarly how preferences are loaded currently.
2024-04-03 22:20:55 +02:00
Crowdin Bot
a8136c45e1
chore: Update translations from Crowdin
2024-04-03 09:19:19 +02:00
TÖRÖK Attila
9822e96b41
chore: Bump `egui` to `v0.27.2`
2024-04-03 08:01:53 +02:00
sleepycatcoding
6a74af5f6f
desktop: pop keys off of `ParseContext` regardless if parse succeeded
...
previously the keys were not popped off on some code paths,
resulting in incorrect diagnostics later down the road.
2024-04-01 23:15:42 +02:00
sleepycatcoding
fc4c2cb3a8
desktop: cleanup warning boilerplate from preferences reader
...
The current item path is now kept track of dynamically removing the need for a hardcoded warnings.
and the caller no longer has to call `result.add_warning` themselves (mostly).
2024-04-01 23:15:42 +02:00
Crowdin Bot
5677447576
chore: Update translations from Crowdin
2024-04-01 14:46:40 +02:00
sleepycatcoding
df7d95bf43
desktop: show translated string for currently selected language
2024-03-31 20:54:18 +02:00
TÖRÖK Attila
a59ec413ad
chore: Update `egui` to `v0.27.1`
2024-03-29 14:46:25 +01:00
TÖRÖK Attila
5b4f808769
chore: Update `egui` to `v0.27.0`
2024-03-29 10:02:52 +01:00
Kamil Jarosz
589e7bfb31
desktop: Prevent egui from consuming the Tab key
2024-03-27 00:40:24 +01:00
renovate[bot]
9dfc6dc224
fix(deps): update rust dependencies
2024-03-26 13:56:59 +01:00
Crowdin Bot
cea993b5ac
chore: Update translations from Crowdin
2024-03-26 13:19:21 +01:00
sleepycatcoding
d4e5e54dc0
desktop: Fix window title after closing the file
...
Previously the title showed the filename in the title even after the file
had been long closed.
2024-03-25 20:13:56 +01:00
Crowdin Bot
9793e3968d
chore: Update translations from Crowdin
2024-03-24 22:55:51 +01:00
Nathan Adams
ad34f04b7a
desktop: Make sure all backends are tried in the Preferences dialog
2024-03-24 21:04:09 +01:00
Nathan Adams
38f7443605
desktop: Try each graphics backend one-by-one until we have a result
2024-03-24 21:04:09 +01:00
Adrian Wielgosik
08157a056e
build: Fix redundant import warnings
2024-03-23 19:23:18 +01:00
renovate[bot]
d70560cb82
fix(deps): update rust dependencies
2024-03-22 11:10:59 +01:00
Crowdin Bot
65129a08da
chore: Update translations from Crowdin
2024-03-21 20:49:11 +01:00
TÖRÖK Attila
d9f17dac44
chore: Bump `image` to `v0.25`, without the `dxt` feature
2024-03-19 00:14:48 +01:00
TÖRÖK Attila
7a269c054d
fix(deps): update rust dependencies
2024-03-18 12:21:47 +01:00
Crowdin Bot
8345ace97e
chore: Update translations from Crowdin
2024-03-18 11:49:48 +01:00
Adrian Wielgosik
27cd08deeb
avm2: Provide an option to disable the optimizer
2024-03-16 22:40:15 +01:00
Crowdin Bot
fc8f4ef4cf
chore: Update translations from Crowdin
2024-03-15 20:30:28 +01:00
TÖRÖK Attila
3399662c76
desktop: Follow `Document` -> `DocumentMut` change in `toml_edit`
2024-03-14 16:45:29 +01:00
renovate[bot]
3f9f19b7ac
fix(deps): update rust dependencies
2024-03-14 16:45:29 +01:00
Colin Kinloch
f472bbc701
desktop: Use egui-winit clipboard
...
The `egui-winit` clipboard implementation provides a nice interface to
`smithay-clipboard` which correctly implements the core wayland
selection protocol. It uses `arboard` as a fallback for other platforms.
2024-03-13 23:30:15 +01:00
renovate[bot]
8d193f8944
fix(deps): update rust crate winit to 0.29.15
2024-03-13 23:07:24 +01:00
Crowdin Bot
a60d781fb4
chore: Update translations from Crowdin
2024-03-13 22:44:32 +01:00
Crowdin Bot
1a66916c6c
chore: Update translations from Crowdin
2024-03-13 08:06:34 +01:00
Colin Kinloch
787b6f5dfb
desktop: Make clipboard support optional
...
On wayland ruffle only supports `wlr-data-control-unstable-v1` which is
not intended to be supported by all compositors.
2024-03-12 20:32:23 +01:00
TÖRÖK Attila
aa834e6530
desktop: Turn off default features of `image`
2024-03-12 00:24:59 +01:00
Nathan Adams
eaab481dcc
desktop: Default RUST_LOG to warn,ruffle=info,avm_trace=info
2024-03-11 21:28:25 +01:00
Nathan Adams
a5fe7e1c81
desktop: Add log filename pattern (e.g. with timestamp) to preferences
2024-03-11 21:28:25 +01:00
Nathan Adams
6585ffdd28
desktop: Log to ruffle.log in addition to stdout
2024-03-11 21:28:25 +01:00
Daniel Williams
4927baf290
desktop: URL-decode the window title ( fix #15454 )
2024-03-11 16:54:56 +00:00
Crowdin Bot
60d7b14c59
chore: Update translations from Crowdin
2024-03-08 22:19:45 +01:00
Nathan Adams
6971a1aa5e
desktop: Persist volume to disk
2024-03-07 20:38:06 +01:00
Nathan Adams
e18055d351
desktop: Don't translate opengl, metal etc
2024-03-07 20:38:06 +01:00
Crowdin Bot
6fc7a1beaf
chore: Update translations from Crowdin
2024-03-07 11:39:50 +01:00
renovate[bot]
a916369f21
fix(deps): update rust dependencies
2024-03-06 21:58:40 +01:00
renovate[bot]
7201efdec1
fix(deps): update rust crate winit to 0.29.14
2024-03-06 16:55:52 +01:00
Kamil Jarosz
3d04971ae4
desktop: Make WinitAsyncExecutor thread-safe and prevent deadlocks
...
Not thread-safe WinitAsyncExecutor was wrapped with a Mutex, making
any access to the instance exclusive. It was problematic, because
when a task was awoken from within another task, it resulted in
a deadlock, because the mutex was not reentrant.
This patch makes WinitAsyncExecutor thread-safe and changes how tasks
are locked. Specifically, instead of locking all tasks, only
the currently executed task is being locked. This allows waking any
other task from within it.
2024-03-05 23:14:08 +01:00
Crowdin Bot
de8f63ec88
chore: Update translations from Crowdin
2024-03-05 22:56:34 +01:00
Tom Schuster
587fdff1ac
chore: Update `cpal` to `0.15.3`
...
This reduces the number of duplicate `nix` versions by one.
2024-03-05 14:24:29 +01:00
Nathan Adams
571f60abff
desktop: Document preferences a little
2024-03-05 00:02:27 +01:00
Nathan Adams
c713f56ac0
desktop: Allow changing the audio output device
2024-03-05 00:02:27 +01:00
Nathan Adams
09dfa6427e
desktop: Allow changing the language in Preferences
2024-03-05 00:02:27 +01:00
Nathan Adams
baa0c5c7cd
desktop: Use custom (de)serialization for preferences, not serde
2024-03-05 00:02:27 +01:00
Nathan Adams
ed56c70b55
desktop: Only show possibly-available backends for the current system
2024-03-05 00:02:27 +01:00
Nathan Adams
d62963c2d4
desktop: Rename config.rs to preferences.rs
2024-03-05 00:02:27 +01:00
Nathan Adams
8b589a9620
desktop: If the preferred graphics backend is unavailable, pick another one and warn
2024-03-05 00:02:27 +01:00
Nathan Adams
b9c6db1cb9
desktop: Add preferences dialog, allow setting of graphics backend/power
2024-03-05 00:02:27 +01:00
Nathan Adams
8df7efb662
desktop: Load graphics preferences from disk
2024-03-05 00:02:27 +01:00
Nathan Adams
acd01e2eb0
desktop: Add GlobalPreferences struct, prep for storing preferences to disk
2024-03-05 00:02:27 +01:00
Nathan Adams
6136d14179
desktop: Add --save-directory
2024-03-05 00:02:27 +01:00
Nathan Adams
145275af86
desktop: Remove backwards compatibility code from 3 years ago
2024-03-05 00:02:27 +01:00
renovate[bot]
fae1c458ec
fix(deps): update rust dependencies
2024-03-04 22:18:19 +01:00
TÖRÖK Attila
755fa6cded
chore: Switch `fluent-templates` back from `master` to `v0.9.0`
2024-03-04 11:05:08 +01:00
TÖRÖK Attila
9e8c406cd9
desktop: Introduce a `TaskKey` type for the slotmap in `executor.rs`
2024-03-03 21:18:39 +01:00
TÖRÖK Attila
5b920b8447
chore: Deduplicate the `fluent-templates` dependency
2024-03-02 19:54:00 +01:00
TÖRÖK Attila
55773f0205
chore: Replace `generational-arena` with `slotmap`
2024-03-02 19:42:11 +01:00
renovate[bot]
90bf13ebd2
fix(deps): update rust crate winit to 0.29.13
2024-03-02 19:17:37 +01:00
Kamil Jarosz
a0f2941a2e
desktop: Update winit to 0.29.12
...
This fixes critical crashes on X11
2024-03-01 12:10:37 +01:00
Crowdin Bot
4e87d34068
chore: Update translations from Crowdin
2024-03-01 11:15:11 +01:00
Tom Schuster
a03355458f
desktop: Add gamepad support using gilrs
2024-02-28 21:21:09 +01:00
Kamil Jarosz
9bc6700531
desktop: Get rid of busy waiting in connect_socket
...
This patch makes connect_socket await on recv
instead of spin and wake the CPU each 10 milliseconds.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
f5d52272ca
desktop: Flush pending data before socket closes
...
This patch makes sure that any pending data is sent before
the socket closes. Without this fix Ruffle ignored the data sent
right before calling socket.close.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
f6907a5c73
desktop: Add tests for connect_socket
...
Add tests for ExternalNavigatorBackend::connect_socket.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
2535b926a7
desktop: Add WinitFutureSpawner
...
This improves testability, decouples ExternalNavigatorBackend
from the event loop, and improves readability.
Instead of passing a channel to send the future to and an event loop
to poll, a WinitFutureSpawner is created which performs the
action of spawning a future and polling the event loop.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
cc8b0aa5dd
core: Use async channels in NavigatorBackend
...
This has several advantages:
1. it allows using async variants of send and recv,
2. it adds consistency as until now Receiver was async,
and Sender was not.
2024-02-28 19:42:54 +01:00
TÖRÖK Attila
e56a4597cc
desktop: chore: Update winit to 0.29.11
2024-02-27 22:43:59 +01:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
TÖRÖK Attila
d2e854fb73
nit: desktop/navigator: Fix a typo in a comment: ownerhsip -> ownership
2024-02-22 21:14:41 +01:00
Kamil Jarosz
98c0dc4616
desktop: Prevent resource leak on reload
...
This patch makes TaskHandle reference the executor by a weak reference.
Prior to this change, there was a possibility of a resource leak, where
the executor, its tasks, and resources held by them were not properly
dropped due to existing references to the executor.
This manifested by e.g. unclosed sockets after reload, which required
the whole program to be restarted in order to be closed properly.
2024-02-21 21:45:01 -05:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
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