Commit Graph

4062 Commits

Author SHA1 Message Date
Jindra Petřík
2bc1c4e012 perf: optimize recursion, avoid stackoverflow on larger scripts (#2672) 2026-04-06 21:06:19 +02:00
Jindra Petřík
cd8a9dbdad fix: allow add breakpoints on large classes (#2672)
Large classes reach syntax highlighting limit and the editor
is switched to plain mode. We introduced new text/plaindebug
type that adds breakpoints panel even for plain documents.

Fixes #2672
2026-04-06 21:06:19 +02:00
Jindra Petřík
7d18834c81 feat!: redesigned loop detector (#2542)
Instead of walking code structures to get loops,
the loops are populated by new faster algorithm.
Also, we do not join adjacent GraphParts anymore
in non-obfuscated code.
For proper switch handling, the code is decompiled
in two passes everytime (Previously, the second pass
was used only sometimes).
In first pass we do not process ifs as it may break
switch detection. Second pass is executed after we know
the switches position.

Fixes #2542
2026-04-06 21:06:19 +02:00
Jindra Petřík
a52126472a fix: stackoverflow on circular importassets (#2666)
Fixes #2666
2026-04-06 21:06:19 +02:00
Jindra Petřík
735dc148e6 fix: as3 deobfuscation - null values instead of registers (#2568, #2665)
Fixes #2568, #2665
2026-04-06 21:06:19 +02:00
Jindra Petřík
c91543e9f5 fix: nullpointer on as3 deobfuscation 2026-04-06 21:06:19 +02:00
Jindra Petřík
00dd23170e chore: fix regression of -- operator in nightly build (#2664)
Fixes #2664
2026-04-06 21:06:19 +02:00
Jindra Petřík
053501b8da fix: deadlock on getcharacters vs drawframe (#2492)
Fixes #2492
2026-04-06 21:06:19 +02:00
Jindra Petřík
0942d7d96d fix: push commands in as2 left in code (#2654)
If the code does not contain any §§pop() instructions,
then all §§push instructions are converted to their
values with comment "unpopped".

Fixes #2654
2026-04-06 21:06:19 +02:00
Jindra Petřík
4c78d49090 perf: faster calculate max depth frame, skip morph detection (#2662)
Fixes #2662
2026-04-06 21:06:19 +02:00
Jindra Petřík
3663a1e2e4 fix: font normalizer uses 1024em (#2661)
Fixes #2661
2026-04-06 21:06:19 +02:00
Jindra Petřík
66a42d1116 test: missing test 2026-04-06 21:06:19 +02:00
Jindra Petřík
6d605dc4a0 test: as1/2 maintain push order 2026-04-06 21:06:19 +02:00
Jindra Petřík
729d754ca0 fix: as1/2 maintain push order, temp variables usage 2026-04-06 21:06:19 +02:00
Jindra Petřík
3bce48a87f fix: font normalizer axis flip (#2657)
Fixes #2657
2026-04-06 21:06:19 +02:00
Jindra Petřík
65a47bbda3 test: add as2 direct edit test (+ expected folder for it) 2026-04-06 21:06:19 +02:00
Jindra Petřík
db9cd78e2c fix: direct edit properties with getters/setters (#2655)
Fixes #2655
2026-04-06 21:06:19 +02:00
Jindra Petřík
2ebdd4e166 fix: visitable variable action item 2026-04-06 21:06:19 +02:00
Jindra Petřík
4932cbd2fa refactor: implement isFreeing on cache
[ci skip]

Closes #2118
2026-03-04 20:18:02 +01:00
Jindra Petřík
cde7b927ef refactor: Remove MyMap, MySet
[ci skip]
2026-03-04 20:18:02 +01:00
Jindra Petřík
ee08cf4c22 Fixed: #2653 Check for WEBP availability in CLI
Updated WEBP library to version 2.1.1
2026-03-04 20:18:02 +01:00
Jindra Petřík
d487ef7064 Fixed: #2651 Loop breaks detection 2026-03-04 20:18:02 +01:00
Jindra Petřík
29ead369bf SVG export - Gradient glow filter
SVG filters refactoring
2026-03-04 20:18:02 +01:00
Jindra Petřík
85c7405a4d Added: SVG export - Gradient bevel filter
Fixed SVG blur kernelUnitLength
2026-03-04 20:18:02 +01:00
Jindra Petřík
6b4f22f9bf Fixed: #2649 SVG export - blur scaling (on supported browsers)
Changed: #2649 SVG export - using gaussian blur instead of box blur with convolution matrix (Can be turned off in the settings)
2026-03-04 20:18:02 +01:00
Jindra Petřík
0ccacf3865 Added: AS3 ambiguous namespace detection (back again)
Fixed: #2514 AS3 direct editation - problems with namespaces
2026-03-04 20:18:02 +01:00
Jindra Petřík
92e43cb615 Added: AS3 Direct editation - Error when accessing inaccessible namespace
Fixed: AS3 goto definition missing some namespaces
AS3 debug game testdata with debug info
2026-03-04 20:18:02 +01:00
Jindra Petřík
d3eb321ddc Added: #2644 Debugger - Button to sort variables alphabetically 2026-03-04 20:18:02 +01:00
Jindra Petřík
5f077bd505 Fixed: AS3 direct editation - proper use conver/coerce instruction
Fixed: AS3 direct editation - use coerce_f for float values
2026-03-04 20:18:02 +01:00
Jindra Petřík
1489bf5c88 Added test for direct editing 2026-03-04 20:18:02 +01:00
Jindra Petřík
98cd95c8c7 Fixed: #2643 APNG export - images containing multiple IDAT chunks 2026-03-04 20:18:02 +01:00
Jindra Petřík
42ac10e468 Changed: #2642 Sprite SWF export - do not export as SWF timeline, use DefineSprite tag and PlaceObject of it 2026-02-23 21:14:53 +01:00
Jindra Petřík
ba7c762537 Fixed: AS3 slow decompilation caused by ambiguios namespace detection 2026-02-23 09:21:44 +01:00
Jindra Petřík
87f94768a0 Added: Debugger - Remove watch
Added: Debugger - List of watches
Added: Debugger - Show flag of watch type (read/write)
Fixed: Debugger - Threading issues with multiple SWFs
Fixed: Debugger - Reading variables on 64bit flash players (like in browsers)
Enhanced debug game test SWFs
2026-02-22 18:33:27 +01:00
Jindra Petřík
1e5e51b003 Fixed: Debugger - Threading issues with multiple SWFs 2026-02-21 12:45:28 +01:00
Jindra Petřík
f48e8e6390 Fixed: #2639 Export to FLA - missing sound streams 2026-02-20 11:23:46 +01:00
Jindra Petřík
417ffda416 Fixed: Using public/private/protected/internal keywords on ambiguous namespace references
and compiling such keywords with `::` suffix.
2026-02-19 20:54:52 +01:00
Jindra Petřík
056113c454 test fix 2026-02-18 23:58:23 +01:00
Jindra Petřík
5af558e5b2 Checkstyle fix 2026-02-18 23:50:42 +01:00
Jindra Petřík
0a4e53f455 Fixed: #2636 ActionScript 3 - type coercion / convert, local registers type propagation 2026-02-18 22:37:55 +01:00
Jindra Petřík
fab6defe9c Fixed: #2636 ActionScript - switches vs loop breaks 2026-02-18 19:46:35 +01:00
Jindra Petřík
7bc96f67f3 Fixed: AS3 property resolving for KIND_NAMESPACE (like builtin for Strings, etc.) 2026-02-18 09:50:26 +01:00
Jindra Petřík
ad727716fa Fixed: #2636 ActionScript - Incorrect always-break detection causing insertion of while(true)
Fixed: #2636 ActionScript 3 - Incorrect switch detection
2026-02-18 03:41:28 +01:00
Jindra Petřík
e7ec368ea6 Tests fix 2026-02-17 21:58:23 +01:00
Jindra Petřík
6a01ad3180 Square brackets is optional 2026-02-17 21:51:10 +01:00
Jindra Petřík
114f774672 Added: #2636 AS3 QName properties with nonvalid identifiers handled as square brackets 2026-02-17 20:50:57 +01:00
Jindra Petřík
8f248875fb Fixed: ConcurrentModification in abc indexing 2026-02-17 19:49:15 +01:00
Jindra Petřík
d8e569945b Fixed: StackOverflow on cyclic chyracters 2026-02-17 19:47:49 +01:00
Jindra Petřík
594f4aa58a Sample game for debugging. 2026-02-17 18:13:02 +01:00
Jindra Petřík
fe28187a97 Fixed: #2636 ActionScript - Incorrect always-break detection causing insertion of while(true)
Fixed: ActionScript - newline after do..while
2026-02-17 18:12:02 +01:00