TÖRÖK Attila
acc84769b6
desktop,chore: Bump `egui` to `v0.28.1`
2024-07-08 01:29:40 +02:00
Nathan Adams
dd7692b211
core: Document audio+DO methods slightly
2024-07-07 23:57:24 +02:00
Nathan Adams
229697fbbd
core: Correctly handle sound events attached to buttons. Fixes #2473
2024-07-07 23:57:24 +02:00
Nathan Adams
1ffb9d2ab9
avm1: Remove sounds when their clip is unloaded, fixes #7447 , #14663
2024-07-07 23:57:24 +02:00
Nathan Adams
84df034f84
core: When stopping sounds associated with movieclips, go by path instead of pointer - fixes #9795
2024-07-07 23:57:24 +02:00
Kamil Jarosz
dda4cbfd62
core: Use existing methods for rounding twips
...
Replace `round_to_pixel_half_even` and `round_down_to_pixel` with
existing methods used for rounding twips to pixels.
2024-07-07 21:45:52 +02:00
Lord-McSweeney
1c1fc099cb
avm2: Add `flash.net.drm::LoadVoucherSetting` class
2024-07-07 16:03:52 +03:00
Lord-McSweeney
2d650faec0
avm2: Implement `flash.events::AVStatusEvent` and `flash.media::AVCaptionStyle`
2024-07-07 16:03:52 +03:00
Aaron Hill
f0d224d88e
avm2: Make 'Loader.unloadAndStop' call 'Loader.unload'
...
We still need to implement the 'stop' behavior, but this should
bring us closer to matching Flash Player.
2024-07-07 08:13:10 -04:00
dependabot[bot]
cb8770663f
build(deps): bump the cargo-minor group with 3 updates
...
Bumps the cargo-minor group with 3 updates: [serde](https://github.com/serde-rs/serde ), [syn](https://github.com/dtolnay/syn ) and [gilrs](https://gitlab.com/gilrs-project/gilrs ).
Updates `serde` from 1.0.203 to 1.0.204
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.203...v1.0.204 )
Updates `syn` from 2.0.68 to 2.0.69
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.68...2.0.69 )
Updates `gilrs` from 0.10.7 to 0.10.8
- [Commits](https://gitlab.com/gilrs-project/gilrs/compare/v0.10.7...v0.10.8 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: gilrs
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-07 13:10:44 +02:00
Lord-McSweeney
62f0e07171
avm2: Implement `flash.media::AVResult`
2024-07-07 13:10:33 +03:00
Polo
da4eccfc68
avm2: Implement AuthenticationMethod
2024-07-06 22:23:00 +02:00
Polo
e015695f47
avm2: Implement NetStreamAppendBytesAction
2024-07-06 22:23:00 +02:00
Polo
430c799e9d
avm2: API versioning added for NetStreamPlayTransitions
2024-07-06 22:23:00 +02:00
Polo
3f0c693793
avm2: Implement NetStreamPlayTransitions
2024-07-06 22:23:00 +02:00
Kamil Jarosz
594201adc8
text: Implement double/triple click selection
...
This patch implements selecting words by double-clicking and
selecting lines by triple-clicking.
It also includes support for selecting words and lines while dragging.
2024-07-06 18:32:10 +02:00
Kamil Jarosz
dc4ea60d13
text: Add TODO related to opening links
2024-07-06 18:32:10 +02:00
Kamil Jarosz
d770422724
core: Calculate click index when not supplied
2024-07-06 18:32:10 +02:00
Kamil Jarosz
9f9d462381
core: Add click index to PlayerEvent::MouseDown
2024-07-06 18:32:10 +02:00
Kamil Jarosz
9188005820
core: Add click index to ClipEvent::Press
2024-07-06 18:32:10 +02:00
Nathan Adams
f8cba925c3
core: Update flash-lso, removes cookie-factory
2024-07-06 12:27:26 +02:00
dependabot[bot]
26ee124eb7
build(deps): bump the cargo-minor group across 1 directory with 2 updates
...
Bumps the cargo-minor group with 2 updates in the / directory: [ttf-parser](https://github.com/RazrFalcon/ttf-parser ) and [fontdb](https://github.com/RazrFalcon/fontdb ).
Updates `ttf-parser` from 0.21.1 to 0.24.0
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.21.1...v0.24.0 )
Updates `fontdb` from 0.18.0 to 0.20.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.18.0...v0.20.0 )
---
updated-dependencies:
- dependency-name: ttf-parser
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: fontdb
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-05 01:41:48 +02:00
Tom Schuster
7884a35e87
avm2: Properly enumerate Proxy objects for AMF serialization
...
Fixes #16931 :
2024-07-04 18:43:01 +02:00
TÖRÖK Attila
4dd77f903e
desktop: Update `egui` to `v0.28.0`
2024-07-04 11:32:48 +02:00
Aaron Hill
c65033aa37
avm2: Ignore errors when setting properties in amf deserializer
...
Flash Player *traces* any errors that occur during setting properties
on the newly-constructed object durting AMf deserialization, and
continues deserializing.
2024-07-03 17:42:02 -04:00
Kamil Jarosz
5aaff966aa
text: Render caret using lines
...
This patch makes the caret be drawn using lines.
This ensures that the width of the caret is always 1px.
Additionally, it improves caret positioning, so that it's closer to FP.
2024-07-03 15:09:31 +02:00
Kamil Jarosz
59c0bcf073
core: Improve EditText's border and background rendering
...
This patch removes the drawing used for rendering the border and
the background and renders them using primitives instead.
It provides two methods for drawing the border and the background:
* draw_device_text_box -- when device fonts are used,
* draw_text_box -- when fonts are embedded.
Updated expected images in tests as they are closer to FP now:
* text/auto_size/height,
* text/auto_size/return,
* text/auto_size/width,
* visual/shumway_acid_tests/acid_color_0.
For the test avm2/stage3d_texture it's hard to say whether the current
output is closer to FP or not, as FP renders it with a different scale.
However, I have confirmed that there exists a scale at which FP renders
the text fields exactly as Ruffle after this patch.
2024-07-02 23:40:50 +02:00
Kamil Jarosz
23f01e0dd9
render: Add Matrix::create_box_with_rotation
...
This patch splits the current method of create_box into
1. create_box -- without rotation, and
2. create_box_with_rotation -- with rotation.
The reason for that refactor is that create_box was often used without
rotation, and always passing 0.0 as rotation and having
a dedicated condition for 0.0 was superfluous.
2024-07-02 23:40:50 +02:00
Marco Bartoli
fe08638d26
Implement ImportAssets/ImportAssets2 ( #16420 )
2024-07-02 11:41:48 +00:00
Aaron Hill
617cb3330d
avm2: Ignore ClassObject call receiver
...
This allows a class to be used with `callproplex`
2024-07-02 07:18:22 -04:00
Lord-McSweeney
83d0316ac3
avm2: Add stub notices for reusing Loader
2024-07-02 06:58:37 +03:00
Lord-McSweeney
d2e3de4cc4
avm2: Unload the contents of a Loader before `load` and `loadBytes`
2024-07-02 06:58:37 +03:00
Aaron Hill
ebab349458
avm2: Stub Stage.mouseLock
2024-07-01 23:13:02 -04:00
dependabot[bot]
28aa2e65a9
build(deps): bump the cargo-minor group across 1 directory with 7 updates
...
Bumps the cargo-minor group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.7` | `4.5.8` |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.5.0` | `2.6.0` |
| [log](https://github.com/rust-lang/log ) | `0.4.21` | `0.4.22` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.117` | `1.0.120` |
| [num-bigint](https://github.com/rust-num/num-bigint ) | `0.4.5` | `0.4.6` |
| [id3](https://github.com/polyfloyd/rust-id3 ) | `1.13.1` | `1.14.0` |
| [either](https://github.com/rayon-rs/either ) | `1.12.0` | `1.13.0` |
Updates `clap` from 4.5.7 to 4.5.8
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.7...v4.5.8 )
Updates `bitflags` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.5.0...2.6.0 )
Updates `log` from 0.4.21 to 0.4.22
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.21...0.4.22 )
Updates `serde_json` from 1.0.117 to 1.0.120
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.117...v1.0.120 )
Updates `num-bigint` from 0.4.5 to 0.4.6
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.5...num-bigint-0.4.6 )
Updates `id3` from 1.13.1 to 1.14.0
- [Changelog](https://github.com/polyfloyd/rust-id3/blob/main/CHANGELOG.md )
- [Commits](https://github.com/polyfloyd/rust-id3/compare/v1.13.1...v1.14.0 )
Updates `either` from 1.12.0 to 1.13.0
- [Commits](https://github.com/rayon-rs/either/compare/1.12.0...1.13.0 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: num-bigint
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: id3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: either
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 01:04:52 +02:00
Lord-McSweeney
67c9936bf4
avm2: Use proper coercion in XMLList prototype methods
2024-07-01 18:40:47 +02:00
Tom Schuster
58c231588d
core: Stop searching after finding the first default font
2024-06-30 11:32:06 +02:00
TÖRÖK Attila
6aa2dde859
chore: Update quick-xml to 0.35.0
2024-06-30 11:17:38 +02:00
Tom Schuster
5618a3d048
avm2: FP10 version DisplayObject rotationX/Y/Z and scaleZ
...
Fixes #16910
2024-06-30 09:48:40 +02:00
Kamil Jarosz
19649cc69b
text: Do not clamp font size for SWF13+
2024-06-29 22:57:55 +02:00
Kamil Jarosz
c350be43b8
avm2: Implement TextField.getTextRuns()
2024-06-29 22:57:55 +02:00
Kamil Jarosz
bcbf3ba3d1
text: Support TextFormat.display
2024-06-29 22:57:55 +02:00
Kamil Jarosz
3bf5e28348
avm2: Implement TextRun
2024-06-29 22:57:55 +02:00
Kamil Jarosz
95cc3c52f3
avm2: Fix highlight bounds for buttons
...
Similarly to AVM1, AVM2 buttons also use their
hit bounds as highlight bounds.
2024-06-29 22:42:25 +02:00
Kamil Jarosz
a3dddbd80d
avm2: Roughly implement `TextField.*IndexAtPoint`
...
Both implementations currently use `screen_position_to_index`, which
is inaccurate, and that's why these methods still produce a stub warning.
However, this implementation makes some games work, is a lot better than
a perfect implementation which would require a lot of work and time,
and infinitely better than no implementation at all.
2024-06-29 22:28:16 +02:00
Kamil Jarosz
a9708a8017
debug_ui: Draw bounds on hover
...
When the user hovers on world bounds and highlight bounds,
debug rects signifying their positions are automatically drawn.
2024-06-29 21:57:32 +02:00
Kamil Jarosz
59a8d1e8a1
debug_ui: Improve debug rect bounds calculation
...
Before this patch, it was possible that some objects did not have a
debug rect despite existing on the stage and interacting with the user.
That was the case for instance for buttons with hit bounds and no up state.
This patch ensures that debug rect is at least as big as highlight bounds,
which are used to highlight focused objects on the stage.
2024-06-29 21:57:32 +02:00
Kamil Jarosz
056650337e
chore: Remove unnecessary returns
2024-06-29 11:29:02 +02:00
Kamil Jarosz
ee8c9e21fa
avm2: Implement TextField.getLineIndexOfChar()
2024-06-29 11:29:02 +02:00
Kamil Jarosz
b55d4d1021
avm2: Fix TextField.getLineText()
...
This patch makes the implementation more performant, simpler, and
fixes its behavior related to returning the line delimiter and tabs.
2024-06-27 22:02:41 +02:00
Kamil Jarosz
9a6708f4b1
avm2: Implement TextField.getLineOffset()
2024-06-27 22:02:41 +02:00