Tom Schuster
72965b3689
amv2: Implement flash.xml.XMLNode removeNode
2023-10-30 14:30:59 +01:00
Tom Schuster
445643fedb
amv2: Implement flash.xml.XMLNode cloneNode
2023-10-30 14:30:59 +01:00
sleepycatcoding
fb3c4cd307
avm2: Fix E4X [[Replace]] implementation bug
...
We were incorrectly returning for XML attributes. Fixes #13780 .
2023-10-30 14:05:23 +01:00
sleepycatcoding
5bebebddbe
avm2: Add SWFv21 and above XML special case
2023-10-29 09:43:14 -07:00
nosamu
6f5eb48ec2
avm2: Fix return value of SharedObject.flush
2023-10-29 16:08:24 +01:00
Nathan Adams
878f1fc64e
swf: Removed ButtonAction::key_code and fixed writing button tags
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
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
0c0b86c008
core,web: Replace `instant` with `web-time`
2023-10-28 03:01:45 +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
michiel2005
333009b79f
avm1: Implement key.isToggled()
2023-10-26 17:39:14 -04:00
Tom Schuster
444af0eaf4
avm2: Add AIR flash.system::ImageDecodingPolicy
2023-10-26 08:54:31 +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
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
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
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
Lord-McSweeney
043f7cdea7
chore: appease clippy
2023-10-21 11:41:57 -07:00
Lord-McSweeney
901d84b2cf
avm2: Fix defining const slots on global object
2023-10-21 11:41:57 -07:00
Lord-McSweeney
18c53694cb
avm2: Implement Error 1070
2023-10-21 11:41:57 -07:00
Lord-McSweeney
b1056311f0
avm2: Implement Error 1112
2023-10-21 11:41:57 -07:00
Lord-McSweeney
5d2d8e080a
avm2: Pass around Mutation instead of Activation in some places
2023-10-21 11:41:57 -07:00
Aaron Hill
5d4e851a6e
avm2: Throw ArgumentError when calling function with wrong arg count
...
Some SWFs rely on catching the error.
In order to reproduce Flash's error messages, we now store a `QName`
in `FunctionObject`, which is set when we make a bound method.
2023-10-21 00:18:50 -04:00
Crowdin Bot
94174b30fe
chore: Update translations from Crowdin
2023-10-20 21:10:35 +02:00
sleepycatcoding
c87ac6f5f5
avm2: Replace culling panic messages with stub messages
...
A stub message is good enough.
2023-10-20 20:45:45 +02:00
Nathan Adams
feacbdc118
core: <font> tag in text should reset the style to Regular
2023-10-20 12:41:15 +02:00
Nathan Adams
b2a43cb1f7
core: Add style to edittext debug UI
2023-10-20 12:41:15 +02:00
Nathan Adams
64385efe48
core: Use correct embedded font fallback order + tests
2023-10-20 12:41:15 +02:00
sleepycatcoding
8b5b135a2d
avm2: Do not panic in XMLList call handler
2023-10-19 20:52:33 +02:00
sleepycatcoding
8021efaabc
avm2: Do not panic in XML call handler
...
This panic occurred when the call handler was passed zero arguments.
2023-10-19 20:52:33 +02:00
sleepycatcoding
5da09c137e
avm2: Implement QName call handler
2023-10-19 11:46:31 +02:00
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
TÖRÖK Attila
627e8c8063
core: Switch dasp from a git revision to v0.11.0
2023-10-17 21:31:18 +02:00
Adrian Wielgosik
a8ea913bf6
avm1: Store childNodes on the node itself
2023-10-16 11:25:48 +02:00
renovate[bot]
b427940431
fix(deps): update rust dependencies
2023-10-16 09:51:22 +02:00