Aaron Hill
ad97322807
avm2: Implement ErrorObject.display without using Activation
...
This lets us print the full error message and stack stacke
in contexts where an Activation is not available, including
the `Debug` impl.
The 'name' and 'error' fields are accessed using hardcodd slot
ids. This is pretty hacky, but will work until we have better
handling of slot properties.
2023-06-15 09:31:36 -05:00
Aaron Hill
87850abd19
avm2: Improve support for deleting XML attributes and children
...
We now support deleting named children, as well as attributes.
Additionally, I've fixed our handling of `XML.parent()` - we now
properly set the parent when a child is created, and clear the parent
when `delete` is used.
2023-06-15 09:02:09 -05:00
Crowdin Bot
56a87dec50
chore: Update translations from Crowdin
2023-06-15 13:10:16 +02:00
Lord-McSweeney
b4b726d7ab
avm2: nit: Add error number in error message for BitmapData.drawWithQuality
2023-06-14 20:32:06 -05:00
Aaron Hill
cd2c7f6f2f
tests: Enable tracing_subscriber in tests
...
Previously, we weren't displaying any Ruffle logs when running tests.
2023-06-14 17:15:31 -05:00
AllinolCP
e4d86ec9e7
core: implement screen resolution for capabilities ( #11156 )
2023-06-14 20:49:13 +00:00
Lord-McSweeney
f649344f64
avm2: nit: Fix warning message in Avm2::peek
2023-06-14 19:16:08 +02:00
Lord-McSweeney
6006aa82c2
avm2+tests: Support primitives besides null in MovieClip.addFrameScript; add test
2023-06-14 18:16:39 +02:00
nosamu
202fe2f1bb
core: Add options to set and force the stage alignment
2023-06-14 16:04:14 +02:00
Daniel Jacobs
0c1cd6aa4f
selfhosted: Add a config option to enable Ruffle even on Flash browsers
2023-06-14 14:31:44 +02:00
Nathan Adams
0b86c02c5c
desktop: Fix interaction between egui and ruffle cursors
2023-06-14 13:43:17 +02:00
Lord-McSweeney
f5528aab75
avm2+tests: Implement Object.length and Object.init; add test for Object.length
2023-06-14 12:37:00 +02:00
Crowdin Bot
942842c47a
chore: Update translations from Crowdin
2023-06-14 12:13:18 +02:00
Lord-McSweeney
10a8acb166
avm2: Stub NetConnection.addHeader
2023-06-13 20:51:08 -05:00
nosamu
60d3788466
avm2: Improve PerspectiveProjection stub
2023-06-13 19:31:18 -05:00
Adrian Wielgosik
128416cccd
avm2: Support Array(...) without new
2023-06-14 00:34:13 +02:00
Aaron Hill
40318f905e
avm2: Implement call handler for XMLList
...
This delegates to the XMLList constructor, just as
the XML call handler delegates to the XML constructor.
2023-06-13 17:20:11 -05:00
nosamu
61f1cf88a5
avm2: Throw AVM error in Array constructor
2023-06-13 23:54:13 +02:00
Daniel Jacobs
a666d35161
web: Stop error if Fetch response lacks headers
2023-06-13 08:52:58 +03:00
Mike Welsh
c4e4eba63f
avm2: Implement BitmapData.setVector
2023-06-12 18:34:51 -05:00
Aaron Hill
a006e96a44
avm2: Set named field in parent to null when child is removed
...
If a child named 'foo' is removed by the timeline (without
having been previous added/removed from the timeline by ActionScript),
then the 'foo' field in the parent will be set to null. This occurs
even if the 'foo' field in the parent is not currently set to
the child 'foo' (e.g. 'this.foo = someOtherObject' was executed by
ActionScript).
2023-06-12 17:33:02 -05:00
Moulins
d04fc61bb5
core: slightly simplify string interner by using new hashbrown APIs
...
- we can now get a `&RawTable` from a `&HashSet`, meaning we can store a
`HashSet` directly in the interner;
- `RawTable::iter_hash` now allows the removal of already-yielded
elements during iteration, which simplifies `WeakSet::entry`
2023-06-12 22:58:20 +02:00
Aaron Hill
bb53af36a5
avm2: Add ignored test for subclass with 'overriding' field name
...
The Adobe Animate compiler rejects a subclass that contains
a non-private field with the same name as a field in an ancestor
class (e.g. 'pub var foo:String' in both the subclass and superclass).
Unfortunately, Flash Player accepts this code, and creates a distinct
field for each class (even though they have the same namespace and
name). I suspect that this is caused by the optimizer replacing the
field accesses with internal slot accesses.
I've added an ignored test demonstrating this behavior - getting Ruffle
to reproduce it will be tricky.
2023-06-12 15:16:10 -05:00
relrelb
1dc28d898e
avm1: Migrate `Transform` to `NativeObject`
2023-06-12 20:16:45 +03:00
Aaron Hill
2dfc0bac5b
core: Log url when movie fetch fails
2023-06-12 10:55:13 -05:00
Crowdin Bot
834297f110
chore: Update translations from Crowdin
2023-06-12 12:28:05 +02:00
Aaron Hill
ce0ba7795c
avm2: Throw TypeError when 'astype' receives a null/undefined class
2023-06-12 02:31:03 -05:00
Aaron Hill
7e56c20973
avm2: Implement KeyboardEvent.updateAfterEvent
2023-06-12 01:44:46 -05:00
Aaron Hill
6b808a9a9d
avm2: Stub Matrix3D-related methods on Transform
...
This allows verification to succeed on classes that override these
methods.
2023-06-12 01:17:39 -05:00
secret-shober
4e8e08ae4a
Add Table of Contents to README
2023-06-12 08:55:02 +03:00
renovate[bot]
438e6f36ff
chore(deps): lock file maintenance rust dependencies
2023-06-12 08:50:07 +03:00
Moulins
da6e2a96bf
desktop: properly populate base and proxy URL fields from option struct
...
Fixes #11461
2023-06-11 12:46:13 -05:00
Lord-McSweeney
b7088695fe
avm2: Stub undocumented TextField.insertXMLText
2023-06-11 11:17:21 -05:00
relrelb
226a2be2bd
core: Fix drag constraint with `lockCenter` set to `false`
...
Previously `last_mouse_position` was updated irrespectively of
whether the dragged object was inside or outside the constraint
box. Change it follow mouse deltas, after clamping is performed.
Fixes #11254 .
2023-06-11 07:34:14 +03:00
Lord-McSweeney
dced6445ee
avm2: Stub flash.net.getClassByAlias and improve flash.net.registerClassAlias stub
2023-06-10 16:09:57 -05:00
Lord-McSweeney
4d8feeab2e
avm2+tests: Fix String.substr with negative second value, add tests
2023-06-10 15:48:45 -05:00
Aaron Hill
cfb23d1f97
avm2: Implement AMF serialization of XML objects
2023-06-10 12:13:07 -05:00
relrelb
dcb6bbe50b
avm1: Migrate `GradientGlowFilter` to `NativeObject`
2023-06-10 12:46:22 +03:00
Nathan Adams
75979b561a
avm1: Rename try_resolve_level -> get_level, resolve_level -> get_or_create_level
2023-06-10 10:37:15 +02:00
Nathan Adams
38a3f67000
avm1: Don't create _levelN for unloadMovieNum(N)
2023-06-10 10:37:15 +02:00
Crowdin Bot
e8925832a1
chore: Update translations from Crowdin
2023-06-10 10:09:19 +02:00
AllinolCP
44ff49aa53
core: Fix status code implementation for AVM1 and implement HTTPStatusEvent.HTTP_STATUS for avm2 ( #11360 )
2023-06-10 03:06:26 +00:00
renovate[bot]
a621472336
chore(deps): lock file maintenance rust dependencies
2023-06-09 20:17:25 +03:00
Aaron Hill
a387476de7
core: Unify loader event handler and AVM2 data into MovieLoaderVMData
...
`AVM2Data` was always provided with
`MovieLoaderEventHandler::Avm2LoaderInfo`, so we can unify
them into a single enum.
2023-06-09 11:47:11 -05:00
doomsdayrs
16210cbcf6
desktop: Add reverse engineered logo svg
...
There was no source file for the various logos.
I used the icon file provided by @nosamu and used existing pngs to recreate the style of the logo.
2023-06-09 18:21:56 +02:00
Oleksandr Kalko
70aa8385b7
chore: Upgrade NodeJS dependencies ( #11352 )
2023-06-09 15:50:59 +00:00
Toad06
2894f01d50
avm1: Implement `MovieClip.lineGradientStyle`
2023-06-09 17:36:34 +02:00
Toad06
181aac46b0
avm1: Don't fail if base clip is invalid in `GetProperty`/`SetProperty`
2023-06-09 16:59:27 +02:00
Nathan Adams
6ec01f3ecb
desktop: Add dummy External Interface option
2023-06-09 13:03:46 +02:00
Nathan Adams
137986c384
core: Add PlayerBuilder::with_external_interface
2023-06-09 13:03:46 +02:00