dependabot[bot]
599b1ad35e
build(deps-dev): bump webpack-dev-server from 4.9.3 to 4.10.1 in /web
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 4.9.3 to 4.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.3...v4.10.1 )
---
updated-dependencies:
- dependency-name: webpack-dev-server
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 15:35:39 -07:00
dependabot[bot]
a6c27bcefb
build(deps-dev): bump @wdio/local-runner from 7.19.5 to 7.24.0 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 7.19.5 to 7.24.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v7.24.0/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.19.5...v7.24.0 )
---
updated-dependencies:
- dependency-name: "@wdio/local-runner"
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 14:46:09 -07:00
dependabot[bot]
dd96e30666
build(deps-dev): bump @typescript-eslint/parser in /web
...
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ) from 5.32.0 to 5.36.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.36.1/packages/parser )
---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 14:21:41 -07:00
dependabot[bot]
b9df9cf04f
build(deps-dev): bump stylelint-config-standard in /web
...
Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard ) from 26.0.0 to 28.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases )
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stylelint/stylelint-config-standard/compare/26.0.0...28.0.0 )
---
updated-dependencies:
- dependency-name: stylelint-config-standard
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 23:12:15 +03:00
Daniel Jacobs
d9da45d0f2
web: Don't show loading bar when wasm Content-Length does not exist
2022-09-01 21:43:53 +03:00
Aaron Hill
cc9e283191
avm2: Improve Debug impl for EventObject
2022-08-30 09:35:20 -05:00
Aaron Hill
3417dceca2
ci: Cache Cargo output on Github Actions
...
Co-authored-by: Mike Welsh <mwelsh@gmail.com>
2022-08-30 00:53:33 -07:00
Aaron Hill
1a7c5339a7
avm2: Implement DisplayObject.localToGlobal and DisplayObject.globalToLocal
...
While writing tests for these methods, I discovered and fixed some
issues with how 'scrollRect' interacted with 'dobj.transform.matrix'
2022-08-29 23:12:40 -05:00
relrelb
3645061910
core: Simplify `DisplayObjectContainer::highest_depth`
...
The `less_than` parameter remained just `Depth::MAX` since #7199 ,
which makes it useless. As such it can be removed.
2022-08-29 17:26:15 -06:00
Aaron Hill
e9697439de
avm2: Skip over holes during array enumeration
...
This brings us closer to matching the Flash Player
enumeration behavior. Unfortunately, the precise enumeration
order for ScriptObject properties depends on the precise
order in the internal avmplus hashmap. This order is deterministic,
but adding/removing a property effectively randomizes it. Hopefully
there aren't any SWFS that depend on the *exact* order.
2022-08-29 15:53:44 -07:00
dependabot[bot]
4831640471
build(deps): bump cpal from 0.13.5 to 0.14.0
...
Bumps [cpal](https://github.com/rustaudio/cpal ) from 0.13.5 to 0.14.0.
- [Release notes](https://github.com/rustaudio/cpal/releases )
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustaudio/cpal/commits )
---
updated-dependencies:
- dependency-name: cpal
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 15:15:14 -07:00
dependabot[bot]
33cc87ce27
build(deps): bump clap from 3.2.17 to 3.2.18
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.17 to 3.2.18.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.18/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.17...v3.2.18 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-30 00:19:02 +03:00
dependabot[bot]
802de0e7d1
build(deps): bump futures from 0.3.23 to 0.3.24
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.23 to 0.3.24.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.23...0.3.24 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 23:38:43 +03:00
nosamu
c5c619abbd
web: Correct IANA Flash MIME type
2022-08-29 02:49:23 -07:00
nosamu
4dc446825b
extension: Check more thoroughly for SWF filenames and MIME types
2022-08-29 02:49:23 -07:00
nosamu
c83ae114b2
web: Move MIME type check to its own function
2022-08-29 02:49:23 -07:00
Toad06
c4e64c5e26
avm1: Function calls in SWF4 bump the version to 5
2022-08-29 02:17:09 -07:00
TÖRÖK Attila
e86efd5c63
avm2: Add flash.utils.[set|clear][Timeout|Interval](...)
2022-08-29 01:44:57 -07:00
relrelb
5c29da6707
avm1: Implement `MovieClip.scrollRect`
...
The core functionality and AVM2 bindings were implemented in #7739 .
2022-08-28 22:18:33 -07:00
=
f180183ec5
core: Add audio feature, made dasp optional
2022-08-28 21:10:05 -07:00
=
c6c22cebc9
core: Make nellymoser optional, enable on desktop and web
2022-08-28 21:10:05 -07:00
=
f5245d72da
core: Make core not use minimp3 by default - only desktop uses it
2022-08-28 21:10:05 -07:00
Daniel Jacobs
29bdd138d5
web: Don't add debug info to context menu in insecure context
...
It won't work anyway, since the Clipboard API doesn't work in insecure contexts.
2022-08-28 20:18:46 -07:00
relrelb
81f803d77e
avm1: Remove `DisplayObject::prev_avm1_clip`
...
It is no longer needed.
2022-08-28 19:21:03 -06:00
relrelb
de6163569e
avm1: Simplify frame execution logic
...
Handle removed clips inline in `Avm1::run_frame`, such that
`DisplayObject::prev_avm1_clip` is no longer used. Thus it can be
removed in a follow-up commit.
2022-08-28 19:21:03 -06:00
relrelb
0b7d8ea007
avm1: Move frame lifecycle logic to `Avm1::run_frame`
...
This allows better encapsulation of AVM1.
2022-08-28 19:21:03 -06:00
Aaron Hill
397de91a2a
core: Do not run sounds on no-op goto.
...
When we run a 'goto' where the initial and target frame are the same,
we need to skip triggering any sounds in the target frame.
Some games like 'This is the only level too' rely on this behavior:
they repeatedly run 'movieClip.gotoAndStop(current_frame_id)',
where 'current_frame_id' is the id of a frame that starts playing
a sound. Without this change, the sound will restart every frame
intead of playing exactly once.
2022-08-28 18:55:29 -06:00
David Wendt
e353553835
core: When reporting errors in the AVM2 constructor from MovieClip, also report the name of the class being constructed.
2022-08-28 18:17:57 -06:00
David Wendt
4de46562ca
tests: Add a test for class singleton properties.
2022-08-28 17:54:22 -06:00
David Wendt
4b9ee55b56
avm2: The failsafe for self-referencing class properties should allow the use of `null` and `undefined`.
2022-08-28 17:54:22 -06:00
Aaron Hill
ae8e5b2f33
avm2: Don't error when executing 'null as SomeType'
...
We previously used 'coerce_to_object', which produced
an error with `Value::Null`. Instead, we can just ues
`value.as_type_of`, which will correctly handle `null`
2022-08-28 16:33:15 -05:00
Aaron Hill
c531994b1c
avm2: Fire KeyboardEvent.KEY_UP and KeyboardEvent.KEY_DOWN
...
The 'charCode' and 'keyCode' properties are now implemented
on `KeyboardEvent`
The input injection code we use does not support keyboard events,
so we can't yet write a regression test for this. However,
both 'You need to burn the rope' and 'This is the Only Level TOO'
now properly handle keyboard events with this PR.
2022-08-28 14:15:57 -05:00
Aaron Hill
e3e0488ed4
avm2: Delete enumerant when property is deleted
2022-08-28 12:03:19 -05:00
Aaron Hill
1296121dc5
avm2: Make 'set_local_property_is_enumerable` infallible
...
We always returned `Ok(())`
2022-08-28 12:03:19 -05:00
EmperorBale
f8289b47d8
avm2: Implement call stack & stack traces ( #7564 )
...
* avm2: Implement call stack
* avm2: Class traits should have a special prefix
* avm2: Stack tracebacks should also contain error message
* avm2: Move method naming to Executable
* avm2: Handle getter and setter methods in tracebacks
* chore: Formatting
* chore: Add comments
* avm2: Make full_name write to a string, instead of creating a new one
* core: Make GcArena publicly accessible
* core: Add Deref impl for Either type
* desktop: Add AVM2 call stack to panic message
* avm2: Prefix native methods with a `/`
* chore: Appease clippy
* avm2: Check if method actually contains bytecode instead of unwrapping
* web: Add AVM2 stack trace to panic message
* chore: Formatting
* chore: Clippy
* avm2: Fix stack traces for free standing functions
* core: Remove global data from context
* core: Rename GcGlobalData to GcCallstack
* core: Introduce StaticCallstack, make GcArena private again
Co-authored-by: Adrian Wielgosik <4729533+adrian17@users.noreply.github.com>
2022-08-28 18:30:20 +02:00
Aaron Hill
6a01fa93c5
avm2: Implement `String.toLowerCase` and `String.toUpperCase`
...
These are implemented in the same way as in AVM1. Testing
in Flash Player shows that the behavior is the same.
2022-08-28 01:32:53 -05:00
Aaron Hill
576c35a768
avm2: Declare 'Array.concat' as a public method
...
Previously, it was only declared in the AS3 namespace. However,
some SWFs look it up as a public method.
2022-08-27 20:20:19 -05:00
relrelb
e3831d2228
web: Disallow imports not used as values
...
Configure [`importsNotUsedAsValues`](https://www.typescriptlang.org/tsconfig#importsNotUsedAsValues )
to `error`, and switch from `import` to `import type` where needed.
Also remove the `strict` configuration, as it's inherited from
`@tsconfig/recommended`.
2022-08-26 17:27:29 -07:00
Daniel Jacobs
c008cc4dea
web: Add debug info context menu item
2022-08-26 16:13:55 -07:00
relrelb
2f106da04c
avm2: Port toplevel constants to ActionScript
...
Declare `NaN`, `Infinity` and `undefined` in ActionScript, similarly
to how `avmplus` does in its `actionscript.lang.as`.
Note that `null` is only removed, without an ActionScript declaration,
as it seems like `avmplus` neither declares it. Probably `null` is
only usable as a compile-time constant.
2022-08-26 15:45:36 -07:00
Callum Thomson
046514eeb9
avm1: Enumerate should push Undefined if the target isn't an object
2022-08-26 14:01:42 -07:00
Aaron Hill
249648674c
Fix bounds computation
2022-08-26 13:04:01 -07:00
Aaron Hill
5fb95e6961
Use round-to-even for scrollRect
2022-08-26 13:04:01 -07:00
Aaron Hill
fa0c843a4d
avm2: Implement DisplayObject.scrollRect
...
This property causes a DisplayObject to be both translated
and cropped.
2022-08-26 13:04:01 -07:00
relrelb
72d8c152b9
core: Make `Player::load_device_font` infallible
...
It is always called with the same known data, which should parse
successfully.
2022-08-26 12:24:15 -07:00
relrelb
ad84c2bbcb
avm2: Rename `Avm2::load_abc` to `Avm2::do_abc`
...
This aligns with the name of `DoAbc` tags.
2022-08-26 11:37:04 -07:00
relrelb
ad91992cb5
swf: Simplify `DoAbc` tag handling
...
Extract `swf::Reader::read_do_abc()` which, as the name suggests,
reads a `DoAbc` tag, and use it before calling to `Avm2::load_abc`.
Finally, introduce `DoAbcFlag` using `bitflags`.
This greatly simplifies the ABC loading code.
2022-08-26 11:37:04 -07:00
EmperorBale
18bd7879e5
core: Add better error message when java could not be found
2022-08-26 10:11:35 +02:00
Aaron Hill
c4157fd0ce
Miscellaneous stubs
...
This gets Solarmax to the main level select screen
(once BitmapData.draw support is added)
2022-08-25 19:57:03 -07:00
Aaron Hill
61d0f73fdb
core: Use catchup_display_object_to_frame in Loader
2022-08-25 19:24:56 -06:00