David Wendt
7eb0ca8ecc
core: Unconstructed display objects should be `null`, not `undefined`.
2022-12-27 20:15:49 -07:00
David Wendt
cbf2e94aba
core: Fix AVM2 buttons getting constructed with the wrong initial state.
...
This code was always wrong; and only saved from breaking by other wrong code elsewhere. Specifically:
* `SimpleButton.construct_frame` sets the wrong initial state
* but `MovieClip.instantiate_child` fires frame events before `post_instantiation`
* and `SimpleButton.post_instantiation` sets the correct state
2022-12-27 20:15:49 -07:00
David Wendt
eb0eede07d
chore: Remove unused/superceded event issue code
2022-12-27 20:15:49 -07:00
David Wendt
b6aa035663
core: Instantiating display objects on the timeline should no longer construct them.
...
This works now because all object placement and removal happens in `enter_frame`. Constructing those objects right away causes them to drop added events.
We cannot remove other instances of `construct_frame`, however - those are in places where we actually do expect constructors to run, not just see things get placed.
2022-12-27 20:15:49 -07:00
David Wendt
4b71fff745
core: Children added to AVM2 buttons should not emit added events
2022-12-27 20:15:49 -07:00
David Wendt
0d7e9cd30e
core: All display objects that can be placed by timeline need to add themselves to their parent object.
...
This also centralizes all the code we added in the prior commit into `on_construction_complete`, which should be called whenever an AVM2 object finishes construction.
2022-12-27 20:15:49 -07:00
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