Nathan Adams
10a739f714
avm1: Always assign function names (where possible) when running in avm_debug, not just when spamming output
2020-07-27 04:13:31 -07:00
Nathan Adams
810e231b8b
avm1: Add macros for more advanced log/error printing when avm_debug is on
2020-07-27 04:13:31 -07:00
Mike Welsh
e5480ee9b2
chore: Use matches! to fix clippy lint
2020-07-27 04:13:11 -07:00
dependabot-preview[bot]
938a129a49
build(deps): bump bytemuck from 1.3.0 to 1.3.1
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/commits/v1.3.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 03:16:49 -07:00
Nathan Adams
f1f04e0e7a
avm1: Fixed a bunch of cases where we're using _level0 instead of current object ( fixes #926 )
2020-07-27 01:40:28 -07:00
Nathan Adams
cf61f8a4d3
avm1: Add failing test for registerClass in a loaded movie
2020-07-27 01:40:28 -07:00
Mike Welsh
8ac2ad9b40
avm1: Store movie URL on load and implement _url (merge #912 )
2020-07-27 01:38:28 -07:00
David Wendt
acd7ceb706
Fix missing import on web.
2020-07-25 22:20:30 -04:00
David Wendt
153b7b78a5
Add a web version of `url_from_relative_path` that just yields an error.
...
This allows us to remove the conditionals on implementations of `from_path` that need to call this function, as the function is now always guaranteed to be there, even if it's just a no-op/`Err` generator.
2020-07-25 19:48:32 -04:00
dependabot-preview[bot]
c3127c0506
build(deps): bump bytemuck from 1.2.0 to 1.3.0
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.2.0...v1.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 20:10:56 -07:00
Mike Welsh
4680b01f03
swf: Allow StyleChangeRecord in DefineShape v1
...
The spec says that StyleChangeRecord is only supported in
DefineShape2+, but SWFs exist with StyleChangeRecord in
DefineShape1 tags, and these play correctly in the Flash Player.
(see #929 HAGIMURA_EXTREME.swf).
2020-07-24 18:46:18 -07:00
Mike Welsh
07122dc931
avm1: Implement Key listeners
2020-07-24 14:32:41 -07:00
dependabot-preview[bot]
40101ed4ec
build(deps-dev): bump webpack from 4.43.0 to 4.44.0 in /web
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.43.0 to 4.44.0.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 11:45:38 -07:00
dependabot-preview[bot]
786ecd0c5d
build(deps-dev): bump @wdio/local-runner from 6.3.4 to 6.3.5 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 6.3.4 to 6.3.5.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.3.4...v6.3.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 11:42:50 -07:00
dependabot-preview[bot]
382745922d
build(deps-dev): bump @wdio/cli from 6.3.4 to 6.3.5 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 6.3.4 to 6.3.5.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.3.4...v6.3.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 11:42:38 -07:00
Mike Welsh
85d9caef56
avm1: All properties of _global are DontEnum
2020-07-23 22:58:58 -07:00
Mike Welsh
794dc69809
avm1: Implement isFinite
2020-07-23 22:58:58 -07:00
David Wendt
aed47d458d
Level loads in GetURL2 should also propagate origin information.
2020-07-23 23:09:08 -04:00
David Wendt
a34e81a704
`_url` on desktop should always return a file URL for file-loaded movies.
2020-07-23 23:02:56 -04:00
David Wendt
f0e2c77c1f
URLs from paths is a desktop-only feature.
2020-07-23 23:02:55 -04:00
David Wendt
9b9d4076fe
Expose movie URL to ActionScript.
2020-07-23 23:02:55 -04:00
David Wendt
a8877ab63c
Yield the correct error when the root movie load fails.
2020-07-23 23:02:55 -04:00
David Wendt
d172441663
Also make absolute URLs for all movie loads passed through the load manager.
2020-07-23 23:02:54 -04:00
David Wendt
5d15f5bfe3
When loading a movie from the filesystem outside of the core, ensure that the URL is properly made absolute.
2020-07-23 23:02:54 -04:00
David Wendt
c926da8888
Refactor URL relativization into two utility methods that backends can provide base URLs and paths to.
2020-07-23 23:02:54 -04:00
David Wendt
7433bfe28f
Add a `NavigatorBackend` method to resolve relative URLs.
2020-07-23 23:02:53 -04:00
David Wendt
4813942fe7
The player should always change the audio backend's framerate itself.
2020-07-23 23:02:52 -04:00
David Wendt
f56d16a68d
Separate player creation from root movie setup, and allow users of Ruffle to load in movies synchronously or asynchronously.
...
During the small period of time when a player is created but has no root movie, a temporary empty movie is installed with an assumed stage size and framerate of 550x400@12fps. This is Flash default for new projects, so it seemed appropriate. User ActionScript cannot see these values, and I'm not even sure JavaScript can, either.
2020-07-23 23:02:51 -04:00
David Wendt
6998dafdb9
Store an origin URL on every movie that is loaded.
2020-07-23 23:02:50 -04:00
Nathan Adams
7f7281493f
core: Allow toggling avm_debug output on and off with ctrl+alt+d, defaults to off
2020-07-23 19:14:32 -07:00
Nathan Adams
2df3b81f92
web: Allow avm_debug in web
2020-07-23 11:25:59 -07:00
Mike Welsh
efa059ff8d
tests: Add test for LoadVars
2020-07-23 03:00:19 -07:00
Mike Welsh
1709e76409
avm1: Implement LoadVars
2020-07-23 03:00:19 -07:00
Mike Welsh
74cb8609c1
avm1: Support loading into _level in GetURL2
...
Calling loadMovieNum with a variable parameter compiles into a
GetURL2 call with a `_level` window target parameter. Previously
this triggered Ruffle to try to navigate to the SWF. Now it
properly loads the SWF inside the current movie.
2020-07-23 02:08:48 -07:00
dependabot-preview[bot]
ec638e40a9
build(deps-dev): bump archiver from 4.0.2 to 5.0.0 in /web
...
Bumps [archiver](https://github.com/archiverjs/node-archiver ) from 4.0.2 to 5.0.0.
- [Release notes](https://github.com/archiverjs/node-archiver/releases )
- [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md )
- [Commits](https://github.com/archiverjs/node-archiver/compare/4.0.2...5.0.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-22 20:43:50 -07:00
dependabot-preview[bot]
34770be5e7
build(deps): bump cpal from 0.12.0 to 0.12.1
...
Bumps [cpal](https://github.com/rustaudio/cpal ) from 0.12.0 to 0.12.1.
- [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 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-22 17:02:38 -07:00
Nathan Adams
f0980301da
avm1: Implement arguments.callee
2020-07-22 15:57:45 -07:00
Nathan Adams
4a56cb1062
avm1: Make virtual properties store Object instead of Executable, so we can refer to the callee
2020-07-22 15:57:45 -07:00
Nathan Adams
f4ab57d6e0
avm1: Make property watchers take Object, not Executable, so we can track the callee
2020-07-22 15:57:45 -07:00
Nathan Adams
9ae10b6387
avm1: Made AvmString debug actually show contents of the string
2020-07-22 13:23:57 -07:00
dependabot-preview[bot]
f3cc726a06
build(deps-dev): bump @wdio/local-runner from 6.3.3 to 6.3.4 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 6.3.3 to 6.3.4.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.3.3...v6.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 09:43:21 -07:00
Nathan Adams
3b2b7c226c
avm1: Fix gc unsoundness with missing collects in SystemPrototypes
2020-07-21 09:43:07 -07:00
Nathan Adams
0e0be34e17
avm1: Fix compile error when using avm_debug flag
2020-07-21 09:42:41 -07:00
Nathan Adams
d5deeee1b7
avm1: Properly implement the arguments object, it's an array
2020-07-21 07:49:00 -07:00
dependabot-preview[bot]
827e3917d9
build(deps-dev): bump @wdio/cli from 6.3.3 to 6.3.4 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 6.3.3 to 6.3.4.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.3.3...v6.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 07:47:44 -07:00
Mike Welsh
ef67f828fb
desktop: Revert to console app on Win32
...
Remove #![windows_subsystem = "windows"], which launched us as a
GUI app on win32. However, this had the side effect of hiding
output to stdout/stderr when launched from the command-line.
Since Ruffle is primarily a CLI interface as of yet, let's revert
back to a console win32 app so that we can display output. Instead,
we can hide the console if we detect we were not launched from the
command line.
2020-07-20 23:11:44 -07:00
dependabot-preview[bot]
aa966fbfb6
build(deps): bump syn from 1.0.34 to 1.0.35
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.34...1.0.35 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 14:24:56 -07:00
Mike Welsh
1a5d7fe452
avm2: Initial AVM2 interpreter (merge #404 )
...
Initial work on the AVM2 interpreter.
2020-07-19 19:59:05 -07:00
dependabot-preview[bot]
4967fb427e
build(deps): bump webbrowser from 0.5.4 to 0.5.5
...
Bumps [webbrowser](https://github.com/amodm/webbrowser-rs ) from 0.5.4 to 0.5.5.
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v0.5.4...v0.5.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-19 19:19:33 -07:00
David Wendt
7adabc8166
Use `unwrap_or_default`
2020-07-18 17:28:07 -04:00