Nathan Adams
f43560ab88
render: Switch to providing cacheAsBitmap entries all at once on submit frame
2023-06-24 01:42:04 +02:00
Nathan Adams
2594453831
render: Add render_offscreen_for_cache for more optimised CacheAsBitmap
2023-06-24 01:42:04 +02:00
Nathan Adams
5a67b2dcb7
core: Don't rerender cacheAsBitmap if the color transform changes (unlike Flash - but it should be fine!)
2023-06-24 01:42:04 +02:00
Nathan Adams
d49a8ce0e6
core: Invalidate cacheAsBitmap when drawing api is used
2023-06-24 01:42:04 +02:00
Nathan Adams
cc8edb3bf1
core: Invalidate cacheAsBitmap when various more properties change
2023-06-24 01:42:04 +02:00
Nathan Adams
27db3e70b4
core: Invalidate cacheAsBitmap when transform changes
2023-06-24 01:42:04 +02:00
Nathan Adams
0f01efb322
core: Invalidate cacheAsBitmap when video change
2023-06-24 01:42:04 +02:00
Nathan Adams
41991da624
core: Invalidate cacheAsBitmap when texts change
2023-06-24 01:42:04 +02:00
Nathan Adams
932291bbad
core: Invalidate cacheAsBitmap when morphs change
2023-06-24 01:42:04 +02:00
Nathan Adams
8a3ccdd080
core: Invalidate cacheAsBitmap when graphics change
2023-06-24 01:42:04 +02:00
Nathan Adams
c39217e139
core: Invalidate cacheAsBitmap when children are added or removed
2023-06-24 01:42:04 +02:00
Nathan Adams
fe742194b1
core: Implement cacheAsBitmap behaviour
2023-06-24 01:42:04 +02:00
Niv.Kaminer
69b09ab1ef
avm2: Implement Serialization for ByteArrayObject
2023-06-23 08:29:53 -04:00
Crowdin Bot
b1149cd267
chore: Update translations from Crowdin
2023-06-23 11:49:47 +02:00
Fancy2209
9ab4c163c7
Fix TouchEvent.as ( #11685 )
...
* Update TouchEvent.as
* Oops
2023-06-23 08:14:23 +00:00
Lord-McSweeney
8127971dfd
avm2: Remove AIR-only FocusDirection class
2023-06-22 08:47:10 +03:00
Lord-McSweeney
f6360b343e
avm2: flash.sampler stubs
2023-06-21 21:03:29 +03:00
Nathan Adams
a078d91c31
core: Simplify open_character_button a bit
2023-06-21 18:27:12 +02:00
Nathan Adams
8dd3b50da6
core: Deemphasise invalid rects in debug ui
2023-06-21 18:27:12 +02:00
Nathan Adams
00e02d1511
core: Add debug window to list known movies
2023-06-21 18:27:12 +02:00
Nathan Adams
c0247c020a
swf: Add write_swf_raw_tags for reconstructing a swf from its parts
2023-06-21 18:27:12 +02:00
Nathan Adams
4e0628b730
core: Refactor out a show_avm2_value for debugger
2023-06-21 18:27:12 +02:00
Nathan Adams
e6b087dbc2
core: Remove swf saving for now, we need to reconstruct the swf from the data
2023-06-21 18:27:12 +02:00
Nathan Adams
d8e6bf7535
core: Show root DO's in debug view
2023-06-21 18:27:12 +02:00
Nathan Adams
0523a5b149
core: Remove UpdateContext param from DisplayObject::avm2_root()
2023-06-21 18:27:12 +02:00
Nathan Adams
647006b8d0
core: Add more avm2 debug info
2023-06-21 18:27:12 +02:00
Nathan Adams
5b429e3bf5
core: Add filtering to avm2 debug window
2023-06-21 18:27:12 +02:00
Nathan Adams
89962cf970
core: Add avm2 objects to debug menu
2023-06-21 18:27:12 +02:00
Nathan Adams
aaf9ecfa32
core: Add AVM1 values to debug UI
2023-06-21 18:27:12 +02:00
Nathan Adams
afdd617d29
avm1: Add include_hidden: bool to get_keys()
2023-06-21 18:27:12 +02:00
Nathan Adams
310b03b570
core: Add searching to DO debug children list
2023-06-21 18:27:12 +02:00
Nathan Adams
c5a1ca0e57
core: Show invalid bounds + selfbounds/scrollrect on DO debug info
2023-06-21 18:27:12 +02:00
Nathan Adams
c8a41e327a
core: Add character info to DO debug window
2023-06-21 18:27:12 +02:00
Nathan Adams
b24cc60a5d
core: Add swf info to debug menu
2023-06-21 18:27:12 +02:00
Nathan Adams
cb2349e33a
core: Store character name<->id map, not name<->character, so we can query id for name
2023-06-21 18:27:12 +02:00
Adrian Wielgosik
b3c40ecda1
avm2: Optimize coerce_to_primitive for boxed primitives
2023-06-21 00:20:03 +02:00
Crowdin Bot
67a5a2923f
chore: Update translations from Crowdin
2023-06-20 23:52:03 +02:00
Nathan Adams
6b76af2d40
core: Fix avm2button bounding box
2023-06-20 23:22:53 +02:00
Toad06
18fb5064d3
avm1: Correct `matrix::object_to_matrix_or_default`
2023-06-19 21:09:06 +03:00
relrelb
a8f9033091
avm1: Make `DisplayPropertyMap` immutable
2023-06-18 07:50:10 +03:00
Toad06
22ae6bfec3
avm1: Correct `WaitForFrame` and `WaitForFrame2` actions
2023-06-17 19:23:18 -05:00
Lord-McSweeney
b02d8900c5
avm2: Remove or validate some uses of coerce_to_object
2023-06-17 22:40:14 +02:00
Adrian Wielgosik
6ccb6e7fdd
Revert "avm2: Throw TypeError when 'astype' receives a null/undefined class"
...
This reverts commit ce0ba7795c
.
2023-06-17 22:40:14 +02:00
Crowdin Bot
ca549e482c
chore: Update translations from Crowdin
2023-06-17 19:25:33 +02:00
renovate[bot]
7a21756ddb
chore(deps): lock file maintenance rust dependencies
2023-06-17 11:00:52 -05:00
Nathan Adams
6208c50273
core: Simplify TDisplayObject::swf_version(), we don't need to iterate the heirarchy
2023-06-17 10:37:13 +02:00
Aaron Hill
69fce3f7f8
wpgu: Initial implementation of PixelBender shader execution ( #11441 )
...
* wpgu: Initial implementation of PixelBender shader execution
The implementation is split across four crates:
* `ruffle_render` now holds the main PixelBender bytecode parsing
implementation (previously, this was in `ruffle_core`).
* `ruffle_core` holds some helper functions for converting between
AVM2 `Value`s and the PixelBender vector types.
* `naga-pixelbender` (newly created) constructs a Naga `Module`
from parsed PixelBender bytecode
* `ruffle_render_wgpu` sets up the render pipeline for the shader
constructed by `naga-pixelbender`, and actually executes the shader.
The Actionscript-side shader parameters are passed in through uniforms.
This allows us to cache the compiled `naga::Module` and associated
wgpu types inside `ShaderData`, when it's first created. Each invocation
of a `ShaderJob` only needs to create a bind group and render pass.
Limitations:
* Only a few of the PixelBender opcodes are implemented - however, this is
enough to get Stemlands cannon rotation working, as well as a cool
"donut" shader that I found and included as a test.
* PixelBender matrix types are not supported.
* Only BitmapData is supported as an input/output type - Flash Player
also supports using Vector and ByteArray
* ShaderJob execution is always synchronous.
* Adjust comments
* Address review comments
2023-06-15 22:50:24 +00:00
Lord-McSweeney
b998fc0197
avm2: Minimal stub of ShaderFilter
2023-06-15 16:42:12 -05:00
renovate[bot]
fc933f485f
fix(deps): update wasm-bindgen
2023-06-15 20:50:04 +02:00
Aaron Hill
f257979b86
avm2: Use a separate domain for playerglobals
...
We create a separate child domain, which is accessible
from the Stage and the root movieclip.
This prevents ActionScript from loading classes into the
special playerglobals domain (Domain.parentDomain is modified
to return null instead of the playerglobals domain when applicable),
so the native method lookup logic will never run for user code.
2023-06-15 12:57:39 -05:00