Aaron Hill
4b2907ead5
avm2: Fix 'hasDefinition' and 'getDefinition' for ApplicationDomain
...
These methods were incorrectly treating the argument as a local name,
instead of a qualified name. Additionally, 'getDefinition' now throws
an AVM error.
2022-10-05 16:45:29 -05:00
relrelb
a9dedf759a
chore: Fix `clap` update
...
As described in https://github.com/clap-rs/clap/blob/master/CHANGELOG.md#400---2022-09-28 .
2022-10-05 21:33:34 +03:00
dependabot[bot]
32a370f803
build(deps): bump clap from 3.2.20 to 4.0.9
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.20 to 4.0.9.
- [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/v3.2.20...v4.0.9 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 21:33:34 +03:00
Aaron Hill
9b055645d3
avm2: Support calling 'new Function()' objects
...
This appears to create a dummy function, which ignores all
of its arguments and always returned `undefined`
2022-10-05 08:57:12 -05:00
Adrian Wielgosik
4745a897eb
avm2: Add MovieClip::enabled
2022-10-04 20:14:09 +02:00
Adrian Wielgosik
0ac3341d57
avm2: Fix typing of add/removeChild methods
2022-10-04 19:51:26 +02:00
dependabot[bot]
ac93f9d295
build(deps): bump serde from 1.0.144 to 1.0.145
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 16:17:36 +03:00
dependabot[bot]
0547155749
build(deps): bump proc-macro2 from 1.0.43 to 1.0.46
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.43 to 1.0.46.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.43...1.0.46 )
---
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-10-04 14:14:35 +03:00
dependabot[bot]
356877c88e
build(deps): bump enumset from 1.0.11 to 1.0.12
...
Bumps [enumset](https://github.com/Lymia/enumset ) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/Lymia/enumset/releases )
- [Changelog](https://github.com/Lymia/enumset/blob/master/RELEASES.md )
- [Commits](https://github.com/Lymia/enumset/compare/v1.0.11...v1.0.12 )
---
updated-dependencies:
- dependency-name: enumset
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 12:52:47 +03:00
dependabot[bot]
dbac0ca420
build(deps): bump syn from 1.0.99 to 1.0.101
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.99 to 1.0.101.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.99...1.0.101 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 12:22:45 +03:00
David Wendt
7861dfff79
avm2: Stub `tabChildren`, `tabIndex`, and `tabEnabled`.
2022-10-04 01:06:25 -05:00
dependabot[bot]
a0ef304ae9
build(deps): bump smallvec from 1.9.0 to 1.10.0
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.9.0...v1.10.0 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 01:44:21 +03:00
Aaron Hill
046ed2c0ba
avm2: Stub Graphics.beginBitmapFill
...
This is needed by Pixel Legions
2022-10-03 15:01:01 -05:00
Adrian Wielgosik
286755962f
avm2: Array push/unshift return new length, like Vector
2022-10-02 17:52:25 +02:00
Aaron Hill
8f72842b2f
avm2: Stub LocalConnection
2022-09-28 13:46:25 -05:00
dowgird
5ac4f4358d
avm2: Added flash.net.URLVariables
2022-09-27 13:43:30 -05:00
Aaron Hill
53f42e0bec
avm2: Fix getQualifiedClassName for null and undefined
2022-09-27 00:05:06 -05:00
nosamu
66fa67cdcc
Revert "avm1: Remove `Value::to_primitive_num`"
...
This reverts commit 2c50a04e37
.
2022-09-26 18:40:39 -05:00
Aaron Hill
f5b59f869c
avm2: Show native method names in stack trace
...
Previously, we would display an empty string for the method name.
We can now store a `&'static str` again in `NativeMethod`,
instead of needing a `Cow`
2022-09-26 14:13:48 -05:00
relrelb
65ecb4fe8f
avm2: Remove `From<Box<dyn std::error::Error>> for Error<'gc>`
2022-09-26 19:51:38 +03:00
relrelb
cc531ff7db
avm2: `playerglobal.swf` should be valid
2022-09-26 19:51:38 +03:00
relrelb
1f6368b946
avm2: Ignore `write!()` errors
...
As it cannot fail.
2022-09-26 19:51:38 +03:00
relrelb
e3e4aeb248
avm2: Throw `flash.errors.IOError` from `ByteArray`
...
Instead of propagating the underlying compression library errors.
Also, make `ByteArray.deflate` and `ByteArray.inflate` pure-ActionScript
methods that call into the native `ByteArray.compress` and `ByteArray.uncompress`
native methods, respectively.
2022-09-26 19:51:38 +03:00
relrelb
95de87ad0a
avm2: Throw `VerifyError` for invalid ABC files
2022-09-26 19:51:38 +03:00
relrelb
a894ec5ca8
avm2: JSON serialization cannot fail
2022-09-26 19:51:38 +03:00
relrelb
a8f869329e
web: Fix config with `serde-wasm-bindgen`
...
Since `serde-wasm-bindgen` doesn't support `#[serde(default)]` (https://github.com/cloudflare/serde-wasm-bindgen/issues/20 ),
we no longer able to deserialize a partial `Config` object. As a solution,
take care to pass a full object from the TypeScript side.
2022-09-26 17:23:32 +03:00
relrelb
c9ca7e2095
avm2: Port `flash.ui.Mouse` to ActionScript
2022-09-25 16:50:03 +03:00
relrelb
e1d01b0a5e
swf: Extract `Rectangle` to a separate file
...
And make it generic, as a first step towards making it a general-purpose
data structure for the whole codebase. Some potential replacements are:
* `BoundingBox` in `render/src/bounding_box.rs`.
* `BoxBounds` in `core/src/html/dimensions.rs`.
* Parameters to a bunch of `BitmapData` methods in
`core/src/bitmap/bitmap_data.rs`.
2022-09-25 10:37:56 +03:00
relrelb
898ccfba5d
avm1: Migrate `ColorTransform` to `NativeObject`
2022-09-25 02:43:53 +03:00
golfinq
ceb877c55f
avm2: Implement error types for avm2
2022-09-25 02:27:59 +03:00
dowgird
e448f5e027
avm2: implemented flash.utils.unescapeMultiByte
2022-09-25 01:19:11 +03:00
relrelb
c532d70844
avm2: Port `flash.net.ObjectEncoding` to ActionScript
...
Along with the `flash.net.IDynamicPropertyOutput` and `flash.net.IDynamicPropertyWriter`
interfaces.
2022-09-25 00:36:31 +03:00
EmperorBale
98edcc4dc0
avm2: Add non-debug version of ErrorObject::display_full
2022-09-24 22:29:55 +02:00
Aaron Hill
66df5ea3de
avm2: Implement typed 'catch' blocks
...
Now that we have a custom `Error` enum, this is very straightforwawrd.
I've converted `getDefinitionByName` return an AVM error, since this
is commonly used by games to test for a class.
2022-09-24 13:03:29 -05:00
relrelb
b5084eef25
Revert "web: Bump `wasm-bindgen` to 0.2.83"
...
This reverts commit 1954f6162f
.
2022-09-24 09:52:25 +03:00
Aaron Hill
b571b43375
avm2: Fix some `avm_debug!` calls.
...
These were debug-printing `Gc<Multiname>` instead of `Multiname`
2022-09-24 09:16:35 +03:00
Aaron Hill
7b0bc0fb74
avm2: Implement undocumented 'Function.length' property
...
This returns the function's parameter count, and is used by the Starling
framework to implement a custom event dispatcher.
2022-09-23 18:36:23 -05:00
Aaron Hill
25f176995a
avm2: Stub flash.ui.Multitouch
...
This is needed by Starling
2022-09-23 16:04:30 -05:00
kmeisthax
d09ea7514e
chore: Oops, I meant to clamp to total frames.
...
Pointed out by @n0samu
2022-09-23 11:45:52 -06:00
David Wendt
aca1c0fb50
avm1: Clamp `WaitForFrame` ops to the total frame count of the movie clip being tested.
2022-09-23 11:45:52 -06:00
relrelb
1954f6162f
web: Bump `wasm-bindgen` to 0.2.83
...
This reverts commit cf721d45f9
and restores
commit 084b252030
, this time without updating
`web-sys`, due to being coupled to `wgpu`.
2022-09-23 17:23:35 +03:00
relrelb
4828a9c5cf
avm1: Remove `get_` prefix from `ColorTransformObject` getters
...
To match Rust naming conventions.
2022-09-23 11:10:12 +03:00
relrelb
e7643c731b
core: `ColorTransform` cleanup
...
Main changes:
* Merge `ColorTransformParams` into `ColorTransformObject`, as it's only relevant for AVM1.
* Make `BitmapData::color_transform` work with a generic `ColorTransform`, which uses fixed-point
arithmetic.
Note that Ruffle still calculates color transforms slightly different from Flash. This is probably
caused by inaccuracy of the current `ColorTransformObject` to `ColorTransform` conversion and/or the
`ColorTransform` application logic itself. Since this requires further research, it'll be fixed in a
future PR.
2022-09-23 11:10:12 +03:00
EmperorBale
a17352a01a
avm2: Switch XML & XMLList to actionscript
2022-09-22 15:18:23 -07:00
EmperorBale
1cc765d675
avm2: Implement checkfilter opcode
2022-09-22 15:18:23 -07:00
EmperorBale
6dea1fa264
avm2: Implement TypeError
2022-09-22 15:18:23 -07:00
relrelb
2c50a04e37
avm1: Remove `Value::to_primitive_num`
...
Use `Value::to_primitive` instead.
2022-09-22 22:40:07 +03:00
relrelb
d5209c4c43
core: Refactor `Percent` type
...
Unconditionally represet percentages as `f64` between `0.0` and `100.0`.
2022-09-22 04:17:44 +03:00
relrelb
9d4ab37ef6
core: Replace consecutive `push`es with `extend`
...
This should be slightly more efficient.
2022-09-22 03:00:02 +03:00
EmperorBale
fe951b4989
avm2: Implement ByteArray.writeObject
...
While doing this I also noticed that we were incorrectly producing AmfValue::Integer if our
target AMF version is AMF0. This is incorrect because AMF0 is based on AS2, which does not
recognise Integer as a valid type, and therefore must be represented with Number instead.
2022-09-21 13:39:58 -07:00