nosamu
315a7c87e5
core: Focus EditText fields only if editable
2023-04-03 23:27:18 -07:00
Mike Welsh
63aa67d196
tests: Add test for `Matrix3D.transformVector` and `deltaTransformVector`
2023-04-03 17:09:16 -07:00
Mike Welsh
bde9765864
avm2: Implement `Matrix3D.transformVector` and `deltaTransformVector`
2023-04-03 17:09:16 -07:00
Mike Welsh
549a06d00f
wgpu: Slight optimization to color shader
...
The color doesn't change per pixel, so calculate the color in the
vertex stage instead of the fragment stage.
2023-04-03 14:33:37 -07:00
Nathan Adams
3a297f8adc
core: Iterate y then x in bitmapdata operations
2023-04-03 18:25:20 +02:00
Nathan Adams
2a9288870a
core: Made operations take in MutationContext instead of &mut UpdateContext where possible
2023-04-03 18:25:20 +02:00
Nathan Adams
4477d65331
core: Made overwrite_cpu_pixels_from_gpu take in MutationContext instead of &mut UpdateContext
2023-04-03 18:25:20 +02:00
Nathan Adams
e62e2a94e8
core: Move dummy() from BitmapData to BitmapDataWrapper
2023-04-03 18:25:20 +02:00
Nathan Adams
f9a9c05863
avm2: Made fill_bitmap_data_from_symbol return a BitmapDataWrapper, instead of taking in a BitmapData
2023-04-03 18:25:20 +02:00
Nathan Adams
ab534bab87
core: Rename BitmapData (of the stage variety) to BitmapGraphicData to separate it from BitmapData of the editable data variety
2023-04-03 18:25:20 +02:00
Nathan Adams
e1e4a01f13
avm2: Make BitmapDataObject::from_bitmap_data take BitmapDataWrapper
2023-04-03 18:25:20 +02:00
Nathan Adams
103158101a
avm2: Make Object::init_bitmap_data take in BitmapDataWrapper
2023-04-03 18:25:20 +02:00
Nathan Adams
a80a1422b0
avm2: Renamed bitmap_data_wrapper into bitmap_data
2023-04-03 18:25:20 +02:00
Nathan Adams
0f81d60db2
avm1: Removed BitmapDataObject::bitmap_data() as it's no longer used (or recommended to use)
2023-04-03 18:25:20 +02:00
Nathan Adams
7ffdcccf8a
avm1: Don't sync in BitmapData.loadBitmap()
2023-04-03 18:25:20 +02:00
Nathan Adams
f8ef01d2ef
avm1: Don't sync a bitmapdata to read its width or height
2023-04-03 18:25:20 +02:00
Nathan Adams
c037e014c2
avm1: Don't sync in new Bitmap(x)
2023-04-03 18:25:20 +02:00
Nathan Adams
e593541309
avm1: Don't sync bitmapdata when disposing it
2023-04-03 18:25:20 +02:00
Nathan Adams
f7da335083
avm2: Renamed as_bitmap_data_wrapper into as_bitmap_data
2023-04-03 18:25:20 +02:00
Nathan Adams
1521c7b6ee
avm2: Removed Object::as_bitmap_data() as it's no longer used (or recommended to use)
2023-04-03 18:25:20 +02:00
Nathan Adams
b1f7fecacb
avm2: Don't sync in new Bitmap(x)
2023-04-03 18:25:20 +02:00
Nathan Adams
444e256708
avm2: Made Bitmap.bitmapData not recreate a new BitmapDataWrapper every time its called
2023-04-03 18:25:20 +02:00
Tom Schuster
b0576c2155
avm2: Improve the Sound::extract stub
2023-04-03 00:22:23 -07:00
onkrot
d047ecb130
avm2: Add X509 certificate classes
2023-04-02 23:59:37 -07:00
renovate[bot]
cd3ad90d61
chore(deps): lock file maintenance rust dependencies
2023-04-02 22:00:49 -07:00
renovate[bot]
4eaf1b21e7
chore(deps): update rust crate embed-resource to v2
...
Co-authored-by: Mike Welsh <mwelsh@gmail.com>
2023-04-02 21:02:33 -07:00
Lord-McSweeney
d1b8ec7a7e
avm2: Stub Shader
2023-04-02 19:56:14 -07:00
Lord-McSweeney
c19031a6fc
avm2: Stub ShaderData
2023-04-02 19:56:14 -07:00
Aaron Hill
a2fa362091
wgpu: Implement double buffering for Context3D
...
This matches the Context3D docs. Calling 'present' swaps
the buffers.
I wasn't certain if we actually need a double-buffered depth
texture, but I included one just to be safe.
2023-04-02 19:24:23 -07:00
Aaron Hill
671ebdfa8f
wgpu: Execute Context3D commands immediately
...
Now that most of the complicated Context3D methods have been
implemented, we can simplify the overall design. Instead of queueing
up commands and having `present` execute them in a loop, we
can execute each command immediately. The key insight is that
a `RenderPass` is only needed for `DrawTriangles`, so we don't
have to store it in `Context3D` and deal with complicated lifetime
issues.
The old behavior gave us implicit double-buffering behavior,
since nothing would get rendered until a 'present' call.
Now that a 'drawTriangles' call will immediately submit
a draw command, we need to implement actual double buffering.
This is done in the next commit.
2023-04-02 19:24:23 -07:00
Moulins
9441182b7d
avm2: move event dispatch error handling in a single place
...
The `Avm2::{dispatch, broadcast}_event` methods now log and swallow any
AVM2 error occuring during the dispatch, instead of repeating the
handling code for each caller.
This also introduces some behavioral changes:
- Errors messages are more consistent;
- For consistency with `broadcast_event`, `dispatch_event` panics if
given a non-event object to dispatch.
2023-04-02 16:52:42 -07:00
Udeshya
34775965ea
avm2: Implement `Transform.pixelBounds`
2023-04-02 23:25:10 +00:00
AllinolCP
f0a8e50be1
avm2: implement decodeURI
2023-04-02 14:49:07 -07:00
Tom Schuster
5a18a409f7
avm2: Only reject a single explicit namespace in XML
2023-04-02 16:09:03 -05:00
Toad06
35528913bf
core: Make `ExternalInterface` support undefined values
2023-04-02 13:48:14 -07:00
Toad06
5e14aabed6
core: Make `ExternalInterface` support undefined values in browsers
2023-04-02 13:48:14 -07:00
Lord-McSweeney
4777c13528
avm2: ByteArray should have toJSON defined on...
...
...its prototype.
2023-04-01 17:17:48 -07:00
Lord-McSweeney
58cbc38983
avm2: Use RegExp.valueOf in RegExp.toString
...
This fixes flag ordering issues
2023-04-01 13:49:41 -07:00
Lord-McSweeney
17ebb8c5bc
avm2: Add RegExp.prototype.toString
2023-04-01 13:49:41 -07:00
Lord-McSweeney
ab6d5006b4
avm2: Make sure RegExp prototype is not enumerable
2023-04-01 13:49:41 -07:00
Lord-McSweeney
18bff18d0b
avm2: Fix QName's prototype
2023-04-01 13:49:41 -07:00
Tom Schuster
86395f194f
avm2: Strip BOM in ByteArray::toString
2023-04-01 12:48:22 -07:00
Aaron Hill
7809000170
wgpu: Fix filter texture copy size calculation
...
I incorrectly changed this in #10373
Fixes #10380
2023-04-01 11:04:55 -05:00
relrelb
d9feadce00
web: Run `npm run format`
...
In order to fix Stylelint's new `media-feature-range-notation` rule:
https://stylelint.io/user-guide/rules/media-feature-range-notation/
2023-04-01 13:11:23 +03:00
relrelb
479926cdba
web: Migrate to TypeScript 5.0.0
...
Work around the newly introduced `--verbatimModuleSyntax` flag:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#verbatimmodulesyntax
2023-04-01 13:11:23 +03:00
renovate[bot]
0e887411cc
chore(deps): update node.js dependencies
2023-04-01 13:11:23 +03:00
Daniel Jacobs
4c50e2c271
demo: Add option to reload the current SWF
2023-04-01 01:46:03 -07:00
Aaron Hill
6ce6fd1681
avm2: Use custom_unescape wherever we unescape XML
...
When we were using a fork of quick-xml, we modified the actual
unescape method. Now that we're using the crates.io release again,
we need to go through our `custom_unescape` function.
2023-04-01 02:25:24 -05:00
renovate[bot]
4fbbf994fe
chore(deps): update github actions dependencies
2023-03-31 23:03:07 -07:00
Aaron Hill
18f5ba18e9
core: Don't overwrite font descriptor with a duplicate
...
If a SWF contains multiple DefineFont tags with the same
font name (but different font IDs), the first tag will win
when a font is looked up by *name*. This affects the behavior
of EditText objects, which can have embedded HTML like
`<font face="MyFontName">` which performs a font lookup by name.
This fixes Fancy Pants World 4 Part 3, which contains two
DefineFont3 tags with the name FancyFont. The second font is
missing many glyphs, so using it causes us to be unable to
render the squiggle and life count text.
2023-03-31 22:47:00 -07:00