Mike Welsh
540b03090a
avm1: hitTest point is actually in root coordinates ( fix #185 )
2019-12-19 12:35:56 -08:00
Nathan Adams
f6f358b4de
avm1: Expose TextFields and allow setting their .text
2019-12-19 10:19:43 -08:00
dependabot-preview[bot]
f84bfae010
build(deps-dev): bump webpack-dev-server in /web/selfhosted
...
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server ) from 3.9.0 to 3.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases )
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v3.10.1/CHANGELOG.md )
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.9.0...v3.10.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 09:29:07 -08:00
Mike Welsh
c9a5d2dbb3
chore: Fix clippy lints in 1.40
2019-12-19 09:10:41 -08:00
dependabot-preview[bot]
d1f258e71e
build(deps-dev): bump webpack from 4.41.3 to 4.41.4 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.3 to 4.41.4.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.3...v4.41.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-19 16:21:31 +00:00
Nathan Adams
d3848f97ea
avm1: Implemented MovieClip.hittest, without shape flag
2019-12-18 15:21:14 -08:00
Nathan Adams
5f6eea6f25
chore: Refactor system listeners into a reusable system
2019-12-18 15:15:56 -08:00
Mike Welsh
3a8256a993
avm1: Allow setting _name
2019-12-18 14:07:32 -08:00
Mike Welsh
9079b69991
avm1: Push Undefined when trying to construct invalid object
2019-12-18 13:47:01 -08:00
Mike Welsh
bb6a4c119c
avm1: Warn and clear operand stack if not empty after execution
...
Add a check and clear the stack if it isn't empty at the end of
`run_stack_till_empty`. This is probably a bug on our side
and we a good place for breakpoints.
2019-12-18 13:47:01 -08:00
Mike Welsh
8b9aedc4c8
avm1: Fix extra stack frame in event handlers
...
When running an clip event handler (e.g. onEnterFrame), a stack
frame is pushed to get the property value. However, this frame
was causing an extra Undefined to be pushed on the operand stack in
`Avm1::retire_stack_frame`, which would blow out the stack.
Now this stack frame is popped after the property is resolved and
before the function is executed. The function will push its own
stack frame when it executes.
2019-12-18 13:47:01 -08:00
Mike Welsh
3e003ed9dd
avm1: Add missing stage.rs
2019-12-17 22:36:53 -08:00
Mike Welsh
3ebc1ed928
avm1: Stub out Stage properties
...
This is a very rough stub out of Stage.width and height to get
basic V-cams to start functioning.
TODO: Implement the different stage scaling modes. We will probably
want to add a "Stage" display object to handle this.
2019-12-17 22:28:44 -08:00
Mike Welsh
2af76e10f8
core: Mark scale/rotation as dirty when matrix changes
2019-12-17 22:06:34 -08:00
Mike Welsh
74aa127b74
avm1: Fix double borrow in Executable::exec
2019-12-17 21:35:22 -08:00
Mike Welsh
32953d5c5c
avm1: Allow objects in ActionSetTarget2
...
Fixes 8-Bit Theater 3 soft locking on the first frame.
2019-12-17 18:32:25 -08:00
Mike Welsh
a9baf72c53
avm1: Handle trailing / in slash paths
2019-12-17 04:00:01 -08:00
Mike Welsh
28faf2030b
tests: Add failing case to slash_syntax test
2019-12-17 04:00:01 -08:00
Mike Welsh
4d287cab71
avm1: MovieClip creation methods (merge #176 )
...
avm1: MovieClip creation methods
2019-12-17 03:59:14 -08:00
Mike Welsh
dae3e27fb3
avm1: Rename Library::instantiate_by_id
2019-12-17 03:27:05 -08:00
Mike Welsh
fc3878d6d9
tests: Add tests for movie clip cloning/removing
2019-12-17 03:20:01 -08:00
Mike Welsh
1476930e0c
avm1: Implement MovieClip.removeMovieClip
2019-12-17 03:20:01 -08:00
Mike Welsh
1668e823e6
avm1: Implement MovieClip.createEmptyMovieClip
2019-12-17 03:02:07 -08:00
Mike Welsh
d33a8278d7
avm1: Implement MovieClip.duplicateMovieClip
2019-12-17 03:00:56 -08:00
Mike Welsh
009da39f12
avm1: Implement MovieClip.attachMovie
2019-12-17 03:00:56 -08:00
Mike Welsh
d0504104b7
core: Use i32 for display object depth
2019-12-17 02:48:55 -08:00
Mike Welsh
4cb2cefc5b
swf: Switch depth to u16
2019-12-17 02:48:55 -08:00
Mike Welsh
0f3bad8f1b
core: Wrap Font in a Gc
2019-12-17 02:48:55 -08:00
Mike Welsh
289e0b8aff
core: Handle ExportAssets SWF tag
2019-12-16 19:32:34 -08:00
Mike Welsh
24d8fa6298
swf: Add public method for read_export_assets
2019-12-16 19:32:34 -08:00
Mike Welsh
b6df9fded0
core: Remove boxes from library items
2019-12-16 19:32:34 -08:00
Nathan Adams
45e497826b
avm1: Implement `Mouse` listeners & events (excluding scroll)
2019-12-16 19:22:10 -08:00
Mike Welsh
c2f4633cdb
avm1: Trace constant_pool in Collect for Activation
2019-12-16 16:14:49 -08:00
Mike Welsh
c61842a72a
tests: Add test for slash syntax
2019-12-16 15:33:57 -08:00
Mike Welsh
f270a278c0
avm1: Push Undefined on GetVariable with invalid slash path
2019-12-16 15:33:16 -08:00
Mike Welsh
8b85212513
avm1: Handle .. in slash syntax
2019-12-16 15:24:25 -08:00
Mike Welsh
f4f755e958
avm1: Remove warnings on _currentframe/_totalframe
2019-12-16 10:21:37 -08:00
Nathan Adams
84ff69854a
avm1: Pass mouse events down to movie clips
2019-12-16 10:11:23 -08:00
Nathan Adams
c8e42123cf
avm1: Implemented `_xmouse` and `_ymouse`
2019-12-16 10:11:23 -08:00
Nathan Adams
783037e8cc
chore: Removed array debug code that snuck in. Oops!
2019-12-16 09:56:46 -08:00
dependabot-preview[bot]
76413dd3c6
build(deps): bump serde from 1.0.103 to 1.0.104
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.103 to 1.0.104.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.103...v1.0.104 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 17:56:19 +00:00
dependabot-preview[bot]
d2cf865ebf
build(deps-dev): bump webpack from 4.41.2 to 4.41.3 in /web/selfhosted
...
Bumps [webpack](https://github.com/webpack/webpack ) from 4.41.2 to 4.41.3.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.41.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 17:55:53 +00:00
Mike Welsh
e4af2502dc
avm1: Fix mismatched action/init_action stack frames
...
DoAction was accidentally creating its stack frame using
Avm1::insert_stack_frame_for_init_action, causing a dummy
Undefined to be pushed and blowing out the stack.
2019-12-16 01:14:06 -08:00
Mike Welsh
b2cdc19f55
tests: Add test for goto MovieClip methods
2019-12-16 00:52:27 -08:00
Mike Welsh
bf0b777246
avm1: Use ECMA-262 ToInt32 modulo behavior
...
Everything is a double in ES land, so when converting a number to
int, the double is modulo'd to allow for wrapping 32-bit int
semantics.
See ToInt32 and ToUInt32 in the specs:
https://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%202nd%20edition,%20August%201998.pdf
2019-12-16 00:52:27 -08:00
Mike Welsh
39f54b4a16
avm1: Add gotoAndPlay and gotoAndStop MovieClip methods
2019-12-16 00:52:27 -08:00
Mike Welsh
a3e316847b
core: Clamp goto frame in range
2019-12-16 00:52:27 -08:00
Mike Welsh
fa5a168fad
avm1: Clean up MovieClip prototype
2019-12-16 00:52:27 -08:00
Mike Welsh
7f5d2923be
avm1: Initial clip event implementation (merge #152 )
...
Initial clip event implementation: load, enterFrame, and unload are functional.
2019-12-15 20:21:44 -08:00
Mike Welsh
46365c5702
avm1: Implement clip event method callbacks
2019-12-15 20:01:50 -08:00