If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : You can now close your own issues and reopen them later if needed. You can also comment closed issues.
List of issues#2770 Edit ActionScript splits Push into multiple
Author:
Xkower8181
Xkower8181Date created:
Type: feature
Visibility: Everybody
Assigned to:
Labels: AS1/2Direct Editation
State: upgraded 

> What steps will reproduce the problem?
1. Open the singular DoAction tag from the attachment. (I tested it across some SWFs in
SWF versions 6, 7 and 8, all had the same result)
2. Do any edit via "Edit ActionScript" button (it can be as simple as adding whitespace,
just need to get it to be able to save the changes and let FFDec take effect in trying to
compile the AS code).
3. Presto, your Push opcode became two/many!
> What is the expected output? What do you see instead?
The expected output should be the Push operand retaining all it's parameters rather than
each value getting it's own Push opcode.
Example:
Push register1, constant1, 0.0, register1, constant2
instead of
Push register1
Push constant1
Push 0 (note, ignore the 0.0 double becoming an integer 0, this doesn't bother me or my
code)
Push register1
Push constant2
Technically I don't think this is much of a big issue, aside from being wasteful in terms
of how much space the multiplied Push opcodes take up and for my purposes where I insert
the AVM1 P-code back inside the game I'm modding, I don't wanna be wasteful with the
filesize.
I don't know every quirk of AVM1, could this be a preventative measure for some sort of
bug?
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
FFDec version 26.3.0 (Flatpak version). Arch Linux x86_64 (Linux 7.2.6-arch2-1)
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
I was working on a converter from a proprietary file format from a game that contained
AVM1 bytecode back to SWF, but I recently switched gears to only wanting to inject new
AVM1 bytecode as doing the "movie" parts of the format (which those parts also have
parallels to the SWF format) proved a little too tricky to cleanly convert to SWF (thus
for it to be actually useful for editing the proprietary file format in question), let
alone think about converting every aspect of SWF back to said format.
My current plan is just to make editing the P-Code easier by turning it into a
higher-level language by utilizing FFDec as both an AS decompiler and compiler. (But I
understand if FFDec is decompiler first and compiler like sixth).
GitHub commit - feat(as1/2 direct editor): group subsequent pushes (#2770)
Upcoming nightly version: 3609
Nightly version 3609 released.
In nightly 3609 we group subsequent pushes in ActionScript direct editor (SWF version 5
onwards)
State: new→upgraded
Type: bug→feature
Type: bug→feature
Before_AS_edit.png