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
Mike Welsh
b1318ecb01
core: PlaceObjectAction::Replace swaps out graphic handles
...
A `PlaceObjectAction::Replace` signals that a shape should
be swapped with a different shape. Previously we instantiated a
completely new `Graphic`, but this is incorrect; instead the
underlying shape handle should be swapped out, but the outer object
remains. This is visible in AVM2 where you can access `Shape` as
a normal display object.
2021-06-08 19:47:16 -07:00
Mike Welsh
5acc476789
tests: Add test for DefineFunction case sensitivity
2021-06-08 16:51:59 -07:00
Mike Welsh
93e83d7ad5
avm1: DefineFunction should respect case sensitivity
2021-06-08 16:51:59 -07:00
Mike Welsh
21c351fe5b
swf: Change Twips::zero fn to Twips::ZERO const
2021-06-08 14:57:15 -07:00
Mike Welsh
d23ea90459
swf: Change Matrix to use Fixed16 for a, b, c, d
...
Matrices in an SWF file store their scale/skew components in
in 16.16 format (fbits).
Split `ruffle_core::Matrix` and `swf::Matrix`. `swf::Matrix` now
stores its data as `Fixed16` instead of immediately converting to
`f32`.
2021-06-08 14:57:15 -07:00
relrelb
39decde5bc
avm1: Refactor ScriptObject::get_local
2021-06-08 10:48:50 -07:00
relrelb
1c0007f34f
avm1: Make TObject::get_local return Option
2021-06-08 10:48:50 -07:00
relrelb
15fa92a9fb
avm1: Add TObject::set_local
2021-06-08 10:48:50 -07:00
relrelb
c9d015d7c5
avm1: Cleanup some TObject methods
2021-06-08 10:48:50 -07:00
dependabot[bot]
2f1dc0cbb1
chore: Bump approx from 0.4.0 to 0.5.0
...
Bumps [approx](https://github.com/brendanzab/approx ) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/brendanzab/approx/releases )
- [Commits](https://github.com/brendanzab/approx/compare/v0.4.0...v0.5.0 )
---
updated-dependencies:
- dependency-name: approx
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 11:30:59 -07:00
Chris Midgley
9f8885cf71
docs: correct tested node versions
2021-06-07 11:30:34 -07:00