Aaron Hill
fd4d6921d8
avm2: Don't stop root movie clip, even if it doesn't extend `MovieClip`
...
Normally, Flash Player will ignores frames for a movie clip with
a symbol class that doesn't extend `MovieClip` (e.g. it extends
`Sprite`). However, the root movie appears to have frame run
unconditionally, even if it only extends `Sprite`. This can
be observed by adding a Graphics child in the second frame only -
the child will flicker in and out as the player switches between
frames, but only for the root movie clip.
Seedling relies on this behavior - it has `DoAbc2` tags in the second
frame, and has a main `Preloader` class that extends `Sprite`.
2023-10-18 09:28:50 -04:00
Aaron Hill
62e9eb9d6f
avm2: Remove unnecessary '&mut self' from Object methods
2023-09-05 17:30:28 -04:00
Nathan Adams
f00671e9cc
core: Fix rendering masks + scrollRects when cacheAsBitmap
2023-08-16 16:34:24 +02:00
sleepycatcoding
f4d42ac75a
chore: fmt
2023-08-16 16:11:57 +02:00
sleepycatcoding
e1bc8ed269
core: Replace usages of MutationContext with Mutation
2023-08-16 16:11:57 +02:00
Nathan Adams
5e1a30cf4a
core: Fix avm2 button bounding box when using scroll rects
2023-08-13 14:14:34 +02:00
Nathan Adams
adda66723e
core: Use filters to calculate render sizes of objects
2023-08-12 13:00:27 +02:00
Nathan Adams
1a4a808c23
render: Make Filter::calculate_dest_rect work in Twips
2023-08-12 13:00:27 +02:00
Nathan Adams
da090f0bd7
render: Move filter size calculation from wgpu to render/swf
2023-08-12 13:00:27 +02:00
Nathan Adams
d35b2b8b84
core: Inform Bitmaps to invalidate, if their backing BitmapDatas change
2023-08-12 11:56:18 +02:00
Nathan Adams
f55147d7c3
core: Override render_bounds_with_transform in Avm2Button
2023-08-11 11:23:03 +02:00
Nathan Adams
f7bc92366b
core: Don't invalidate self when mask changes
2023-08-11 11:23:03 +02:00
Nathan Adams
a9c5bdfbab
core: Better handle scroll_rect and/or masks with cacheAsBitmap
2023-08-11 11:23:03 +02:00
Adrian Wielgosik
f75b36a32a
core: Remove lots of uses of derive(Collect)
2023-08-04 21:43:18 +02:00
Aaron Hill
583caa3389
avm2: Implement DisplayObject.blendShader ( #12238 )
2023-07-26 23:25:26 +00:00
CUB3D
7346f9f6cb
avm1: Differentiate between clips with no name set and empty string names
2023-07-25 08:25:37 +02:00
Nathan Adams
289f73c85f
core: Add pixel snapping (default auto) to Bitmaps, and force it for cacheAsBitmap
2023-07-22 00:34:17 +02:00
nosamu
2ee127ccb6
core: Fix cacheAsBitmap size limit & remove print statement
2023-07-21 09:22:12 +02:00
Nathan Adams
67c33ef9c3
core: Disable cacheAsBitmap for swfs that are too large (depending on swf version)
2023-07-20 23:19:20 +02:00
Nathan Adams
b201e19cc7
wgpu: Don't create an extra fresh texture for applying filters to a CAB
2023-07-20 23:19:20 +02:00
Nathan Adams
e66f2397b5
core: Avoid some work in render_base if we're not cacheAsBitmap
2023-07-20 23:19:20 +02:00
Nathan Adams
f030680084
core: Don't invalidate self on changing blend mode
2023-07-20 23:19:20 +02:00
Nathan Adams
b6a8e0a471
core: Don't invalidate self on changing visibility
2023-07-20 23:19:20 +02:00
Nathan Adams
1fd8ca7bad
core: Reduce the amount of false-invalidations
2023-07-20 23:19:20 +02:00
michiel2005
8834b3b42b
Added changes as Adrian recommended
2023-07-14 16:51:07 -06:00
michiel2005
8141e7b54c
avm1: fix buttons that were not clickable after a goto
2023-07-14 16:51:07 -06:00
Nathan Adams
f150a32d86
core: Only scale filters with stage view matrix
2023-07-12 18:51:11 +02:00
Nathan Adams
30e7a1eac6
core: Account for filter size changes when drawing cacheAsBitmaps
2023-07-12 18:51:11 +02:00
Nathan Adams
d721072825
core: Extract DrawCacheInfo type from big tuple inside render_base
2023-07-12 18:51:11 +02:00
nosamu
17df97a59a
core: Fix panic from oversized bitmap warning
...
And warn only once per bitmap
2023-07-11 22:02:35 +02:00
Adrian Wielgosik
ffc6e2ffdc
core: Mark stack-heavy DO functions as noinline
2023-07-10 11:32:50 +02:00
Aaron Hill
61c50e636a
avm2: Convert `has_class_in_chain` to use a `GcCell<Class>` ( #11494 )
2023-07-07 16:22:38 -04:00
Nathan Adams
146d565c02
render: Add Filter::scale() and use it to scale filter values (currently just blur_)
2023-07-03 20:13:40 +02:00
Nathan Adams
a5915a9bdb
swf: Make Color Copy
2023-06-29 20:32:36 +02:00
Nathan Adams
628d8f66ad
render: Add filters to BitmapCacheEntry
2023-06-25 21:58:46 +02:00
MrCheeze
1baccb483a
core: Apply filters when modifying an object, not just when instantiating
2023-06-24 17:22:32 +02:00
Nathan Adams
6d77ff1fc4
core: Store just abcd fields of Matrix inside BitmapCache, as we don't use tx/ty
2023-06-24 01:42:04 +02:00
Nathan Adams
4f9cc4e3c4
core: Clear this on scrollRect, not just ancestors
2023-06-24 01:42:04 +02:00
Nathan Adams
668cc31fa4
chore: Comment changes regarding cacheAsBitmap
2023-06-24 01:42:04 +02:00
Nathan Adams
a5b28b50bf
core: Don't invalidate things more than once per frame, to avoid repeat walking of the DO tree
2023-06-24 01:42:04 +02:00
Nathan Adams
cdb0774642
core: Hook up DisplayObject::opaque_background
2023-06-24 01:42:04 +02:00
Nathan Adams
d94c73cebe
core: Rename bitmap cache methods and make clear which one is preference and which one is actual
2023-06-24 01:42:04 +02:00
Nathan Adams
9795fc9311
core: Invalidate ancestors on scrollRect changes
2023-06-24 01:42:04 +02:00
Nathan Adams
f81b1f83b9
core: Fix panic in recursive set_maskee/set_masker
2023-06-24 01:42:04 +02:00
Nathan Adams
1a9bec3062
core: Don't use cacheAsBitmap when bitmapdata.draw() as it'll keep reinvalidating it
2023-06-24 01:42:04 +02:00
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
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