Commit Graph

4656 Commits

Author SHA1 Message Date
David Wendt 1c5e97ccc6 core: Move AVM2 `PlaceObject` processing to `enter_frame`.
This has a few other knock-on effects:

 * AVM2 added-to-timeline events are fired by each object after it constructs its AVM2 side. This is opposed to before when we fired them after object instantiation and placement. This also gets rid of a prior hack we had for the AVM2 root movie getting added to the stage - or, more accurately, adopts it for everything.
 * The supercall constructor for `DisplayObject` runs `construct_frame` on all children. This matches Flash Player behavior.

NOTE: This currently breaks the `placed_with_name` check, so there's going to be a lot of spurious can't set warnings
2022-12-27 20:15:49 -07:00
dependabot[bot] 664c67ea27 build(deps): bump clap from 4.0.29 to 4.0.32
Bumps [clap](https://github.com/clap-rs/clap) from 4.0.29 to 4.0.32.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.29...v4.0.32)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 22:04:33 +01:00
Aaron Hill 6dc628e49f core: Remove some manual `Collect` impls
Some were completely unused, while others could be replaced
with a `#[derive(Collect)]`
2022-12-24 00:33:25 -06:00
Adrian Wielgosik 7a09dd5639 avm2: Convert FrameLabel to AS3, remove define_indirect_properties 2022-12-22 00:45:02 +01:00
Adrian Wielgosik e6e9c9edc2 avm2: Convert Dictionary to AS3 2022-12-21 23:56:48 +01:00
Adrian Wielgosik e90d595cb3 avm2: Convert SharedObject to AS3 2022-12-21 22:21:23 +01:00
Adrian Wielgosik f3ebb0c297 avm2: Convert JSON class to AS3 2022-12-21 22:21:23 +01:00
Lord-McSweeney 5cf5c8d5e5 Update Loader.as
Stub `flash.display.Loader.unload`
2022-12-20 16:58:55 -06:00
dependabot[bot] d12e1ebd6e build(deps): bump syn from 1.0.105 to 1.0.107
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.105 to 1.0.107.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.105...1.0.107)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 07:52:42 +02:00
dependabot[bot] 5383ae296d build(deps): bump quote from 1.0.21 to 1.0.23
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.21 to 1.0.23.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.21...1.0.23)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 07:29:38 +02:00
dependabot[bot] 9db6ace65f build(deps): bump serde from 1.0.150 to 1.0.151
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.150 to 1.0.151.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.150...v1.0.151)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 00:48:45 +01:00
dependabot[bot] 08566ed4ba build(deps): bump proc-macro2 from 1.0.47 to 1.0.49
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.47 to 1.0.49.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.47...1.0.49)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 00:20:20 +01:00
dependabot[bot] 502b03a882 build(deps): bump rustversion from 1.0.9 to 1.0.11
Bumps [rustversion](https://github.com/dtolnay/rustversion) from 1.0.9 to 1.0.11.
- [Release notes](https://github.com/dtolnay/rustversion/releases)
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.9...1.0.11)

---
updated-dependencies:
- dependency-name: rustversion
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 21:37:54 +01:00
CUB3D 7b564ccd97 avm2: Stub registerClassAlias 2022-12-19 11:06:52 -08:00
Adrian Wielgosik 24a6f74b3c avm2: Convert Proxy to AS3 2022-12-19 18:25:25 +01:00
Adrian Wielgosik 96950f424e avm2: Stub InteractiveObject.focusRect 2022-12-18 14:36:08 -07:00
CUB3D 80cf98f501 avm2: Check for state parent in hit_test_shape as well as mouse_pick 2022-12-18 13:32:24 -07:00
CUB3D 2edbe3092b avm2: Ignore mouse_pick on static text 2022-12-18 13:32:24 -07:00
CUB3D b46a4186ab chore: Fmt 2022-12-18 13:32:24 -07:00
CUB3D 6f214c2165 chore: Fix clippy lint 2022-12-18 13:32:24 -07:00
CUB3D ef9483d961 avm2: hitTestPoint requires do to be on stage, only if shape_flag=true 2022-12-18 13:32:24 -07:00
CUB3D d7156e9a58 avm2: Dont transform mouse_pick point in button if hit_area has a parent 2022-12-18 13:32:24 -07:00
CUB3D 55926932e0 avm2: MouseUpInside clip events should be handled by avm2 buttons 2022-12-18 13:32:24 -07:00
CUB3D 8ddba5432c avm2: hitTestPoint requires the object to be on the stage 2022-12-18 13:32:24 -07:00
CUB3D 1013a6a162 avm2: Button bounds_with_transform should include bounds of current state child 2022-12-18 13:32:24 -07:00
CUB3D 391b3a9dfb avm2: Selecting the child of a SimpleButton should select the button, not the child
This fixes ingame menu buttons in BLOCnog
2022-12-18 13:32:24 -07:00
CUB3D fa44d61bc5 avm2: MouseEnabled shouldn't affect abillity to select children
Fixes #8694
2022-12-18 13:32:24 -07:00
CUB3D 690191dbdf avm2: Fix SimpleButton bounds 2022-12-18 13:32:24 -07:00
CUB3D f1401d6837 avm2: Fix hittests on depth=0 children 2022-12-18 13:32:24 -07:00
Mike Welsh c30eb38741 audio: Rename symphonia feature to mp3 2022-12-17 22:48:42 -08:00
Mike Welsh d162363c2f audio: Remove minimp3 feature 2022-12-17 22:48:42 -08:00
Moulins 625f09a91a avm1: remove unused GcCell in ArrayObject and SuperObject 2022-12-17 21:12:43 -08:00
Moulins 62e64c714e avm1: remove most of the contents of impl_custom_object! macro
The delegating methods are moved to default implementations on the
TObject trait, delegating to self.raw_script_object()
2022-12-17 21:12:43 -08:00
Moulins eadbf92454 avm1: rename TObject::{as => raw}_script_object & remove Option in ret. type
Usage of TObject::as_script_object was always followed by an unwrap, and
only SuperObject returned None.
The name change is intended to make clearer the fact that using the
returned object may bypass special behavior.
2022-12-17 21:12:43 -08:00
David Wendt 1255bf1c59 core: Don't fire init events on AVM2 until the first frame has been constructed. 2022-12-17 20:47:49 -08:00
Mike Welsh 696c9062d3 chore: Inherit cargo metadata from workspace
Use workspace inheritance added in Rust 1.64 to de-duplicate
various settings across all packages.
2022-12-16 15:53:59 -08:00
Adrian Wielgosik 870745e0ef avm2: Make pop_stack #[must_use] 2022-12-16 14:40:22 -08:00
Adrian Wielgosik 7df920b255 avm2: Support indexing with QNames 2022-12-16 14:40:22 -08:00
Adrian Wielgosik d2dfdb9a0b avm2: Collapse PackageNamespace to Namespace 2022-12-16 12:51:01 -08:00
relrelb 14747f26fd chore: Fix `clippy::uninlined_format_args` for `avm_debug!`
Though this is not currently enforced by Clippy.
2022-12-15 08:59:38 +02:00
relrelb bd9078addf chore: Fix `clippy::uninlined_format_args` lints 2022-12-15 08:59:38 +02:00
nosamu f904f20796 avm2: Stub SharedObject.clear and SharedObject.size 2022-12-15 08:41:28 +02:00
Adrian Wielgosik 92998e2c91 avm2: Translate ExternalInterface to AS 2022-12-14 17:57:45 +01:00
Adrian Wielgosik 5e115ed038 avm2: Stub more parts of LocalConnection and UrlRequest 2022-12-13 10:22:20 +01:00
Adrian Wielgosik c8314da8d3 avm2: Fix aliasing in BitmapData.copyChannel 2022-12-13 01:24:49 +01:00
Callum Thomson 20c9a3d765
AVM2: Implement System.setClipboard (#8751)
* avm2: Implement System.setClipboard

* web: Add comment to set_clipboard_content
2022-12-13 01:05:23 +01:00
CUB3D 02360b28dc avm2: Implement basic flash.net.navigateToURL 2022-12-13 00:34:10 +01:00
dependabot[bot] b1c4e6f143 build(deps): bump serde from 1.0.149 to 1.0.150
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.149 to 1.0.150.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 21:21:45 +01:00
nosamu 1aaaf6d421 avm2: Stub SharedObject.close 2022-12-10 21:38:19 -06:00
Adrian Wielgosik 2bb4e2e549 core: Fix failing builds without avm_debug feature 2022-12-07 00:34:01 +01:00