renovate[bot]
32c65e6460
fix(deps): update rust dependencies
2023-11-13 09:10:26 +01:00
Aaron Hill
fa05c66e2a
avm2: Implement namespace versioning
...
This allows us to hide things like `MovieClip.isPlaying` from older
SWFs, which may define an `isPlaying` method without marking it
as an override.
This has the largest impact on public namespaces. There is no longer
just one public namespace - we now have a public namespace per API
version. Most callsites should use `Avm2.find_public_namespace()`,
which determines the public namespace based on the root SWF API version.
This ensures that explicit property access in Ruffle (e.g. calling
"toString") are able to see things defined in the user SWF.
This requires several changes other:
* A new `ApiVersion` enum is introduced, storing all of the api versions
defined in avmplus
* NamespaceData::Namespace now holds an `ApiVersion`. When we read a
namespace from a user-defined ABC file, we use the `ApiVersion` from
the root movie clip. This matches Flash Player's behavior - when a
child SWF is loaded through `Loader`, its API version gets overwritten
with the parent's API version, which affects definition visibility and
'override' requirements in the child SWF. Note that 'behavior changes'
in methods like `gotoAndPlay` are unaffected.
* The `PartialEq` impl for `Namespace` has been removed - each call site must now choose
to compare namespaces either by an exact version match, or by
'compatible' versions (a `<=` check) with `Namespace::matches_ns`
* `PropertyMap` now uses `Namespace::matches_ns` to check for a
compatible version when looking up a definition.
* When compiling our playerglobal, we pass in the `-apiversioning` flag,
which causes asc.jar to convert `[API]` metadata into a special
Unicode 'version mark' suffix in namespace URLs. We parse this
when loading namespaces to determine the API version to use for
playerglobal definitions (unmarked definitions use the lowest possible
version).
Unfortunately, this makes ffdec unable to decompile our
playerglobal.swc
I've going to file an upstream issue
2023-11-09 15:27:33 +01:00
renovate[bot]
1377a5b07b
fix(deps): update rust dependencies
2023-11-01 00:45:43 +01:00
renovate[bot]
cd01bfe7d6
fix(deps): update rust dependencies
2023-10-23 02:55:11 +02:00
renovate[bot]
b427940431
fix(deps): update rust dependencies
2023-10-16 09:51:22 +02:00
renovate[bot]
18796a67fe
fix(deps): update rust dependencies
2023-10-10 02:15:59 +02:00
renovate[bot]
428e89af73
fix(deps): update rust dependencies
2023-10-04 19:19:51 -04:00
renovate[bot]
7e4e4d4c5b
fix(deps): update rust dependencies
2023-09-25 11:14:39 +02:00
renovate[bot]
37e2c06034
fix(deps): update rust dependencies
2023-09-18 00:00:45 +02:00
Aaron Hill
ee62044cad
avm2: Implement avmplus.describeTypeJSON and use it for describeType
...
Some SWFS (in particular, anything using Unity) call
avmplus.describeTypeJSON, and rely on the behavior of the various
flags.
This PR changes our internal implementation to implement
describeTypeJSON (producing an `Object` with dynamic fields).
We then convert this to XML in `describeType`, using an implementation
inspired by avmplus.
The existing describeType tests are passing - in a follow-up PR,
I'll add tests for describeTypeJSON
2023-09-06 23:53:22 +02:00
renovate[bot]
dabc2d56b9
fix(deps): update rust dependencies
2023-09-04 10:25:24 +02:00
renovate[bot]
4e75c3890a
fix(deps): update rust dependencies
2023-08-28 07:39:35 +02:00
renovate[bot]
2f4c7d2fe3
fix(deps): update rust dependencies
2023-08-21 08:59:07 +02:00
renovate[bot]
1f4bfcf10d
fix(deps): update rust dependencies
2023-08-18 23:32:15 +02:00
renovate[bot]
a4b179e1e0
chore(deps): lock file maintenance rust dependencies
2023-08-08 23:19:16 +02:00
renovate[bot]
477ff400a7
chore(deps): lock file maintenance rust dependencies
2023-08-02 13:36:13 +02:00
renovate[bot]
3e63a88c34
chore(deps): lock file maintenance rust dependencies
2023-07-25 08:23:28 +03:00
renovate[bot]
268403faad
chore(deps): lock file maintenance rust dependencies
2023-07-17 09:55:56 +03:00
renovate[bot]
f0607d6a1f
chore(deps): lock file maintenance rust dependencies
2023-07-11 22:42:51 +02:00
renovate[bot]
13b1078142
chore(deps): lock file maintenance rust dependencies
2023-07-03 08:28:13 +03:00
renovate[bot]
3057aa59dd
chore(deps): lock file maintenance rust dependencies
2023-06-25 21:53:00 -04:00
renovate[bot]
7a21756ddb
chore(deps): lock file maintenance rust dependencies
2023-06-17 11:00:52 -05:00
renovate[bot]
a621472336
chore(deps): lock file maintenance rust dependencies
2023-06-09 20:17:25 +03:00
renovate[bot]
f1fe998869
chore(deps): lock file maintenance rust dependencies
2023-06-04 22:53:18 -05:00
renovate[bot]
847dece735
chore(deps): lock file maintenance rust dependencies
2023-05-28 23:54:33 -05:00
renovate[bot]
5d2477fe98
chore(deps): lock file maintenance rust dependencies
2023-05-22 19:12:08 +03:00
EmperorBale
78c8aa2a0d
core: Remove linter code
2023-05-20 13:59:12 -07:00
renovate[bot]
3b3c08a354
chore(deps): lock file maintenance rust dependencies
2023-04-24 01:22:07 +02:00
renovate[bot]
cd3ad90d61
chore(deps): lock file maintenance rust dependencies
2023-04-02 22:00:49 -07:00
renovate[bot]
5052e942b5
chore(deps): lock file maintenance rust dependencies
2023-03-28 09:31:15 +03:00
renovate[bot]
d7c842a139
chore(deps): lock file maintenance rust dependencies
2023-03-21 14:27:27 +01:00
renovate[bot]
f6f646a756
chore(deps): lock file maintenance rust dependencies
2023-03-19 19:45:30 -07:00
Aaron Hill
4618511771
avm2: Add custom call handlers and implement it for XML
...
The XML call handler is implemented as 'new XML(arg)',
so we get all of the related string coercions for free.
Our various native tables are starting to get somewhat wasteful -
if we add any more, we might want to consider a more compact
representation.
2023-03-15 16:47:32 -05:00
renovate[bot]
130144a76d
fix(deps): update rust dependencies
2023-03-05 20:43:46 -06:00
renovate[bot]
71e24eedba
fix(deps): update rust dependencies
2023-02-27 11:48:53 +02:00
Nathan Adams
69f93f926e
swf: Rename DoAbc to DoAbc2
2023-02-14 08:51:45 +01:00
renovate[bot]
a27bd66b58
fix(deps): update rust dependency patches
2023-02-13 04:59:31 +01:00
Aaron Hill
c597f9f996
core: Fix Clippy lints on nightly
2023-02-13 03:38:54 +01:00
Nathan Adams
ac9b6e3ecb
avm2: Mark Dictionary(true) and TimerEvent.updateAfterEvent() as stubs
2023-02-07 20:34:59 +01:00
Nathan Adams
bdbf54ecd4
core: Added ability to mark stubs inside actionscript
2023-02-07 20:34:59 +01:00
renovate[bot]
8b6eef1715
fix(deps): update rust dependencies
2023-01-24 20:10:40 -06:00
dependabot[bot]
6f430bb40d
build(deps): bump serde from 1.0.151 to 1.0.152
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.151 to 1.0.152.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.151...v1.0.152 )
---
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-28 10:55:35 +02: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
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
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
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
dependabot[bot]
3b285f8cf2
build(deps): bump serde from 1.0.148 to 1.0.149
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.148 to 1.0.149.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149 )
---
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-05 22:35:48 +01:00
dependabot[bot]
83487ae5d1
build(deps): bump serde from 1.0.147 to 1.0.148
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.147 to 1.0.148.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 10:04:26 +01:00