+ 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: closed 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.
I'm trying to edit AS3 in FFD (which, though buggy in some places, looks quite good!). So
I got this bit of code in the original file :
if(!this.can_rebuy && (FP.game_world.player.items.Contains(this.item_id)))
(to make it more simple: if(not(A) AND B), then... )
When I try to save the file, the code is changed to :
if(!(this.can_rebuy && FP.game_world.player.items.Contains(this.item_id)))
( if(not(A AND B)), then... )
I don't know much about AS, but the two conditions are obviously not the same. You would
have ¬A∧B = ¬(A∧B)??
I guess the code is “deobfuscated” just before being compiled and leads to this logic
mistake. The thing, though, is that Automatic Deobfuscation is off. So is there a way for
me to completely stop Deobfuscation, even when editing? Or is my problem coming from some
First, as the dev mentionned in another thread, using nightly does the trick.
Second, I found a way to stop this rearranging of the code. When you've done the change,
click the Reload button. The software will close and reopen, and your code won't be
changed, so you'll be able to save the code as you left it (though I guess you have to
check the 'Save session on exit' setting). It's a bit sad, though, that you have to do
that each time. Isn't there a better way?
So much for me... The changes you make to the code aren't save when you click reload. So
ignore my second statement just above and return to this question :
«Is there a way for me to completely stop Deobfuscation, even when editing?»
I mean, the particular issue I first mentioned was solved, but I still don't want FFD to
rearrange my code. Just leave it as is.
It's this file. The part I'm talking about is under "Scripts > Texter > BuyDisplay".
FYI: This SWF is NOT my own work. I'm implementing a french rendering of this (very good)
videogame that you can find for free on game-hosting websites (such as Newgrounds,
Armorgames...). I'll only keep the french version for myself. It'll help me to do a
high-quality translation, since the dev of it told me he's interested localizations.
Thanks. Ok, this is definitely an FFDec bug, but if you want to only translate the strings
in the script, you should use pcode editing, it is much more reliable (not experimental as
the AS script editing - aka direct editation).