Commit Graph

11591 Commits

Author SHA1 Message Date
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
renovate[bot] 4ae9f32732 chore(deps): update node.js dependencies 2024-03-11 11:49:48 +01:00
Adrian Wielgosik dce71fdfcb avm2: Make Activation::from_builtin non-Result 2024-03-10 23:08:04 +01:00
Adrian Wielgosik 064cc14905 avm2: Reduce memcpy overhead in BytecodeMethod calls 2024-03-10 23:08:04 +01:00
Nathan Adams 9d4000ee41 ci: Remove web/packages/*/dist and target from reproducable source zips 2024-03-10 22:50:46 +01:00
Tom Schuster 0466605b62 tests: Test RegExp toString behavior 2024-03-10 21:27:39 +01:00
Tom Schuster 53aee62c38 avm2: Re-implement RegExp.prototype.toString
Also remove the TObject to_string implementation that isn't necessary.
2024-03-10 21:27:39 +01:00
Lord-McSweeney 788c3da4aa avm2: Add a `make_error_1014` function and use it 2024-03-10 09:49:24 -07:00
Lord-McSweeney f76117a2be avm2: Better target class and target variable name handling for exceptions
Lookup on the target class and variable name is now done in the verifier.
2024-03-10 09:49:24 -07:00
Lord-McSweeney b5f7fa0cd0 swf: `CallMethod` takes a `disp_id`, not any sort of `Index` 2024-03-10 09:49:24 -07:00
Lord-McSweeney 028a61e744 avm2: Pre-pool multiname for `FindDef` 2024-03-10 09:49:24 -07:00
Lord-McSweeney fdf92a9f2d avm2: Also early lookup classes for `IsType` and `AsType` 2024-03-10 09:49:24 -07:00
Lord-McSweeney 51b9dcfb1d avm2: Pool strings in verifier 2024-03-10 09:49:24 -07:00
Lord-McSweeney b69eabfcdc avm2: Lookup multinames in verifier and store them in `Op` 2024-03-10 09:49:24 -07:00
Tom Schuster 2065661874
chore: Update `gilrs` dependency to `0.10.5` (#15505)
(Manually reverted a `windows` downgrade)
2024-03-09 22:51:23 +00:00
Aaron Hill 7752c32c8e
avm2: Stub GameInput.getDeviceAt and GameInputControl (#15409) 2024-03-09 22:01:10 +00:00
Aaron Hill 81604dd21c Request highest 'max_inter_stage_shader_components' supported by adapter
We're currently always requesting a maximum of 31 components, which
is too low for some SWFs.
2024-03-09 15:39:33 -05: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
Tom Schuster f27d11443b tests: Test avm2 Stage.stage3Ds vector-ness 2024-03-07 19:33:09 +01:00
Tom Schuster ed4bb00115 avm2: Stage.stage3Ds must return a vector
Fixes #15472
2024-03-07 19:33:09 +01:00
Crowdin Bot 6fc7a1beaf chore: Update translations from Crowdin 2024-03-07 11:39:50 +01:00
Lord-McSweeney 12ffc8a347 avm2: Remove unused and unnecessary `init_slot` 2024-03-06 20:49:19 -08:00
Nathan Adams d3e12e4a24 web: Use DateTime::from_timestamp 2024-03-06 21:58:40 +01:00
Nathan Adams 1a6b73f496 avm2: Use chrono's new Duration::try_ methods 2024-03-06 21:58:40 +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
Lord-McSweeney 95b5c700f5 avm2: Fix a minor optimizer bug 2024-03-06 07:21:28 -08:00
Lord-McSweeney 24d194a8b1 avm2: Propagate normal error for bad Multiname read in verifier 2024-03-06 07:21:28 -08:00
Lord-McSweeney 41bac2ce98 tests: Add another verification test 2024-03-06 07:21:28 -08:00
Lord-McSweeney 2ff4bf5634 tests: Improve verification test 2024-03-06 07:21:28 -08:00
Lord-McSweeney 9a1196a7a0 avm2: Fix bugs and resolve reviews 2024-03-06 07:21:28 -08:00
Lord-McSweeney c98d61c376 avm2: Add a `make_error_1021` function and use it 2024-03-06 07:21:28 -08:00
Lord-McSweeney f28928dbc9 avm2: Match verifier reading implementation with FP's 2024-03-06 07:21:28 -08:00
Kamil Jarosz c260a45603 core: Close sockets and timers when replacing the root movie
Turns out that the comment from `set_root_movie` was right all along!
`set_root_movie` should not be used when replacing the root movie,
because it will leave out unclosed resources.
This patch introduces `replace_root_movie`, which is dedicated to be
used when replacing (instead of just setting) the root movie.

The best solution would be to use RAII, e.g. destroy and recreate
the whole Player instance, but this patch is a first step towards
proper resource control.
2024-03-05 23:14:08 +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
TÖRÖK Attila 18cda28f62 chore: Update cargo-deny configuration to version 2 2024-03-05 21:21:42 +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