renovate[bot]
6e84b05b66
fix(deps): update rust dependencies
2024-03-01 22:46:32 +01:00
TÖRÖK Attila
10fa4175c4
chore: Bump jpegxr and nellymoser-rs git references
2024-03-01 21:54:18 +01:00
Tom Schuster
0cea5a0a9e
core: Introduce gamepad button mapping support
2024-02-28 21:21:09 +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
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
Aaron Hill
3e99dd3999
core: Use latest fluent-templates `master` for reproducible builds
2024-02-27 21:36:28 -05:00
Aaron Hill
900a8407d6
core: Implement lazy decoding of bitmaps
...
We hit a pathological case in House
(https://github.com/ruffle-rs/ruffle/issues/15154 ),
where eagerly decoding bitmaps during preloading results in
over 10GB of ram being used.
With this PR, we store the compressed bitmap, and only decode it
each time we instantiate it. In order to support bitmap fills,
we store the decoded width/height and a lazily-initialized GPU handle
in `Character::Bitmap`
2024-02-27 21:18:18 -05:00
TÖRÖK Attila
ee0c1f42ff
core,avm2: Make Timer.setDelay not change the timer ID. Fix #15005 .
2024-02-27 23:56:33 +01:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
Lord-McSweeney
11d5a8f7df
avm2: Resolve reviews (no functional changes)
2024-02-25 21:52:24 -08:00
Lord-McSweeney
8542edf10c
avm2: Handle lazy multinames in optimizer
2024-02-25 21:52:24 -08:00
Lord-McSweeney
b637e5f108
avm2: Add a `popn` function to `Stack` and use it
2024-02-25 21:52:24 -08:00
Lord-McSweeney
4d8c98af0d
avm2: Don't use a `Class`'s first `ClassObject` for its VTable if more than one `ClassObject` had been constructed for the class
2024-02-25 21:52:24 -08:00
Lord-McSweeney
a763842b1b
avm2: Extract optimizer logic into a different file
2024-02-25 21:52:24 -08:00
Lord-McSweeney
ba9a975685
avm2: Add `push_raw` for faster stack pushes
2024-02-25 21:52:24 -08:00
Lord-McSweeney
b07c0a99ea
avm2: Also optimize `CallProperty` to `CallMethod` when possible
2024-02-25 21:52:24 -08:00
Lord-McSweeney
22117e3eb5
avm2: Add more ops to optimizer and let it use resolved argument types
2024-02-25 21:52:24 -08:00
Lord-McSweeney
4da708edb8
chore: appease clippy
2024-02-25 21:52:24 -08:00
Lord-McSweeney
e227576093
chore: cleanup
2024-02-25 21:52:24 -08:00
Lord-McSweeney
d7cebd020b
avm2: Support type inference for chained `GetProperty`s
2024-02-25 21:52:24 -08:00
Lord-McSweeney
8b19012123
avm2: Handle more ops in abstract optimizer
2024-02-25 21:52:24 -08:00
Lord-McSweeney
0cb0d4a6da
avm2: More advanced optimizer
2024-02-25 21:52:24 -08:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
Crowdin Bot
29821e9c84
chore: Update translations from Crowdin
2024-02-19 10:38:26 +01:00
Tom Schuster
ba7c9a4e31
avm2: Always serialize as ECMAArray, which produces an AMF0 MixedArray
2024-02-19 10:13:18 +01:00
Adrian Wielgosik
fe2ed81d8a
avm2: Implement JS->AS3 Object deserialization
2024-02-16 15:25:55 +01:00
renovate[bot]
1651b7a5b0
desktop: chore: Update `egui` to 0.26.2
2024-02-16 01:52:41 +01:00
Aaron Hill
1a1ce91e98
core: Only report socket connected just before we fire 'connect'
...
Platform Racing 3 relies on 'Socket.connected' reporting 'false'
immediately after calling 'Socket.connect' - it internally buffers
data made when 'Socket.connected' is false
2024-02-16 01:10:57 +01:00
Tom Schuster
49b3b9d7de
avm2: Stub all flash.sampler methods
2024-02-14 14:10:41 +01:00
svitkin
b55db7083c
tests: Add test for flash.net.navigateToURL
2024-02-12 17:14:11 +01:00
svitkin
5028f66608
avm2: parse data for flash.net.navigateToURL ( closes #13898 )
2024-02-12 17:14:11 +01:00
Marco Bartoli
50a8815a50
avm2: Deserialize AMF dictionary ( #15169 )
2024-02-09 00:06:08 +01:00
Aaron Hill
71f828a3fd
avm2: Use playerglobals domain as parent for `new ApplicationDomain()`
...
We were incorrectly using the stage domain as the parent, which caused
classes to be incorrectly shared between domains.
2024-02-07 20:13:23 -05:00
Tom Schuster
d7c7716c34
avm2: Implement TextField::getLineText
2024-02-07 20:34:43 +01:00
David Wendt
d7583289c9
avm1: Make `NetConnection.isConnected`'s stub more functional
2024-02-07 19:46:39 +01:00
Tom Schuster
cadae9303f
avm2: Verify the URLRequest method
2024-02-06 17:52:08 +01:00
sleepycatcoding
4c6f2ba973
avm2: Fix `in` operator not handling attributes in XML object
2024-02-05 21:09:39 +01:00
Tom Schuster
ecda68b81c
avm2: has_property should do proto.has_property instead of
...
has_own_property
2024-02-05 19:34:09 +01:00
TÖRÖK Attila
28c380cfac
desktop: Update egui to 0.26.0
2024-02-05 19:05:10 +01:00
renovate[bot]
477440d387
fix(deps): update rust dependencies
2024-02-05 07:56:07 +01:00
Kamil Jarosz
f3f8a4522e
text: Add support for relative font sizes in HTML
2024-02-04 22:01:32 +01:00
_Mads
b5d0c965f0
avm2: Implement TimerEvent.toString
2024-02-03 21:54:52 +00:00
Kamil Jarosz
50b5f29c0a
text: Make enter add a new line in multiline fields
2024-02-03 13:40:07 +01:00
Aaron Hill
b02a96373b
debug_ui: Show ClassObjects for domain class
...
This re-uses our existing infrastructure for displaying
AVM2 Class objector. One minor limitation of this approach
is the inability to view a `Class` that hasn't yet had its
`ClassObject` created - however, this should be rare in practice.
We show a collapsing header with all of the ClassObjects associated
with the given Class.
2024-02-02 19:24:36 -08:00
Lord-McSweeney
603a76bab0
avm2: Add fast path for `Value::abstract_lt`-ing two integers
2024-02-01 17:03:57 -08:00
Nathan Adams
71c9de410d
core: Clarify CPU vs GPU branch in BitmapData.draw
2024-02-02 00:59:45 +01:00
Nathan Adams
bac78442fc
core: Don't do bmd.draw() on cpu if it exists on gpu
2024-02-02 00:59:45 +01:00
Nathan Adams
70fbb4a7ac
render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle
2024-02-02 00:59:45 +01:00
Marco Bartoli
5ae3be3ac9
avm2: Ignore version marks in non-playerglobal namespaces
2024-02-01 21:50:26 +00:00
Kamil Jarosz
4154a0945d
text: Implement advanced horizontal text controls for EditText
2024-02-01 20:18:29 +01:00