Commit Graph

2565 Commits

Author SHA1 Message Date
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
David Wendt 44b924d7b4 `Script` should not hold write locks when probing it's internal caches. 2020-07-18 17:26:11 -04:00
Mike Welsh 034c125b80 core: Support radial gradients in morph shapes
Radial gradients were not accounted for in morph shapes.
Clean up the interpolation code and add support for radials.
Fixes #591.
2020-07-18 14:12:04 -07:00
David Wendt 575a9b091a Use FnvHashMap for the translation unit pools. 2020-07-18 17:02:52 -04:00
David Wendt 262bb148f1 Rename `a2me` to `entry` (or `method` in one case where it lets me simplify a struct declaration) 2020-07-18 17:02:32 -04:00
David Wendt c415190376 Zero-index multinames should generate a validation error in `QName::from_abc_multiname`. 2020-07-18 16:48:10 -04:00
David Wendt dc962f2abd Add AVM2 equivalent of `PropertyMap` for further expansion. 2020-07-18 16:41:35 -04:00
dependabot-preview[bot] 24c9d99758 build(deps-dev): bump eslint from 7.4.0 to 7.5.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.4.0...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 13:34:07 -07:00
David Wendt 37b6b89d26 Add a stub AVM2 string representation to allow for both VMs' strings to diverge. 2020-07-18 16:20:58 -04:00
David Wendt ccacc540bf Remove dead code on all now-in-use structs and methods. 2020-07-18 16:12:24 -04:00
dependabot-preview[bot] 0bd7f07649 build(deps): bump png from 0.16.6 to 0.16.7
Bumps [png](https://github.com/image-rs/image-png) from 0.16.6 to 0.16.7.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.6...v0.16.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 12:36:46 -07:00
Mike Welsh ae7db80ea3 avm1: Move getURL to MovieClip.prototype (fix #804)
For example, _root.getURL should work.
2020-07-18 01:03:47 -07:00
dependabot-preview[bot] ee2222a425 build(deps): bump indexmap from 1.4.0 to 1.5.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:51:05 -07:00
dependabot-preview[bot] 62f751c6ee build(deps-dev): bump @wdio/local-runner from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:50:20 -07:00
dependabot-preview[bot] cbe3176d5e build(deps-dev): bump @wdio/cli from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:50:11 -07:00
dependabot-preview[bot] 76ef74809b build(deps-dev): bump @wdio/sync from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:49:47 -07:00
dependabot-preview[bot] c1a8d9c22c build(deps): bump wasm-bindgen-test from 0.3.14 to 0.3.15
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:49:26 -07:00
Mike Welsh 8ecae5a87f avm1: duplicateMovieClip copies clip events
Clip events should be copied from the source clip to the newly
created clip. Fixes objects remaining onscreen in #815.
2020-07-17 20:49:05 -07:00
Mike Welsh 8c1ec01d75 tests: Test clip events copying in duplicateMovieClip
duplicateMovieClip should also copy any clip events on the source
clip to the newly created movie clip.
2020-07-17 20:49:05 -07:00
Mike Welsh 9d3bb5b10c docs: Add CONTRIBUTING blurb and code of conduct 2020-07-17 20:44:40 -07:00
Mike Welsh 356546397a docs: Update sponsors; move sponsor logos to ruffle.rs 2020-07-17 20:34:44 -07:00
dependabot-preview[bot] 294ea0fd52 build(deps-dev): bump @wdio/cli from 6.2.0 to 6.3.0 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.2.0 to 6.3.0.
- [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.2.0...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 01:54:50 +00:00