Commit Graph

2149 Commits

Author SHA1 Message Date
Nathan Adams f85684fec0 avm1: Move current_swf_version and is_case_sensitive from avm1 to stackframe 2020-06-29 10:10:11 +02:00
Nathan Adams d470c52aea avm1: Move root_object, target_clip_or_root, target_clip and base_clip from avm1 to StackFrame 2020-06-29 10:09:57 +02:00
Nathan Adams ca305684db avm1: Removed unused return_value on Activation 2020-06-29 10:09:40 +02:00
Nathan Adams da8ca1379f avm1: Change from 'avm, context' to 'activation, context' and restructured to support this 2020-06-29 10:09:38 +02:00
Nathan Adams a841743962 avm1: Make current_stack_frame return a Result for easy chaining 2020-06-29 10:07:48 +02:00
Nathan Adams cdfd58d619 avm1: Move register get/setting from avm1 to StackFrame 2020-06-29 10:07:31 +02:00
Nathan Adams 63e66c29eb avm1: We already have our stack frame, don't refetch it in actions 2020-06-29 10:07:14 +02:00
Nathan Adams 3a093dddbd avm1: Run activations immediate, not queued up for some-time-later 2020-06-29 10:07:12 +02:00
Nathan Adams 10b8f4abaf avm1: Handle stack poping in avm 2020-06-29 08:55:50 +02:00
Nathan Adams 84a5fae43f avm1: Only perform stack-frame adjustments in one place, not scattered throughout actions 2020-06-29 08:51:34 +02:00
Nathan Adams 9109d89daa avm1: Allow for frame control in StackFrame from any action 2020-06-29 08:51:34 +02:00
Nathan Adams 329716bfe7 avm1: Don't refetch activation.data every action 2020-06-29 08:51:33 +02:00
Nathan Adams af72f68f0f avm1: Run entire stack frames at once 2020-06-29 08:51:33 +02:00
Nathan Adams c6b9de883f avm1: Add Activation to StackFrame, removing lots of get-and-unwraps 2020-06-29 08:51:33 +02:00
Nathan Adams 4d76e8b24d avm1: Move all actions from Avm1 to a new StackFrame 2020-06-29 08:51:33 +02:00
Mike Welsh 3bc3d4acb2 text: Fix bindings being incorrectly cleared in StageObject
Call to `Vec::retain` was backwards, causing bindings to be
incorrectly cleared/not cleared when a text field was removed.
2020-06-28 23:38:58 -07:00
Mike Welsh 93cf7a1386 text: Use retire_stack_frame after firing text bindings 2020-06-28 23:37:50 -07:00
Mike Welsh ed82d984d2 text: Properly set text field position when created dynamically 2020-06-28 18:36:10 -07:00
Mike Welsh 7eeda7d93e chore: clippy 2020-06-28 18:36:10 -07:00
Mike Welsh ef31a6bea4 text: Don't override TextField::set_matrix and other layout changes
Don't override set_matrix and set_x for TextFields, and leave the
bounds intact.

TODO: There are still some wrapping issues in the tests, but
this allows the simple case of single-line texts to render
correctly.
2020-06-28 18:36:10 -07:00
Mike Welsh b40f9d4c1a avm1: Implement TextField.html 2020-06-28 18:36:10 -07:00
Mike Welsh d97a515330 tests: Add text field variable test 2020-06-28 18:36:10 -07:00
Mike Welsh 618fa11acb avm1: Implement text field variable binding 2020-06-28 18:36:10 -07:00
Mike Welsh 51d66c53f0 core: Edit text sets variables on instantiation 2020-06-28 18:36:10 -07:00
Mike Welsh 12fca71b21 avm1: Move StageObjectData behind a GC pointer 2020-06-28 18:36:10 -07:00
Mike Welsh a922fd559f avm1: Add EditText variable property
Add `EditText::variable` as well as `TextField.variable` property.
This commit only adds the getter/setter and does not yet add the
binding functionality.
2020-06-28 18:36:10 -07:00
Mike Welsh dd50071240 core: Move frame and goto methods from MovieClipData to MovieClip 2020-06-28 18:36:10 -07:00
Mike Welsh 8da0f43412 tests: Add test for DefineLocal and issue #760 2020-06-28 15:15:45 -07:00
Mike Welsh 52fbb77e99 avm1: DefineLocal respects virtual properties and prototype chain (fix #760)
DefineLocal will call a virtual setter if the property already exists
on the local object, including the local object's prototype chain.

DefineLocal2 will also not overwrite a property if it already exists
on the local object, including the local object's prototype chain.
2020-06-28 15:15:45 -07:00
Mike Welsh 905f9d7ac6 core: Clear mouse down flag even if there is no hovered object 2020-06-27 23:34:19 -07:00
Mike Welsh a846d92d8c core: Don't fire rollOut events if clip is removed
Allows the inventory to work in The Room Tribute.
2020-06-27 21:24:49 -07:00
Mike Welsh 0833c15e25 tests: Add test for enumerating array indices 2020-06-27 20:25:45 -07:00
Mike Welsh 478d88b22d tests: Test hasOwnProperty for array indices in array_properties 2020-06-27 20:25:45 -07:00
Mike Welsh 8e3b96f1b1 tests: Add tests for non-string params in hasOwnProperty: 2020-06-27 20:25:45 -07:00
Mike Welsh ccf33eedf6 avm1: Array indices are enumerable 2020-06-27 20:25:45 -07:00
Mike Welsh ecc54d01f7 avm1: Disallow setting "" property
object[""] has no effect.
2020-06-27 20:25:45 -07:00
Mike Welsh ef82fc472e avm1: Object.hasOwnProperty should coerce_to_string 2020-06-27 20:25:45 -07:00
Mike Welsh b37b74e0b6 tests: Add test for __constructor__ being DontEnum 2020-06-27 18:54:01 -07:00
Mike Welsh 054194026e avm1: Mark __constructor__ and constructor as DontEnum 2020-06-27 18:54:01 -07:00
dependabot-preview[bot] 63beea22a2 build(deps): bump weak-table from 0.2.3 to 0.3.0
Bumps [weak-table](https://github.com/tov/weak-table-rs) from 0.2.3 to 0.3.0.
- [Release notes](https://github.com/tov/weak-table-rs/releases)
- [Changelog](https://github.com/tov/weak-table-rs/blob/master/release.toml)
- [Commits](https://github.com/tov/weak-table-rs/compare/0.2.3...0.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 16:08:52 -07:00
dependabot-preview[bot] 82a86d6139 build(deps): bump png from 0.16.5 to 0.16.6
Bumps [png](https://github.com/image-rs/image-png) from 0.16.5 to 0.16.6.
- [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/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 16:08:11 -07:00
Nathan Adams bb96a48d7d chore: Mark .as files as ActionScript on github 2020-06-26 11:43:28 -07:00
Mike Welsh 8e97fdfe0c web: Fix WebAudioBackend::stop_sounds_with_handle (fix #752)
This would incorrectly stop all audio nodes whenever a Stop sound
event was encountered.
2020-06-25 23:04:47 -07:00
dependabot-preview[bot] 6040f89c60 build(deps-dev): bump @wdio/local-runner from 6.1.20 to 6.1.22 in /web
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio) from 6.1.20 to 6.1.22.
- [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.1.20...v6.1.22)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 11:19:34 -07:00
dependabot-preview[bot] 8b9abd0dd8 build(deps-dev): bump @wdio/cli from 6.1.20 to 6.1.22 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.1.20 to 6.1.22.
- [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.1.20...v6.1.22)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 11:19:19 -07:00
Nathan Adams 463b79f063 avm1: Implement Action::Throw 2020-06-25 02:03:15 -07:00
Nathan Adams 70e4a40f01 avm1: Allow for user errors inside avm1::error::Error 2020-06-25 02:03:15 -07:00
Mike Welsh 81d75c6256
text: Text formatting for EditText fields (merge #615)
First implementation of HTML parsing and formatting for text fields.
2020-06-24 23:06:11 -07:00
Mike Welsh 5d9701313e text: Fix TextField.embedFonts setter 2020-06-24 22:46:59 -07:00
Mike Welsh b2c96336fd text: Cull text field if offscreen 2020-06-24 22:46:54 -07:00