Commit Graph

6417 Commits

Author SHA1 Message Date
Lord-McSweeney 8096146a0d avm1: Correctly mark unloaded movies as unloaded instead of relying on depth 2023-12-09 00:29:37 +01:00
Tom Schuster 8688d4da21 avm2: Stub flash.text.engine.FontDescription::isFontCompatible 2023-12-08 16:16:15 -05:00
Tom Schuster 06e33c104d avm2: Implement TextLine::textWidth and TextLine::textHeight 2023-12-08 19:15:01 +01:00
renovate[bot] 40b92e69f7 fix(deps): update rust dependencies 2023-12-05 21:08:16 +01:00
renovate[bot] a0c33382bf fix(deps): update wasm-bindgen 2023-12-04 12:08:22 +01:00
TÖRÖK Attila 82d61faa2c avm2: Use explicitly wrapping integer arithmetic operations 2023-12-03 16:34:27 +01:00
Aaron Hill 19c3df7cb6 avm2: Perform early allocation and exposing of SimpleButton object
The allocated-but-unconstructed object should be set on
the parent field before we construct the 'up state' object - this
is observable by ActionScript
2023-11-30 12:49:32 -08:00
MrCheeze 9f6ab2b7c6 core: Allow default fonts to use bold/italic fonts 2023-11-30 21:04:41 +01:00
Lord-McSweeney 1ce3ec636a avm2: Prevent `AVM1Movie`s from being moved around in the DO hierarchy 2023-11-30 07:12:37 -08:00
Lord-McSweeney 889c13f7c6 core: Remove leftover `avm2_avm1movie` 2023-11-30 07:12:37 -08:00
Lord-McSweeney 24c9f9386f core: Resolve review comments (no functional changes) 2023-11-30 07:12:37 -08:00
Lord-McSweeney f458a391fc avm2: Use caller movie when creating a `Bitmap` 2023-11-30 07:12:37 -08:00
Lord-McSweeney 7e145d7c7c core: Don't run DoABC(2) tags when the root movie is AVM1
KOF vs DNF relies on this.
2023-11-30 07:12:37 -08:00
Lord-McSweeney 8e1f145aba core: Use correct movie version for `Bitmap` DOs 2023-11-30 07:12:37 -08:00
Lord-McSweeney 5c04925ebc core/avm1: Remove usage of `context.stage` in a few places 2023-11-30 07:12:37 -08:00
Lord-McSweeney 23f7291a52 core: Immediately post-instantiate an AVM1 MovieClip being loaded by AVM2 2023-11-30 07:12:37 -08:00
Lord-McSweeney a71bfe777c avm2: Fix building after rebase, fix `AVM1Movie`, use `Avm2Activation::caller_movie_or_root` where appropriate 2023-11-30 07:12:37 -08:00
Lord-McSweeney fb8bde252f core/avm2: Hook up AVM1Movie 2023-11-30 07:12:37 -08:00
Lord-McSweeney 7eb3c3be0c core: Remove NotAvm2 AVM2 mouse pick enum option since it is equivalent to Miss 2023-11-30 07:12:37 -08:00
Lord-McSweeney cdbb08b4ee core: Remove context.is_action_script_3 2023-11-30 07:12:37 -08:00
Lord-McSweeney 58f33b6b94 core: Provide global domain for loading movies without avm2_data. 2023-11-30 07:12:37 -08:00
Lord-McSweeney 6eba8a6444 core: Use current movie instead of root movie in Avm1Button.event_dispatch 2023-11-30 07:12:37 -08:00
Lord-McSweeney 2553b1acdb core: Set movie of Stage's ChildContainer when Stage's movie is set 2023-11-30 07:12:37 -08:00
Lord-McSweeney 45f6dfdbd4 core: Remove some uses of context.swf 2023-11-30 07:12:37 -08:00
Lord-McSweeney fd538915b3 core: Change some uses of Avm1Activation::from_stub to from_nothing 2023-11-30 07:12:37 -08:00
Lord-McSweeney 43fdd30fc1 core: Improve mouse picking for mixed AVM 2023-11-30 07:12:37 -08:00
Lord-McSweeney 9e2b49f857 core: Remove most uses of context.is_action_script_3() 2023-11-30 07:12:37 -08:00
David Wendt 6d77fea750 avm1, avm2: Convert Object to AVM values as well 2023-11-28 18:53:01 -07:00
David Wendt 204bdbf74c avm1: Implement strict array conversion for AVM1, too. 2023-11-28 18:53:01 -07:00
Lord-McSweeney 0a4d1449fc avm2: Implement StrictArray conversion for FLV script data 2023-11-28 18:53:01 -07:00
David Wendt ab02e89b3b core: FLV's Strict Array type holds values, not key/value pairs.
*draws a zero on the 'days since last misdocumented feature' sign*
2023-11-28 18:53:01 -07:00
renovate[bot] 6da223a875 fix(deps): update rust dependencies 2023-11-27 09:44:47 +01:00
Aaron Hill 24aa9b8fe4 avm2: Copy data for async loadCompressedTextureFromByteArray
The caller might modify the ByteArray immediately after the call,
so we need to copy the ByteArray.
2023-11-25 19:11:54 -08:00
TÖRÖK Attila 941f87ca8e core/audio: Remove the now unused clip_frame parameter of start_stream 2023-11-26 03:51:28 +01:00
TÖRÖK Attila 8ce95d76fe core/audio: Remove the now unused stream_handle parameter of start_stream 2023-11-26 03:51:28 +01:00
TÖRÖK Attila 23960883f8 core/audio: Remove the now dummy is_loading_complete 2023-11-26 03:51:28 +01:00
TÖRÖK Attila ca8de7b791 core/avm2: Add sampledataevent to globals 2023-11-26 03:51:28 +01:00
Aaron Hill 993d8d9f9b core: Add PlayerRuntime::{FlashPlayer, AIR} for Adobe AIR support
We've now had two different bug reports involving Adobe AIR
SWFs, so I'm going to go ahead and start adding a framework
for AIR support.

This commit just adds a command-line option
`--player-runtime <flash-player|air>` (defaulting to `flash-player`),
and passes it along to the `Player`. The actual value is currently
unused - in a follow-up PR, I'm going to implement namespace versioning
for AIR.
2023-11-25 19:05:51 -05:00
Aaron Hill e0998642f6 core: Divide by 255 in blend_over calculation
This prevents the value from being changed when blending a
source pixel of 0x0 over a destination pixel (with alpha).
2023-11-25 22:29:30 +01:00
Lord-McSweeney f41059a60a avm2: Version-gate `JSON` to SWFv13 and above 2023-11-25 13:15:42 -08:00
Aaron Hill f12f457f5d avm2: Fix handling of public indices with nested iteration
This more closely aligns our code with the corresponding avmplus code.
A user-supplied index of '0' is special-cased, and we correctly
resume iteration when a public index mismatch is detected.
2023-11-25 21:34:48 +01:00
Tom Schuster a2021cd3e2 avm2: Remove dead init_display_object fn 2023-11-25 11:38:08 -05:00
MrCheeze 5920a6426e core: Allow Regular/Bold/Italic device fonts to be registered separately 2023-11-24 17:08:35 +01:00
Tom Schuster 96059a8e25 avm2: Implement flash.system.Security pageDomain 2023-11-23 19:55:32 +01:00
Lord-McSweeney d3489ef1f3 avm2: Implement URLLoader for VARIABLES data format 2023-11-23 19:40:28 +01:00
sleepycatcoding 7be2eae4b8 avm2: Implement QName enumeration 2023-11-23 19:25:08 +01:00
Aaron Hill c920ceba51 avm2: Set RUNNING_CONSTRUCT_FRAME flag inside DisplayObject ctor
This ensures that this flag is set regardless of whether the
object is constructed by the timeline or from ActionScript
(it was previously only set when constructed by the timeline).
2023-11-23 10:36:37 -05:00
Robin Allen cad162121b
core: Fix MorphShape inaccuracy on complex paths (#14089)
* core: Fix MorphShape inaccuracy on complex paths

It's inaccurate to interpolate the moveTo/lineTo deltas individually
because on complex paths they're often small integers, which won't
interpolate smoothly.

Instead, interpolate absolute positions.
2023-11-21 12:41:45 +00:00
MrCheeze d23d16cb11 avm2: Report ProgressEvent when a sound is loaded (close #8932) 2023-11-20 16:14:03 -08:00
Robin Allen 1ce772befa core: fix lerp_twips sometimes being off-by-one due to FP error 2023-11-20 13:21:32 +01:00