Commit Graph

10814 Commits

Author SHA1 Message Date
Nathan Adams 1ff23cdd77 swf: Fixed writing DefineFontInfo tags with wide chars 2023-10-29 14:31:45 +01:00
Nathan Adams 11e1d2f6be swf: Fixed writing out DefineText2 (we previously wrote it as DefineText 1) 2023-10-29 14:31:45 +01:00
Nathan Adams 878f1fc64e swf: Removed ButtonAction::key_code and fixed writing button tags 2023-10-29 14:31:45 +01:00
Nathan Adams 5b41db9138 swf: Fixed writing bevel filters 2023-10-29 14:31:45 +01:00
Lord-McSweeney 911f1c29db avm2: Correctly set `caller_movie` in `Activation::from_script` 2023-10-28 21:30:40 -04:00
Aaron Hill 46320c6238
wgpu: Round down Context3D sample count to nearest power of 2 (#13762) 2023-10-29 00:18:52 +00:00
Aaron Hill cc49aaee58 avm2: Add UTF-16 BOM handling to ByteArray.toString
When a UTF-16 BOM is present, ByteArray.toString automatically
strips it out, and treats the remaining data as a UTF-16 string
with the specified endianness.
2023-10-29 01:13:05 +02:00
Tom Schuster ef627babfd avm2: Stub undocumented XML notification functions 2023-10-28 14:17:34 -07:00
Aaron Hill 84f788c2d2
avm2: Use RawTable to implement 'public index' iteration (#12470)
* avm2: Use RawTable to implement 'public index' iteration

This makes our implementation more closely aligned with avmplus.
In particular, it's now possible to delete keys from an object
while iterating without disturbing the iteration order (as long
as those keys were already produced by the iterator).

This is based on @Bale001's work on RawTable-based iteration

A few tests had their output changed (they depend on the exact
object iteration order, and don't neccessarily match Flash Player
exactly).

* Use Cell to store index fields

* Remove outdated comment
2023-10-28 20:44:01 +00:00
Tom Schuster 33dde1eccf avm2: Ignore a missing [[TargetProperty]] when assigning an XMLList 2023-10-28 08:18:15 -07:00
Tom Schuster 08d6a7b648 avm2: Reimplement XML.appendChild in terms of [[Get]] and [[Put]] 2023-10-28 08:18:15 -07:00
TÖRÖK Attila 7cec9ed969 chore: Add `--locked` to all `cargo build` invocations 2023-10-28 14:07:39 +02:00
TÖRÖK Attila 0c0b86c008 core,web: Replace `instant` with `web-time` 2023-10-28 03:01:45 +02:00
TÖRÖK Attila ac93947c22 web: Clean up nonsensical feature setup of the ruffle_core dependency 2023-10-28 02:34:07 +02:00
renovate[bot] 997ad1643a chore(deps): update node.js dependencies 2023-10-27 23:40:04 +02:00
sleepycatcoding ed6fa6b2fe avm2: Support indices in XMLList.child 2023-10-27 22:53:16 +02:00
sleepycatcoding d9dad1109a avm2: Fix many uses of XmlListObject::new 2023-10-27 22:53:16 +02:00
sleepycatcoding 34b80a41b5 avm2: Take Mutation instead of Activation in append
There is no need for a full on activation in append.
2023-10-27 22:53:16 +02:00
sleepycatcoding 9d7f0a2bcc avm2: Add target_dirty flag and use it to reevaluate target object 2023-10-27 22:53:16 +02:00
Daniel Jacobs 2eeee80646 web: Switch click and pointer events to act on element and not window 2023-10-27 15:55:16 -04:00
sleepycatcoding fc0f03a687 swf: Fix writing of a DefineButton2 with zero actions
Previously, `swf` crate always wrote out the action offset, but this should be 0 when there are no actions.
2023-10-27 20:27:12 +02:00
TÖRÖK Attila c5b9239d08 nit: Fix tool name in error message of extension build
This is a fixup for https://github.com/ruffle-rs/ruffle/pull/13733.

I always confuse these things, and notice these minor mistakes an hour after merging. _Gosh hecking darn it!_
2023-10-27 20:06:39 +02:00
TÖRÖK Attila e770200dc6 web: Make the error message about a missing version seal more verbose 2023-10-27 15:58:15 +02:00
TÖRÖK Attila 4109047c20 web: Tidy up the Dockerfile for building the browser extension. Details:
- Add clang to the dependencies
- Migrate Node.js installation to their new recommended method
- Add some comments for each logical step
- Remove a redundant comment
- Remove some unnecessary semicolons
2023-10-27 15:58:15 +02:00
Crowdin Bot fd6568aa80 chore: Update translations from Crowdin 2023-10-27 00:49:17 +02:00
michiel2005 ee9237681b tests/avm1: Added test for key.isToggled 2023-10-26 17:39:14 -04:00
michiel2005 333009b79f avm1: Implement key.isToggled() 2023-10-26 17:39:14 -04:00
Daniel Jacobs 180d275f13 web: Check navigator.clipboard exists before using it 2023-10-26 13:01:55 -04:00
Tom Schuster 444af0eaf4 avm2: Add AIR flash.system::ImageDecodingPolicy 2023-10-26 08:54:31 +02:00
Daniel Jacobs 27831d7881 web: Make ruffle-player inherit pointer-events from parent 2023-10-25 17:03:44 -04:00
Nathan Adams 1a85380344 ci: Fix edge publishing 2023-10-24 14:43:54 +02:00
Aaron Hill d5da655f8f avm2: Fix setting frontAndBack culling
The name uses camel case, not snake case.
2023-10-23 18:44:48 -04:00
Aaron Hill 3a75502a36 avm2: Implement DisplayObjectContainer.getObjectsUnderPoint 2023-10-23 18:01:08 -04:00
Aaron Hill b5097445e6 render: Add support for Context3DTextureFormat.COMPRESSED_ALPHA
This is our first non-rgba texture format (it uses Bc3RgbaUnorm).
ATF files store these textures in a very convoluted way - fortunately,
the 'dds2atf' tool is open-source, which allowed me to figure out
how to decode the texture back to a DXT5/DXT1 texture.
2023-10-23 11:18:27 -04:00
sleepycatcoding bb053df30b avm2: Implement XMLList.parent 2023-10-23 15:46:47 +02:00
sleepycatcoding 2745efe2b1 avm2: Throw error 1010 when null/undefined is given to name_to_multiname 2023-10-23 15:26:37 +02:00
Nathan Adams e0f74605c4 ci: Release nightlies automatically to Edge 2023-10-23 15:05:27 +02:00
TÖRÖK Attila 2fcbba49f1 ci: Set up cargo-deny 2023-10-23 13:25:03 +02:00
renovate[bot] 7b3ae30fbf fix(deps): update rust crate async-io to v2 2023-10-23 13:05:02 +02:00
Crowdin Bot 1ca5f714f9 chore: Update translations from Crowdin 2023-10-23 03:21:14 +02:00
renovate[bot] cd01bfe7d6 fix(deps): update rust dependencies 2023-10-23 02:55:11 +02:00
sleepycatcoding 10cf247315 avm2: Fix incorrect XMLList method signatures 2023-10-22 15:16:51 -04:00
Tom Schuster 172c1057bb avm2: XML objects must support lookups like "@attr" 2023-10-22 14:28:22 -04:00
Lord-McSweeney 47442ddd32 tests: Add a test for `textInput` event 2023-10-22 08:01:18 -07:00
Lord-McSweeney d23346271e core/avm2: Implement TextEvent.TEXT_INPUT 2023-10-22 08:01:18 -07:00
sleepycatcoding 0745968c49 avm2: Fix ifstricteq and ifstrictne comparisons
Unlike strict_equals they were comparing with just `==`, which is not entirely correct,
since objects like XmlObjects need special cases.
2023-10-22 00:23:51 -04:00
Lord-McSweeney 5f217a6b9a avm2: Improve quick_xml to AVM2 XML error conversion 2023-10-21 11:41:57 -07:00
Lord-McSweeney 4de186e18a tests: Activate passing test 2023-10-21 11:41:57 -07:00
Lord-McSweeney 18fb1cd6d1 avm2: Fix Vector call handler error 2023-10-21 11:41:57 -07:00
Lord-McSweeney 0c6a0e80af avm2: Add class call handlers for Boolean, Number, and (u)int 2023-10-21 11:41:57 -07:00