Commit Graph

4859 Commits

Author SHA1 Message Date
Mike Welsh 56c260fa74 swf: Add NameCharacter tag 2021-06-20 14:01:07 -07:00
dependabot[bot] e40f7b3474 chore: Bump wgpu from 0.8.1 to 0.9.0
Bumps [wgpu](https://github.com/gfx-rs/wgpu) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/gfx-rs/wgpu/releases)
- [Changelog](https://github.com/gfx-rs/wgpu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gfx-rs/wgpu/commits)

---
updated-dependencies:
- dependency-name: wgpu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 03:13:12 -07:00
dependabot[bot] a66dce3548 chore: Bump rand from 0.8.3 to 0.8.4
Bumps [rand](https://github.com/rust-random/rand) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.3...0.8.4)

---
updated-dependencies:
- dependency-name: rand
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 03:10:42 -07:00
dependabot[bot] c22c18b809 chore: Bump bitstream-io from 1.0.0 to 1.1.0
Bumps [bitstream-io](https://github.com/tuffy/bitstream-io) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/tuffy/bitstream-io/releases)
- [Commits](https://github.com/tuffy/bitstream-io/commits)

---
updated-dependencies:
- dependency-name: bitstream-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 03:10:31 -07:00
dependabot[bot] ee69567fa5 chore: Update @types/chai requirement from ^4.2.18 to ^4.2.19 in /web
Updates the requirements on [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 02:55:04 -07:00
Chris Midgley c2a7953943 dev: downgrade mocha to 8.4.0
Both ts-node 10 and mocha 9 include native ESM support, but I can't find
the combination of flags to get this to work.
2021-06-20 02:21:17 -07:00
Chris Midgley 55685b0a2d lint: fix prettier errors 2021-06-20 02:21:17 -07:00
Chris Midgley 8927500489 dev: update all package.json devDependencies to latest 2021-06-20 02:21:17 -07:00
Chris Midgley 9590d9bb13 dev: set dependabot npm versioning strategy to increase 2021-06-20 02:21:17 -07:00
Mike Welsh e886756aab avm1: Wire up _soundbuftime
Store the `_soundbuftime` property in the audio manager. This is
currently unused by Ruffle, but the value will now be stored.
2021-06-20 01:25:27 -07:00
Mike Welsh e3d0538999 core: Add AudioManager::stream_buffer_time 2021-06-20 01:25:27 -07:00
relrelb 6d1b6009e8 avm1: Use bitflags for ChannelOptions 2021-06-18 15:30:09 -07:00
Adrian Wielgosik 867b7ffcad
core: Preallocate bitmaps for remaining cases in decode_define_bits_lossless 2021-06-17 15:43:36 -07:00
Mike Welsh 09b86cda8b avm1: Implement ToggleHighQuality op
Wire up the op so that it affects the quality setting, although the
setting is still unused by Ruffle.

This op will remember whether the stage was in `High`/`Best` quality.
Split out the "bitmap downsampling" flag in `Stage` so that we can
persist this state.
2021-06-17 13:55:56 -07:00
Mike Welsh eb12a3af17 avm1: Wire up _highquality 2021-06-17 13:55:56 -07:00
Mike Welsh 9357fd7b4f avm2: Wire up Stage.quality 2021-06-17 13:55:56 -07:00
Mike Welsh 9370b84092 avm1: Wire up _quality 2021-06-17 13:55:56 -07:00
Mike Welsh ee8439e55c core: Add Stage::quality 2021-06-17 13:55:56 -07:00
Mike Welsh e0a478163b tests: Add test for PlaceObjectAction::Replace during goto 2021-06-16 20:57:43 -07:00
Mike Welsh a1ceb07bec core: Fix PlaceObjectAction::Replace in gotos (fix #4545) 2021-06-16 20:57:43 -07:00
Mike Welsh 622f35eb71 core: Pump action queue after handling an event 2021-06-16 12:42:49 -07:00
Mike Welsh e2659e451c core: Fire button events after mouse move events 2021-06-16 12:42:49 -07:00
Mike Welsh 71024939e3 core: Remove self_node parameter from DisplayObject::mouse_pick 2021-06-16 12:42:49 -07:00
Mike Welsh 6894382e8e avm1: Implement _droptarget 2021-06-16 12:42:49 -07:00
Mike Welsh 495f8d90e6 avm1: Implement dragOver/dragOut button events 2021-06-16 12:42:49 -07:00
Mike Welsh 6de7ee1a8c core: Support drag events with magic button frame labels 2021-06-16 12:42:49 -07:00
Mike Welsh 90024a1266 core: Wire up dragOver/dragOut events for buttons 2021-06-16 12:42:49 -07:00
Mike Welsh b0143ff918 core: Add Player::mouse_pressed_object 2021-06-16 12:42:49 -07:00
Mike Welsh 6146502b1a tests: Add test for SetTarget on a removed clip 2021-06-14 14:04:28 -07:00
Mike Welsh 2f25887080 avm1: SetTarget of a removed clip is invalid
A `SetTarget` call should ignore any clip that has been removed.
This can happen in cases such as `tellTarget("_root")` seeking
to a frame where the clip no longer exists.

Fixes this issue:
https://github.com/ruffle-rs/ruffle/pull/4452#issuecomment-860747028
2021-06-14 14:04:28 -07:00
Mike Welsh ed1bfd74fe core: keyPress events take precedence over text input 2021-06-14 14:04:28 -07:00
Mike Welsh 76603d5554 tests: Add test for execution order 2021-06-14 14:04:28 -07:00
Mike Welsh cb136e56bb tests: Change button_order test to 2 frames
In Flash, the trace actually occurs on the 2nd frame. Frame 1 is
when the clips are actually loaded. Previously this inaccurately
happened on frame 1 in Ruffle, but now happens correctly on frame
2.
2021-06-14 14:04:28 -07:00
Mike Welsh 4687eb6d4e core: Ensure bitmaps run post_instantiate 2021-06-14 14:04:28 -07:00
Mike Welsh 1f96af6b64 core: Add Avm1::exec_list to manage global list of display objects 2021-06-14 14:04:28 -07:00
dependabot[bot] a3747d1fbd chore: Bump embed-resource from 1.6.2 to 1.6.3
Bumps [embed-resource](https://github.com/nabijaczleweli/rust-embed-resource) from 1.6.2 to 1.6.3.
- [Release notes](https://github.com/nabijaczleweli/rust-embed-resource/releases)
- [Commits](https://github.com/nabijaczleweli/rust-embed-resource/compare/v1.6.2...v1.6.3)

---
updated-dependencies:
- dependency-name: embed-resource
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:48:19 -07:00
dependabot[bot] cf4a1136c5 chore: Bump env_logger from 0.8.3 to 0.8.4
Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.3...v0.8.4)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:47:57 -07:00
dependabot[bot] 1b6b4964c9 chore: Bump syn from 1.0.72 to 1.0.73
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.72 to 1.0.73.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.72...1.0.73)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:47:40 -07:00
dependabot[bot] 12528e9f4f chore: Bump bytemuck from 1.5.1 to 1.7.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.5.1 to 1.7.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.5.1...v1.7.0)

---
updated-dependencies:
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:47:13 -07:00
Mike Welsh 83f842faf9 avm1: Implement MovieClip.beginBitmapFill 2021-06-13 20:03:53 -07:00
Mike Welsh 554aa7fd63 core: Add backend::render::BitmapSource trait
This interface handles returning a bitmap given an ID and is used
by the render backend to get the bitmap used for a bitmap fill.
This will allow for bitmap fills in the drawing API, as these will
manage their own list of bitmaps.
This also  removes the MovieLibrary dependency from render backends
and will allow for better decoupling in the future.
2021-06-13 20:03:53 -07:00
Chris Midgley b6a2738dab core: support magic button labels for avm1 2021-06-13 10:46:24 -07:00
Adrian Wielgosik 7d1bd57066 avm1: Call ContextMenu.onSelect before preparing context menu items 2021-06-13 10:37:38 -07:00
relrelb 9c5b9b7072 avm1: Rewrite TObject array methods 2021-06-13 10:37:15 -07:00
Mike Welsh 3b215d6c76 core: Use swf::ClipEventFlag in stored clip event handlers
* Rename movie_clip::ClipAction to movie_clip::ClipEventHandler.
 * Store the swf::ClipEventFlag event flags that trigger the event
   directly in the event handler. Previously we split up any event
   that had multiple event flags into separate events. Now these
   can be kept as a single event.
 * Remove `MovieClip::has_button_event`, and instead store the
   union of all event flags in `MovieClip::clip_event_flags`. This
   will be useful for other cases in the future.
2021-06-11 12:54:53 -07:00
relrelb ede9650899 chore: Avoid unused_variables annotations
Instead prefix the unused variables with an underscore.
2021-06-11 16:16:53 +03:00
Daniel Jacobs e6bc34cf1c Add favicon to demo page (fix #2910) 2021-06-10 23:57:31 -07:00
Mike Welsh 5462b8a522 core: Allow MorphShapes and Texts to be replaced via PlaceObject
PR #4540 allowed shapes to replace their inner art handles via
replace PlaceObject tags. This can also happen for morph shapes and
static texts.

Add MorphShape::replace_with and Text::repalce_with. This fixes the
incorrect art in main menu buttons of Super Mario 63.
2021-06-09 23:37:38 -07:00
Mike Welsh 5135b14023 tests: Add test for PlaceObject replace 2021-06-08 19:47:16 -07:00
Mike Welsh 4fc9225e8f avm2: Only construct Shapes once
Shape objects were mistakenly being reconstructed each frame in
`Graphic::construct_frame`.
2021-06-08 19:47:16 -07:00