Marco Bartoli
5ae3be3ac9
avm2: Ignore version marks in non-playerglobal namespaces
2024-02-01 21:50:26 +00:00
Kamil Jarosz
4154a0945d
text: Implement advanced horizontal text controls for EditText
2024-02-01 20:18:29 +01:00
Kamil Jarosz
0657d2daa2
text: Add advanced horizontal text control codes
2024-02-01 20:18:29 +01:00
Kamil Jarosz
b39919951b
wstr: Add UTF-8/UTF-16 index mapping
...
Methods `utf8_index` and `utf16_index` from `WStrToUtf8`
may be used to map code unit indices between UTF-8 (str)
and UTF-16 (WStr) strings.
2024-02-01 20:18:29 +01:00
Nathan Adams
50dedc3cb9
avm1: Invalidate cacheAsBitmaps when using Color API
2024-02-01 19:27:33 +01:00
Lord-McSweeney
2ccad62378
core: Implement `focusIn` `FocusEvent` for AVM2 ( #14723 )
2024-02-01 08:22:36 +00:00
Aaron Hill
78873e3670
avm2: Add new 'stub-report' binary crate
...
This writes the AVM2 stub report to the specified path.
2024-01-31 20:22:06 -05:00
Nathan Adams
25b5c7b4e2
avm2: Track progress of avm2 and generate an implementation.json
2024-01-31 20:22:06 -05:00
Robert Setter
abc8815445
avm1: Match random behaviour to avm2
2024-02-01 00:19:21 +01:00
Lord-McSweeney
e656ebf6ac
avm2: Stub `flash.system::MessageChannel`
2024-01-31 09:24:42 -08:00
Adrian Wielgosik
4971f5be2d
avm2: Prevent chained dependent strings
2024-01-30 23:21:37 +01:00
Adrian Wielgosik
ecbb0f92f1
avm2: Add small string store to interner, expand use
2024-01-30 23:21:37 +01:00
Adrian Wielgosik
7aa95fe463
avm2: Dependent strings POC
2024-01-30 23:21:37 +01:00
Aaron Hill
12c47047b8
debug_ui: Display 'Movie' button on 'Class Info' panel
2024-01-30 17:26:05 +01:00
renovate[bot]
3737725a21
fix(deps): update rust dependencies
2024-01-30 09:23:15 +01:00
Lord-McSweeney
dbc1015ef5
avm2: Resolve review comments and fix verifier brokenness
2024-01-29 22:48:00 -08:00
Lord-McSweeney
8b29ceaafa
avm2: Write a `make_error_1032` function and use it
2024-01-29 22:48:00 -08:00
Lord-McSweeney
c1c3351654
avm2: `Op::Coerce` should not accept a 0-index `Multiname`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
fcf83d7dd9
avm2: Properly verify constant pool lookups for `Op::Coerce` and `Op::AsType`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
442391ea60
avm2: Fix a minor bug where `CoerceD` was removed after `Inc`/`DecLocal`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
7b853a8cd9
avm2: One more lazy multiname fix
2024-01-29 22:48:00 -08:00
Lord-McSweeney
ce41362b1e
avm2: Fix some potentially-failing unwraps and broken code in the verifier
2024-01-29 22:48:00 -08:00
Lord-McSweeney
50b752c35b
avm2: Add longer comment to logic to determine register types
2024-01-29 22:48:00 -08:00
Lord-McSweeney
dd35e4862f
avm2: Fix crash when `Coerce`/`AsType` used a lazy multiname
2024-01-29 22:48:00 -08:00
Lord-McSweeney
dd82126448
avm2: Optimize unnecessary `Coerce` when it comes after `PushString`, `NewArray`, and `NewFunction`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
f99c5621ee
avm2: Add more ops that are guaranteed to not throw errors to `verify::ops_can_throw_error`
...
This requires a minor change to `Activation::op_lookup_switch`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
6be4918d77
avm2: Resolve reviews
2024-01-29 22:48:00 -08:00
Lord-McSweeney
e6c5ba51e4
avm2: Optimize `Coerce` out when it comes right after another `Coerce` pointing to the same cpool entry
2024-01-29 22:48:00 -08:00
Lord-McSweeney
28edee498b
avm2: Make `verify_code_starting_from` use a worklist instead of running recursively
...
This fixes a stack overflow on one test.
2024-01-29 22:48:00 -08:00
Lord-McSweeney
b4f016c1cd
avm2: Add `CoerceU` op optimizations
2024-01-29 22:48:00 -08:00
Lord-McSweeney
30f99bcd19
avm2: Add optimizations for `Coerce` and `AsType` after `PushNull`, fix `optimize` panicking when out-of-bounds local registers are mentioned
2024-01-29 22:48:00 -08:00
Lord-McSweeney
3f76b248e9
avm2: Remove `Label` op since it is only relevant to the verifier, inline `CoerceA` and `Nop`
2024-01-29 22:48:00 -08:00
Lord-McSweeney
8e997f0131
avm2: Optimize a GetProperty after a GetLocal0 to GetSlot or CallMethod
2024-01-29 22:48:00 -08:00
Lord-McSweeney
8d3847b216
avm2: Add default xml namespace handling opcodes since several SWFs mention them but don't actually use them
2024-01-29 22:48:00 -08:00
Lord-McSweeney
c4a3b3f49f
avm2: Implement simple Op::CoerceX optimizations
2024-01-29 22:48:00 -08:00
Lord-McSweeney
f9fb739460
avm2: Record all possible jump targets, remove Convert-B/D/I/U opcodes since those are equivalent to the corresponding CoerceX opcodes
2024-01-29 22:48:00 -08:00
Lord-McSweeney
2022321a03
avm2: Add an `Op` enum to AVM2; pre-pool double/uint/ints for `pushX` opcodes
2024-01-29 22:48:00 -08:00
Lord-McSweeney
65848104a6
avm2: Implement verifier based off Adrian's initial work
2024-01-29 22:48:00 -08:00
Aaron Hill
1cf669c75e
avm2: Convert invalid rectangle to zero rectangle in getBounds
2024-01-29 13:25:16 -05:00
Aaron Hill
f31d9bc491
avm2: Make Math.random() more closely match Flash Player
...
See the comments for details. Our previous implementation
was 'too good', and broke Bloons Tower Defense 5 by
generating `Number`s that Flash Player would never generate.
2024-01-28 22:46:19 -05:00
Fancy2209
f2880975ba
avm2: Report OS as Windows instead of Linux for now ( #14985 )
2024-01-28 22:10:54 +00:00
Aaron Hill
5b685d411f
chore: Fix nightly Clippy lints
2024-01-28 16:03:29 -05:00
Tom Schuster
b8d8aafe89
avm2: Implement the remaining flash.net.FileReference properties
2024-01-28 17:14:10 +01:00
Adrian Wielgosik
4981cbd89b
avm2: Avoid double lookup in setPropertyIsEnumerable
2024-01-27 16:51:17 +01:00
Crowdin Bot
4769a45999
chore: Update translations from Crowdin
2024-01-26 22:54:04 +01:00
Tom Schuster
7a73dd0661
avm2: Only use embedded CFF fonts for TLF
2024-01-26 21:57:48 +01:00
sleepycatcoding
36fc30e283
debug_ui: Do not render container as collapsible if it has no children
2024-01-26 20:34:49 +01:00
Moulins
ac7086528f
avm1: Implement proper behavior for Gradient***Filter array setters
...
Among other things:
- resizing `colors` should also resize `alphas` and `ratios`
- shrinking `ratios` should also shrink `colors` and `alphas`, but
growing it doesn't change the size
2024-01-26 18:40:06 +01:00
Moulins
19ff294e60
avm1: Follow FP 32 (not FP 11) behavior for ColorMatrix/ConvolutionFilter
2024-01-26 18:40:06 +01:00
Moulins
bd2165bd0f
swf: Properly read/write ConvolutionFilters; these contain f32s, not Fixed16s
2024-01-26 18:40:06 +01:00