relrelb
6779e406ce
avm2: Port `flash.display.InterpolationMethod` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
7c992b4664
avm2: Implement `flash.display.GraphicsPathWinding`
2022-06-24 18:28:33 +03:00
relrelb
3655e85f6c
avm2: Implement `flash.display.GraphicsPathCommand`
2022-06-24 18:28:33 +03:00
relrelb
033d4ba6ad
avm2: Stub `int` in ActionScript
2022-06-24 18:28:33 +03:00
relrelb
ad4b06917b
avm2: Port `flash.display.GradientType` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
a119bfa102
avm2: Implement `flash.display.FocusDirection`
2022-06-24 18:28:33 +03:00
relrelb
3165e942d8
avm2: Implement `flash.display.ColorCorrectionSupport`
2022-06-24 18:28:33 +03:00
relrelb
c7a391ec36
avm2: Implement `flash.display.ColorCorrection`
2022-06-24 18:28:33 +03:00
relrelb
1ad020566e
avm2: Port `flash.display.CapsStyle` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
0081b03c6e
avm2: Implement `flash.display.BlendMode`
2022-06-24 18:28:33 +03:00
relrelb
23e5b3f0bb
avm2: Implement `flash.display.BitmapEncodingColorSpace`
2022-06-24 18:28:33 +03:00
relrelb
c7664206b3
avm2: Implement `flash.display.BitmapDataChannel`
2022-06-24 18:28:33 +03:00
relrelb
761d746c38
avm2: Port `flash.display.ActionScriptVersion` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
c6e04dfd2a
avm2: Implement `flash.text.TextLineMetrics`
2022-06-24 18:28:33 +03:00
relrelb
546662a4f7
avm2: Implement `flash.text.TextInteractionMode`
2022-06-24 18:28:33 +03:00
relrelb
d24c03349e
avm2: Port `flash.text.TextFormatAlign` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
6108be135e
avm2: Port `flash.text.TextFieldType` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
976cf2da39
avm2: Port `flash.text.TextFieldAutoSize` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
11f6e4abfb
avm2: Implement `flash.text.TextExtent`
2022-06-24 18:28:33 +03:00
relrelb
dcfe158f6c
avm2: Implement `flash.text.TextDisplayMode`
2022-06-24 18:28:33 +03:00
relrelb
613bd8924a
avm2: Implement `flash.text.TextColorType`
2022-06-24 18:28:33 +03:00
relrelb
8d024f2140
avm2: Implement `flash.text.GridFitType`
2022-06-24 18:28:33 +03:00
relrelb
d1a22cf083
avm2: Implement `flash.text.FontType`
2022-06-24 18:28:33 +03:00
relrelb
45aff8f7ef
avm2: Implement `flash.text.FontStyle`
2022-06-24 18:28:33 +03:00
relrelb
3abfac8ea6
avm2: Port `flash.utils.Endian` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
8228f7af6c
avm2: Port `flash.utils.CompressionAlgorithm` to ActionScript
2022-06-24 18:28:33 +03:00
relrelb
801d95cdfa
avm2: Implement `flash.geom.Orientation3D`
2022-06-24 18:28:33 +03:00
relrelb
b38afb6c75
avm2: Implement `flash.geom.ColorTransform`
2022-06-24 18:28:33 +03:00
relrelb
668a25c404
avm2: Stub `uint` in ActionScript
2022-06-24 18:28:33 +03:00
Aaron Hill
6eb4b485f0
Merge pull request #7095 from adrian17/avm2-fix-bare-function-scope
...
avm2: Pull methods' scopes from vtable, not class
2022-06-23 00:10:17 -05:00
relrelb
017e35a82f
avm2: Refactor `parseInt` implementation
...
Re-use some helper functions introduced in #7212 , and fix some
minor inaccuracies.
2022-06-23 01:07:15 +03:00
Adrian Wielgosik
97cfaff347
avm2: Refactor a (class,scope,method) tuple to a ClassBoundMethod
2022-06-23 00:03:07 +02:00
Callum Thomson
1310f433f2
avm2: Implement escape() toplevel ( #7281 )
...
* AVM2: Implement escape()
* chore: Fix formatting
* avm2: Escape resolves non strings to null and use push to append
* chore: Fix nits
* avm2: Escape should coerce objects, add early returns
2022-06-22 08:43:22 +03:00
dependabot[bot]
87c3463510
build(deps): bump syn from 1.0.96 to 1.0.98
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.96 to 1.0.98.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.96...1.0.98 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 09:59:10 +03:00
relrelb
335ce09cb1
core: Remove `indexmap` version restriction
...
Seems like the cyclic package dependency has been resolved in `1.9.0`,
so bring it back as usual.
2022-06-21 09:26:10 +03:00
dependabot[bot]
678ff2420d
build(deps): bump indexmap from 1.6.2 to 1.9.0
...
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.6.2 to 1.9.0.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Changelog](https://github.com/bluss/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/bluss/indexmap/compare/1.6.2...1.9.0 )
---
updated-dependencies:
- dependency-name: indexmap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 09:26:10 +03:00
dependabot[bot]
65538839f5
build(deps): bump quote from 1.0.18 to 1.0.19
...
Bumps [quote](https://github.com/dtolnay/quote ) from 1.0.18 to 1.0.19.
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.18...1.0.19 )
---
updated-dependencies:
- dependency-name: quote
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 08:54:07 +03:00
relrelb
0e0045425e
avm2: Re-implement `parseFloat`
...
The AVM2 `parseFloat` implementation used to call into the AVM1 one,
which was not 100% accurate. De-couple it as a new implementation,
based on `MathUtils::convertStringToDouble` in `avmplus`:
https://github.com/adobe/avmplus/blob/master/core/MathUtils.cpp#L1229-L1439
2022-06-21 08:02:40 +03:00
relrelb
754579eb07
avm2: Port `AccessibilityProperties` to ActionScript
2022-06-18 20:00:56 +03:00
relrelb
786e8d92fb
avm2: Introduce ActionScript entry-points
...
Previously all the `.as` files compiled into `playerglobal.swf`
were detected automatically using `walkdir`. While this might be
convenient, it can cause unexpected results when untracked `.as`
files exist. So instead, introduce two entry points - `stubs.as`
and `globals.as`, which include all stub ActionScript definitions,
and actual class implementations, respectively. This also simplifies
the `playerglobal.swf` build script a bit.
2022-06-18 18:26:57 +03:00
Aaron Hill
21eac9364f
avm2: Use '.stub.as' suffix to indicate stub class
...
This removes the need for keeping an updating list in
'build_playerglobal', and made things easier for me
when porting classes to ActionScript.
2022-06-17 00:03:40 +03:00
relrelb
4e805bb109
avm2: Pass `-optimize` to `asc`
...
In order to reduce builtins size even further.
2022-06-16 23:09:36 +03:00
relrelb
f9596543c6
avm2: Remove unused `Rectangle` and `Point` classes/prototypes
...
They are now both implemented in pure ActionScript, and no Rust code
ever references them.
2022-06-16 22:42:50 +03:00
relrelb
a9915c71bc
avm2: Port `flash.geom.Rectangle` to ActionScript
...
`flash.geom.Rectangle` is a good candidate, since it doesn't have
any native function, and it depends only on `flash.geom.Point`,
which was already been ported to ActionScript in #7071 .
2022-06-16 22:42:50 +03:00
Aaron Hill
f629a91e53
avm2: Allow implementing classes in ActionScript in custom `playerglobal`
...
This PR adds support for building a custom `playerglobal.swf`, which can be used
to implement builtin Flash classes in ActionScript. This file is embedded into Ruffle
using `include_bytes!`, and loaded during initialization.
As an example, the `Point` class is reimplemented
in ActionScript, and `flash.text.AntiAliasType` is added.
The ActionScript compilation process is performed by `core/build.rs`.
See that file, along with `core/src/avm2/globals/README.md`, for
more details.
2022-06-15 22:00:17 +03:00
dependabot[bot]
b8cdd59877
build(deps): bump bitstream-io from 1.3.0 to 1.5.0
...
Bumps [bitstream-io](https://github.com/tuffy/bitstream-io ) from 1.3.0 to 1.5.0.
- [Release notes](https://github.com/tuffy/bitstream-io/releases )
- [Commits](https://github.com/tuffy/bitstream-io/compare/v1.3.0...v1.5.0 )
---
updated-dependencies:
- dependency-name: bitstream-io
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 23:54:10 +03:00
relrelb
bd88e5e95a
render: Remove unused `unmultiply_alpha_rgba`
2022-06-11 08:28:24 +03:00
Aaron Hill
3d84eb7d45
Remove now-unused `lowest_depth` method
2022-06-11 00:59:18 +03:00
Aaron Hill
6d9d155b15
avm2: Use render_list instead of depth_list in most cases
...
The `render_list` for a container always contains all of the children
under both AVM1 and AVM2 - howver, the depth_list may not contain
some children under AVM2.
When we're not performing some AVM1-specific operation
(e.g. `getInstanceAtDepth`, or dumping out AVM1 variables),
we should be using the render list.
2022-06-11 00:59:18 +03:00
Aaron Hill
cc90796d8a
avm2: More filter-related stubs
...
This stubs out BlurFilter, adds properties to GlowFilter,
and make the getter for DisplayObject.filters return
an empty array instead of Undefined.
This is all of the filter-related code that 'Solarmax'
needs in order to reach the main screen (combined with
other unrelated changes I have yet to submit)
2022-06-10 19:35:48 +03:00