+ update 2020: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means we will NOT develop new features and/or fix most of bugs. We left the tracker running in case somebody from community would like to work on it. Sorry for the inconvenience.
State: new new: Initial state. As long as issue is in this state, the work on the issue has not yet begun. opened: Opened state means developer started working on the issue. Feature/Fix will probably be in the next release. postponed: This means developer is not working on it now, for some reason it cannot be implemented now. Issue may be opened again in the future. upgraded: Issue is in upgraded state when developer made changes to the program and new version was released. closed: This means the user is satisfied with issue results and no more changes are needed. invalid: These issues cannot be solved. ignored: Developer decided to take no action on this issue. returned: Program changes were made but user is not satisfied and returned the issue.
> What steps will reproduce the problem?
Open any SWF with a DefineSprite tag inside. Right-click the DefineSprite tag and attempt
to add a new DefineScalingGrid tag. Save the SWF.
> What is the expected output? What do you see instead?
Expected result: the new DefineScalingGrid tag appears inside the DefineSprite tag, before
its first frame, and can be interacted with and edited as normal (i.e. exactly the same as
a DefineSprite that already had a scaling grid). Saving the SWF should produce a valid
file: FFDec should be able to close and reopen it.
Actual result: the DefineSprite tag is shown in bold as if edited, but the new
DefineScalingGrid tag doesn't actually appear. However, saving the SWF will produce a
corrupt file. In some cases, this corrupt file's contents can be seen in the Hex Dump view
but not in Resources; in other cases, even Hex Dump is blank.
From the Hex Dump, it's clear that the DefineScalingGrid is being inserted after the
DefineSprite's END tag, and the DefineSprite tag's length is not being updated to include
the DefineScalingGrid tag.
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
v10.0.0 Nightly build 1655, running on Windows 10.
Workaround for anyone experiencing this issue: export as XML, add a DefineScalingGrid
element as a next-sibling of the DefineSprite element, and import again. If you can find a
file that already has a DefineScalingGrid, export that file as a reference.
Note that while XML exports/imports appear 1:1 in my use case, there is an open bug
suggesting that they aren't always 1:1.