Commit Graph

7238 Commits

Author SHA1 Message Date
Mike Welsh 856a4c6130 core: Improve TellTarget support
The AVM1 contains an explicit "target clip" that is used for older
Flash 4-era actions. This target clip can be set to an invalid
value, at which point Play, Stop, etc. will fail silently.

For GetVariable and SetVariable, if the target is invalid,
the variables will be modified on root ("/").
2019-09-17 12:51:44 -05:00
Mike Welsh 305950661f
Merge pull request #54 from kmeisthax/avm-webmethods
AVM1 browser interactions
2019-09-17 00:37:50 -05:00
Mike Welsh 82c1116c42 chore: cargo fmt 2019-09-16 20:37:11 -07:00
David Wendt 4250015420 Add query support for desktop and resolve some TODOs 2019-09-16 20:04:30 -07:00
David Wendt f00e938299 Clean up unused functionality in preparation of a PR. 2019-09-16 20:04:30 -07:00
David Wendt b40b10daf6 Support form submission from `getURL` function 2019-09-16 20:04:30 -07:00
David Wendt 58ce10ea67 Support form submission from Flash. 2019-09-16 20:04:30 -07:00
David Wendt eb1b474528 Propagate AVM locals to `NavigationBackend`. 2019-09-16 20:04:30 -07:00
David Wendt 130d9736bc Allow builtins access to the AVM1 state directly. 2019-09-16 20:04:30 -07:00
David Wendt 65586cbcf5 Allow SWFs to open websites from the desktop 2019-09-16 20:04:30 -07:00
David Wendt e952d20976 Open the window asked for, if specified 2019-09-16 20:04:30 -07:00
David Wendt 7deb33c231 Fail remote SWF loads rather than jamming a download in the user's face 2019-09-16 20:04:30 -07:00
David Wendt 63e1484d38 Support legacy `GetURL`/`GetURL2` actions 2019-09-16 20:04:30 -07:00
David Wendt 359d3e4780 Propagate the RNG to the action context. This lets random work. 2019-09-16 20:04:30 -07:00
David Wendt 26c928b68f Add a better error message for missing object methods 2019-09-16 20:04:30 -07:00
David Wendt 70d4f6c7c2 Implement more math builtins.
Random is currently a stub.
2019-09-16 20:04:30 -07:00
David Wendt 4e9fb2676b Add `getURL` global builtin 2019-09-16 20:04:30 -07:00
David Wendt 0f9db1744b Add a backend for controlling the enclosing web browser. 2019-09-16 20:04:30 -07:00
Mike Welsh 2d2b473fe1 core: Clean up MovieClip::place_object 2019-09-16 22:03:34 -05:00
Mike Welsh f0e345bea8 core: Improve handing of gotos (fix #33)
Display objects will now properly persist during gotos instead
of erroneously being recreated.
2019-09-16 22:03:34 -05:00
Mike Welsh 4222701c9c chore: cargo fmt 2019-09-15 11:44:18 -07:00
Mike Welsh 94afcfb2e1 core: Add DisplayObject::id 2019-09-15 11:35:04 -07:00
David Wendt 4502ad54c2 Allow dynamic interdiction to apply to object/embed tags directly 2019-09-14 15:15:26 -05:00
David Wendt a942eb3ab2 Support data parameter for SWF url. 2019-09-14 15:15:26 -05:00
Mike Welsh 37191dc489
docs: Add nightly build and wiki links to README 2019-09-14 01:13:18 -07:00
Mike Welsh ef73fa1794 docs: Add CONTRIBUTING.md 2019-09-14 01:02:13 -07:00
Mike Welsh 1b04015326 avm1: Don't include code length in DefineFunction
The code length is not included in the length of the DefineFunction
action in Writer.

Add test for DefineFunction.
2019-09-13 21:54:41 -07:00
Mike Welsh dbbeccaacd web: More accurate radial gradients on canvas 2019-09-12 01:02:46 -07:00
David Wendt 84759f8cea Fix our previous changes to the Ruffle core loader so that both the extension and demo work 2019-09-11 20:28:58 -04:00
Mike Welsh df8177d2e1 destkop: Fix garbage colors in gradients
Gradients could render with uninitialzied memory (usually colors
from previous gradients). Now the interpolation value is clamped
in the shader to prevent out-of-bounds access of the gradient
colors array.

This will be cleaned up further when the rendering backend
switches to gfx-rs.
2019-09-10 22:50:23 -07:00
Mike Welsh 37063b4a96 desktop: Clear stencil buffer when overflowing stencil mask 2019-09-09 20:42:08 -05:00
Mike Welsh 8fcee704c0 chore: cargo fmt 2019-09-09 20:42:08 -05:00
Mike Welsh ce9a0a8ef6 web: Initial masking support
Also add web/src/utils.rs for some methods to ease management
of errors for wasm_bindgen.
2019-09-09 20:42:08 -05:00
Mike Welsh 28f0ce3c83 Mask work 2019-09-09 20:42:08 -05:00
Mike Welsh 3c38405a71 avm1: Update swf-rs and use byte slices for functions 2019-09-09 13:57:29 -07:00
Mike Welsh f5db446fe1 avm1: Reader reads from &[u8] 2019-09-09 13:45:14 -07:00
Mike Welsh 545af9379a chore: cargo fmt pass 2019-09-06 15:19:59 -07:00
Mike Welsh ae10092c97 core: Clean up button states 2019-09-06 15:15:34 -07:00
Mike Welsh 0849826c48 core: Add static data for morph shape and text 2019-09-06 15:15:34 -07:00
Mike Welsh e3265f7d3b docs: Update demo link in README 2019-09-06 12:14:30 -07:00
Mike Welsh 556d020046 ci: Set wasm MIME type on S3 2019-09-06 11:54:35 -07:00
Mike Welsh 1457eff298 ci: Skip deploy if no new commits 2019-09-06 01:08:46 -07:00
Mike Welsh 05d4aae62d ci: Windows build 2019-09-06 01:03:22 -07:00
Mike Welsh 39f2d8d541 ci: Upload nightly builds to S3 2019-09-05 22:27:22 -07:00
David Wendt 287870ec03 Get rid of the superfluous bootstrap file as it appears to be causing Webpack problems 2019-09-04 23:16:44 -04:00
Mike Welsh 1ff86012ae chore: Fix jpeg-decoder warnings in Cargo.toml 2019-09-04 15:56:10 -07:00
Mike Welsh 3edd77b499 ci: Install libasound2 package 2019-09-04 14:13:58 -07:00
Mike Welsh 41bbb42071 ci: Bump to Rust 1.37 2019-09-04 13:55:28 -07:00
Mike Welsh 840d16216a ci: Run cargo fmt and clippy on builds 2019-09-04 13:49:36 -07:00
Mike Welsh 9c9b3db7f4
Merge pull request #52 from Dinnerbone/feature/movie_clip_object
Movie clip access from actionscript
2019-09-04 15:16:00 -05:00