Nathan Adams
9be198212b
web: Translate various button texts
2023-05-09 00:06:49 +02:00
Nathan Adams
b7794749d8
web: Localise the unsupported avm2 message
2023-05-09 00:06:49 +02:00
Nathan Adams
ecab2e2b2b
chore: Update crowdin.yml with new source locations
2023-05-09 00:06:49 +02:00
Nathan Adams
07dea7b164
web: Add localisation to web
2023-05-09 00:06:49 +02:00
Nathan Adams
fd5a7cdbc2
core: Rename text to core_text just to avoid confusion if used from another crate with its own text methods
2023-05-09 00:06:49 +02:00
Nathan Adams
9c2e77c88f
desktop: Use system preferred language
2023-05-09 00:06:49 +02:00
Nathan Adams
3402f3f4dc
web: Use browsers preferred language
2023-05-09 00:06:49 +02:00
Nathan Adams
e6ea074a3f
core: Made context menu items translatable
2023-05-09 00:06:49 +02:00
Nathan Adams
229c301e18
core: Add i18n module using Fluent
2023-05-09 00:06:49 +02:00
Daniel Jacobs
01a69b60bc
web: Remove ContextMenu.TouchOnly as it is unlikely to be useful
2023-05-08 23:53:31 +03:00
Daniel Jacobs
e7877706ef
web: Use typeof to simplify check for usage of deprecated contextMenu
2023-05-08 23:53:31 +03:00
Daniel Jacobs
4790ea7304
web: Combine contextMenu with touchContextMenu
2023-05-08 23:53:31 +03:00
Daniel Jacobs
68f493336a
web: Configuration to disable context menu on touch
2023-05-08 23:53:31 +03:00
Aaron Hill
1908d85f65
avm2: Initialize `Object` instance vtable before other classes
...
Early class construction is tricky - `Object` defines properties
that need to get copied into subclass instance vtables, but `Class`
defines `prototype`, which needs to be copied into the *class* vtable
of `Object`.
To accomplish this, I've split out instance vtable initialization
into a separate `init_instance_vtable`. We call
`object_class.init_instance_vtable` before
`class_class.init_instance_vtable`, but do things in the opposite
order for `into_finished_class` (`class_class.into_finished_class` is
called before `object_class.into_finished_class`)
2023-05-07 07:46:30 -05:00
iwannabethedev
724df48186
avm2: Add AS 'length()' to XML.
2023-05-06 12:02:06 -05:00
relrelb
97483fed7b
web: Fix "Unable to lock Ruffle core" console spam after panic
...
Upon panic, `Ruffle::destroy()` attempts to mutably borrow the
thread-local `instances`. However, when a panic occurs, `instances`
is already immutably borrowed by `Ruffle::with_core_mut()`. This
causes the cleanup logic in `Ruffle::destroy()` to be skipped
altogether, and as a consequence the animation handler continues
to be fired, ultimately failing to borrow `instances` repeatedly.
Each time a borrow fails, a console error is logged.
Fortunately the fix is extremely easy - `Ruffle::with_core{,_mut}`
used to `drop(instance)` before running any potentially-panicking
logic, exactly for the reason explained above. But those functions
don't `drop(instances)`, which is subject to the same double-borrow
risk. So as a fix simply add `drop(instances)` in both functions.
With this fix, "Unable to lock Ruffle core" is logged on panic only
twice. These logs require further research, and will be avoided in
a future PR.
2023-05-06 10:09:52 +03:00
Lord-McSweeney
4b9430c2cb
avm2: Stub flash.system.fscommand
2023-05-06 09:52:30 +03:00
Toad06
8377fe0233
web: Support copying to clipboard
2023-05-05 21:58:41 +02:00
Nathan Adams
2b6829692c
wgpu: Resize textures if they're bigger than the system supports
2023-05-05 19:03:15 +02:00
Aaron Hill
22c13d41da
wgpu: Use Context3DCommand by value
2023-05-05 11:43:43 -05:00
nosamu
0633b4cdfe
core: Improve compatibility rule for Kongregate
2023-05-05 10:44:57 +03:00
friedkeenan
bfe84c3685
Rename 'name_array' to 'name_vector'.
...
The '_array' suffix was from a previous iteration as I tried to figure out how to return a vector.
2023-05-04 19:51:04 -05:00
friedkeenan
24e0e0102c
avm2: Implement ApplicationDomain::getQualifiedDefinitionNames
2023-05-04 19:51:04 -05:00
friedkeenan
8d96626026
avm2: Add test for ApplicationDomain::getQualifiedDefinitionNames
2023-05-04 19:51:04 -05:00
Tom Schuster
f6c0685992
avm2: Allow setting XML methods as properties
2023-05-04 19:34:14 -05:00
Toad06
58d786b869
extension: Localize more strings
2023-05-05 00:28:11 +03:00
Lord-McSweeney
f78ce82f90
avm2: Socket should implement IDataOutput and IDataInput
2023-05-05 00:13:45 +03:00
friedkeenan
c484d44226
avm2: Stub rest of Socket's methods
2023-05-04 17:03:52 +00:00
relrelb
891d1dce7e
core: Don't duplicate `ButtonAction`s
...
Previously, a separate `ButtonAction` was stored for each
`ButtonActionCondition`. However, this can be eliminated using
`bitflags`.
2023-05-03 23:12:20 +03:00
Nathan Adams
dc44c1c797
core: Use MutationContext instead of UpdateContext for copy_on_cpu
2023-05-03 21:15:48 +02:00
Nathan Adams
243d82770d
core: Use copy_from_slice for whole-BMD-replacement
2023-05-03 21:15:48 +02:00
Nathan Adams
53c6927b6f
core: Clarify comment when we can skip alpha premultiplication
2023-05-03 21:15:48 +02:00
Nathan Adams
c5293bd981
core: Don't actually apply a filter if it's unsupported, just copy
2023-05-03 21:15:48 +02:00
Nathan Adams
5ff804f5c2
core: Add a method for BitmapData.draw() with color transform on cpu
2023-05-03 21:15:48 +02:00
Nathan Adams
50a0298d30
render: Fix calculations in PixelRegion::clamp_with_intersection (+ new test)
2023-05-03 21:15:48 +02:00
Nathan Adams
7b20003c6a
core: Treat copy_pixels_with_alpha_source as copy_pixels if alpha source is same as source
2023-05-03 21:15:48 +02:00
Nathan Adams
fe3d8c10b1
core: Added an efficient copy method that does cpu or gpu copy depending on what's best situationally
2023-05-03 21:15:48 +02:00
Nathan Adams
adabb81804
core: Introduce PixelRegion::clamp_with_intersection and made most operations with two overlapping regions use it
2023-05-03 21:15:48 +02:00
relrelb
2cb055d5c0
web: Parse `background_color` using a custom deserializer
2023-05-03 21:38:15 +03:00
Lord-McSweeney
d66d216917
avm2: Date related fixes
...
1. Date should have a call handler.
2. Date should have a static length property.
2023-05-03 20:04:59 +02:00
Aaron Kaluszka
472fe7068f
avm2: Implement BitmapData.compare
2023-05-03 11:32:20 +02:00
nosamu
9b2dc262d5
extension: Update and improve messages
2023-05-03 09:44:01 +03:00
nosamu
36710f87d9
extension: Add an Automatic option for preferred renderer
2023-05-03 09:44:01 +03:00
relrelb
ed1eaa440e
extension: Introduce "Advanced Options"
...
To avoid visual clutter, move some less handy options under a
collapsible area:
* Log level
* Ignore website compatibility warnings
* Maximum allowed ActionScript execution duration (description was
shortened in this commit)
* Preferred renderer
* Player version number
2023-05-03 09:44:01 +03:00
iwannabethedev
49962edf3a
render: Fix obsolete/wrong documentation.
2023-05-03 09:26:37 +03:00
nosamu
5155085555
web: Tiny refactor of preferred renderer code
2023-05-03 09:10:30 +03:00
relrelb
85a9ec77c5
render: Fix wgpu renderer name
2023-05-03 01:12:19 +03:00
iwannabethedev
307f364d6f
web: Log used renderer
...
Log which renderer-backend was actually used in the
browser console.
2023-05-02 23:59:57 +03:00
relrelb
182ae6c9a9
swf: Introduce `ShapeRecordFlag`
...
No functionality change.
2023-05-02 20:24:38 +03:00
Kornelius Rohrschneider
fe56f8d212
core: Implement suggested changes in PR to documentation & code
...
- Documentation has been added, improved and clarified.
- The code of a string concatenation has been improved.
2023-05-02 17:13:42 +02:00