Nathan Adams
909a399911
tests: Add visual test for font selection
2023-03-19 06:55:07 +01:00
Nathan Adams
9cfd37cab2
core: Respect use_device_font for bullets
2023-03-19 06:55:07 +01:00
Nathan Adams
0f66f7bcb2
core: Fallback font lookup by any font with the same name
2023-03-19 06:55:07 +01:00
Nathan Adams
27f28fb547
avm2: Don't create new texts/sprites/buttons with an empty movie
2023-03-19 06:55:07 +01:00
Lord-McSweeney
e5f75ff126
avm2: Fix TextField.getTextFormat arguments
...
These are used in the Rust handler, but were not correctly set in the AS bindings, leading to errors such as "Attempted to call flash::text::TextField::getTextFormat with 2 arguments (more than 0 is prohibited)"
2023-03-18 21:59:41 -07:00
Mike Welsh
dfeba5330e
tests: Add AVM1 BitmapData.hitTest test
2023-03-18 19:47:39 -07:00
Mike Welsh
ea75dd3739
avm1: Implement BitmapData.hitTest
2023-03-18 19:47:39 -07:00
Mike Welsh
b173176fee
tests: Add test for #9885
...
A simpliied test case to test the #9885 , where a hang occurred when
a button is removed while executing code in a v5 SWF.
2023-03-18 19:25:16 -07:00
Nicholas Cioli
9876e03ece
core: Fix endless loop in `process_swf5_references`
...
This commit fixes an issue where ruffle locks up while trying to
resolve an item with non-MovieClip parents.
2023-03-18 19:25:16 -07:00
Nathan Adams
60a3765be2
core: Store winding rule in Drawing
2023-03-18 19:14:08 -07:00
Nathan Adams
bc9e1d7c14
swf: Rename HAS_FILL_WINDING_RULE to NON_ZERO_WINDING_RULE
2023-03-18 19:14:08 -07:00
Nathan Adams
1004f3fee9
tests: Add a test for a shape with HAS_FILL_WINDING_RULE
2023-03-18 19:14:08 -07:00
Nathan Adams
dc17f7dc30
tests: Add a test for rendering a self-intersecting glyph
2023-03-18 19:14:08 -07:00
Nathan Adams
6987c81623
render: Respect HAS_FILL_WINDING_RULE
2023-03-18 19:14:08 -07:00
Nathan Adams
e7b812c2cd
render: Glyphs are assumed to have HAS_FILL_WINDING_RULE
2023-03-18 19:14:08 -07:00
Tom Schuster
e9e342fe23
avm2: Implement String call handler
2023-03-18 17:51:22 -07:00
Tom Schuster
5aac938e86
avm2: Implement XMLList.text()
2023-03-18 12:18:24 -07:00
Tom Schuster
c285c1eb75
avm2: Implement XML.text
2023-03-18 11:12:15 -05:00
relrelb
156c76cb94
web: Simplify custom context menu separators logic
...
Instead deduplicating separators in `RufflePlayer.showContextMenu()`
using DOM attributes, do it right in `RufflePlayer.contextMenuItems()`,
using a simpler approach.
2023-03-18 02:10:08 -07:00
Nathan Adams
b46f511326
avm2: Implement GraphicsTrianglePath
2023-03-18 06:27:49 +01:00
Nathan Adams
96bb0b8e2e
avm2: Lazily create commands and data in GraphicsPath
2023-03-18 06:27:49 +01:00
Nathan Adams
de8958c40b
avm2: Implement GraphicsStroke
2023-03-18 06:27:49 +01:00
Nathan Adams
2eaaa9b573
avm2: Implement GraphicsSolidFill
2023-03-18 06:27:49 +01:00
Nathan Adams
fe327dc3de
avm2: Implement GraphicsPath
2023-03-18 06:27:49 +01:00
Nathan Adams
2567bd2f42
avm2: Implement GraphicsGradientFill
2023-03-18 06:27:49 +01:00
Nathan Adams
7f7fbc2091
avm2: Implement GraphicsEndFill
2023-03-18 06:27:49 +01:00
Nathan Adams
3e84da036f
avm2: Implement GraphicsBitmapFill
2023-03-18 06:27:49 +01:00
David Wendt
47f594d108
avm2: Stub `flash.media.Microphone` and depended classes
2023-03-17 20:39:45 -06:00
Aaron Hill
580c18844e
naga-agal: Remove 'do_extend'
...
This was a leftover from before we started usiung vec4 everywhere
for compatibility with AGAL. There are a few specific opcodes that
don't need extension, but it doesn't depend on the destination
register.
2023-03-17 20:11:59 -05:00
Aaron Hill
1e973af747
avm2: Implement Context3D.setRenderToTexture/setRenderToBackBuffer
...
In the process, I fixed a bug where we were clearing the depth
and stencil buffers with the incorrect value.
This makes Fancy Pants World 4 Part 1 playable to completion
(though there are still some rendering issues that need
to be fixed).
2023-03-17 20:11:59 -05:00
Aaron Hill
d8a6195d67
tests: Use 'warn' log level for wpgu crates in regression tests
...
This makes the test output much less verbose.
2023-03-17 19:42:48 -05:00
David Wendt
fe0cbc4cb8
avm2: Stub `flash.media.Camera`
2023-03-17 18:27:45 -06:00
Nathan Adams
3a353e15d1
avm2: Convert transform to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
218b621ae3
avm2: Convert external_interface to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
2513292566
avm2: Convert event_dispatcher to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
fda3390aa1
avm2: Convert event to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
8db6375c4c
avm2: Convert display_object_container to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
37f3ea7077
avm2: Convert interactive_object to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
82fc05667c
avm2: Convert loader to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
ed9257ee39
avm2: Convert (some of) movie_clip to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
bc118109e4
avm2: Convert simple_button to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
652a8f86d6
avm2: Convert sprite to use ParametersExt
2023-03-17 20:40:33 +01:00
Nathan Adams
b19ddbe0fc
avm2: Convert stage to use ParametersExt
2023-03-17 20:40:33 +01:00
Tom Schuster
750291c993
avm2: Stub XML settings
2023-03-17 14:25:19 -05:00
Aaron Hill
9ff6ee21df
avm2: Handle early class lookup during parameter resolution
...
This factors out the early-resolution logic I added in `op_coerce`,
making it useable during paramter resolution as well. This lets
a static initializer reference the containing class in parameter
types, even though the ClassObject hasn't yet been initialized.
2023-03-17 13:23:14 -05:00
Aaron Hill
ba88b52167
avm2: Correctly apply 'skip_next_enter_frame' to Loader
...
We were missing the initial 'set_skip_next_enter_frame(true)'
call, and we weren't properly clearing it in `enter_frame`.
Loaders appear to have the same behavior as MovieClips.
This makes us correctly run the first framescript for the loaded
SWF.
2023-03-17 12:44:56 -05:00
nosamu
33f585fa6c
avm2: Stub TextField.mouseWheelEnabled
2023-03-17 18:05:14 +01:00
Tom Schuster
b791c402d2
avm2: Stub flash.net.sendToURL
2023-03-17 17:49:53 +01:00
Aaron Hill
605b5fe09a
avm2: Correctly declare Array.removeAt as an AS3/prototype method
...
It was incorrectly declared as public method, which lead to
spurious 'missing override' errors in classes extending Array
that define a 'removeAt' method.
2023-03-17 17:00:47 +01:00
MrCheeze
8c180f97b6
core: Allow duplicate frame and scene labels ( close #9943 )
2023-03-17 12:54:16 +01:00