Commit Graph

6221 Commits

Author SHA1 Message Date
Lord-McSweeney 4561fd3631 avm2: Move top-level functions and __ruffle__ stub functions to ActionScript 2023-10-13 20:22:00 +02:00
David Wendt cf3c594209 docs: Correct documentation of what `execute_seek` does 2023-10-10 18:49:09 -06:00
David Wendt 759aa1e469 core: Allow seeks to process on paused streams.
Our list of 'playing' streams is now a list of 'active' streams. This nomenclature change also indicates a rule change: streams are activated whenever there is work for them to do, and they are only ever deactivated by themselves when they're out of work to do. We no longer deactivate streams when they are paused as they may still have a queued seek to process.
2023-10-10 18:49:09 -06:00
David Wendt e5b59438f7 core: Swap order of parameters on `NetStream.Seek.Notify` event 2023-10-10 18:49:09 -06:00
David Wendt 4420dc8d23 core: Let each VM flag if it wants to send seek events or not 2023-10-10 18:49:09 -06:00
David Wendt c086a6da11 chore: Fix let statements holding unnecessary borrows, *grumble grumble* 2023-10-10 18:49:09 -06:00
David Wendt 78e41b5be5 avm1: Implement `NetStream.time` 2023-10-10 18:49:09 -06:00
David Wendt c23f346665 chore: Ensure all `NetStream` code is working in milliseconds.
AVM `NetStream` reports and accepts values in seconds, so all the unit conversions went there now.
2023-10-10 18:49:09 -06:00
David Wendt a0a762ccfc core: `NetStream` seeks are queued.
They do not execute until the next stream tick.

We also implement a few new status events, including some AVM2 exclusive ones.
2023-10-10 18:49:09 -06:00
David Wendt 3f13087d39 chore: Use `get_f64` for `NetStream.seek` 2023-10-10 18:49:09 -06:00
David Wendt 99de1ae154 avm2: Implement `NetStream.time` 2023-10-10 18:49:09 -06:00
David Wendt 0d886dd860 core: Add `NetStream.Pause.Notify` event 2023-10-10 18:49:09 -06:00
David Wendt 3566d7f43a core: Fire `NetStream.SeekStart.Notify` events 2023-10-10 18:49:09 -06:00
David Wendt 1f5947912d core: Defensively program against `flv` being broken 2023-10-10 18:49:09 -06:00
David Wendt 3be9ce4ac0 avm2: Implement `NetStream.seek` 2023-10-10 18:49:09 -06:00
David Wendt e440e175d9 avm1: Implement `seek` method 2023-10-10 18:49:09 -06:00
David Wendt bc6291898c core: Add a `seek` method 2023-10-10 18:49:09 -06:00
David Wendt 4867ff1210 core: Break type sniffing out into a separate fn. 2023-10-10 18:49:09 -06:00
renovate[bot] 18796a67fe fix(deps): update rust dependencies 2023-10-10 02:15:59 +02:00
Lord-McSweeney 7254cdeef9 avm2: Throw ArgumentError when trying to construct `new Worker()` 2023-10-10 01:20:06 +02:00
TÖRÖK Attila 602154b1b7 core,desktop: Switch to egui v0.23.0
Since it's compatible with wgpu 0.17.x.
2023-10-09 18:51:01 -04:00
sleepycatcoding 21a1e1f670 avm2: Small set_property_local fixup
Fixes a borrow panic and logic error.
2023-10-10 00:24:39 +02:00
sleepycatcoding 0b2771c23d avm2: Implement other XMLList set_property_local path 2023-10-10 00:24:39 +02:00
sleepycatcoding 917e70086b avm2: Throw Error 1089, if base list length bigger than 1
This is not mentioned in the E4X specification, but this is what avmplus
seems to be doing.
2023-10-10 00:24:39 +02:00
sleepycatcoding ca5ba4877c avm2: Implement one XMLList set_property path 2023-10-10 00:24:39 +02:00
sleepycatcoding 709306be81 avm2: Implement resolveValue 2023-10-10 00:24:39 +02:00
sleepycatcoding 4285d998dc avm2: Add target property to XMLListObject 2023-10-10 00:24:39 +02:00
Nathan Adams a3b95d9534 avm2: Fix missing stub imports in TextRenderer.as 2023-10-09 23:54:58 +02:00
Lord-McSweeney b877a39c47 avm2: Implement SharedObject.setProperty 2023-10-07 23:49:36 +02:00
Tom Schuster 278a6ddf53 avm2: Use the localName in XMLDocument::_convertXmlNode 2023-10-07 23:46:40 +02:00
sleepycatcoding ce2862dd45 avm2: Fix KeyboardEvent clone
also adds missing commandKey property.
2023-10-07 08:57:34 +02:00
Aaron Hill 3a658f5dec avm2: Implement BitmapData.copyPixelsToByteArray
This basically just re-uses the implementation of getPixels
2023-10-05 17:35:54 -04:00
sleepycatcoding 5992f6b3c7 avm2: Fix handling of XMLList when set as attribute value
Fixes test `e11_6_1` when combined #13255.
2023-10-05 21:26:41 +02:00
sleepycatcoding 80ccc1d8a3 avm2: Implement some obscure SWFv9 XML behavior
This affects appendChild, prependChild, insertChildBefore, insertChildAfter.
2023-10-05 16:12:43 +02:00
Aaron Hill a5b4b63edc avm2: Stub Matrix3D.pointAt
Unfortunately, the OpenFL implementation has a TODO
noting that their implementation doesn't match Flash,
so getting this to work will require figuring out
how Flash does things.
2023-10-04 22:27:55 -04:00
Aaron Hill ddefac322a avm2: Run DoAbc/DoAbc2/SymbolClass as part of their frame
We previously ran these tags during preloading - however,
they are actually run as part of frame execution. This is observable
by ActionScript - a SWF can load in a class from a stop()'d MoveClip,
and then advance the clip to a frame with a SymbolClass referencing
the loaded class.
2023-10-04 22:00:22 -04:00
renovate[bot] 428e89af73 fix(deps): update rust dependencies 2023-10-04 19:19:51 -04:00
Tom Schuster 6d51bc3964 avm2: Namespace support for XML.name() 2023-10-01 19:26:07 +02:00
Tom Schuster 30614bdd2f avm2: QName constructor improvements 2023-10-01 19:26:07 +02:00
Aaron Hill 4c8f8829cb avm2: Implement Sound.loadCompressedDataFromByteArray 2023-09-30 21:03:37 -04:00
Lord-McSweeney bdc0985276 avm2: Correctly fire `textureReady` event for asynchronous Texture uploads 2023-09-30 16:43:38 -04:00
Aaron Hill c5abed07c4 Fix BitmapData.clone accidentally re-using GPU texture
This caused the clone to be linked to the original, instead of
being a completely independent BitmapData object.
2023-09-30 09:38:38 -04:00
sleepycatcoding f140e7a14b
core: Place jpegxr texture support behind feature flag (#13348) 2023-09-29 18:46:54 -04:00
Aaron Hill ec7a8ac645
avm2: Add support for Stage3D bytearray/compressed textures (#13180) 2023-09-28 03:03:30 +00:00
renovate[bot] 7e4e4d4c5b fix(deps): update rust dependencies 2023-09-25 11:14:39 +02:00
Lord-McSweeney 9833a2d19d avm2: Resolve review comments 2023-09-24 12:11:24 +02:00
Lord-McSweeney 1adde21a9b avm2, tests: Improve String.substr; add a complex test 2023-09-24 12:11:24 +02:00
Lord-McSweeney 6a1d0e32de avm2: Minor fix to string_wrapping_index
This improves the ecma3/String/substr test.
2023-09-24 12:11:24 +02:00
Aaron Hill c20b7b37fe Adjust behavior 2023-09-23 14:11:24 +02:00
Aaron Hill bb4410e387 avm2: Skip nested 'goto' frame for SWF 9
This fixes 'who_killed_travolta', and unblocks DeathvsMonstars and
NeoPets Lost City Lanes once some additional button fixes are merged.

This isn't 100% correct (as shown by the disabled test), but it brings
us closer to what Flash Player does.
2023-09-23 14:11:24 +02:00