+ 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.
sorry for wrong swf in first time, didnt think it will be changed so fast.
check frame3 of Sprite2710(game.SwipeEndGame)
you will find PlaceObject2(2640)
go to it, check frame1, you will find PlaceObject2 (2630) mcClose
and here is png, how it looks in original (x button in top right)
I still don't understand why do you think that the empty it is wrong.
Other decompilers shows it also empty.
There is no characterid information in the placeobject tags.
Maybe the character is dynamically loaded somehow.
Or do you have any idea how to know which chatacter should be used?
Even if we assume, that they are the same.
It is bug, because like you say it should be refferenced by
But there is no refference to Runtime_Button_Small_Default3 in code except
No, it it different.
Your sprite is not in your SWF file.
If you think that the icon is not that one that I showed you in Main.swf, then show me
which is the correct one in your file. Maybe you can convince me that this is a bug, but i
I don't know how it is working in Flash, but you can see that the "X" sprite is not in
your SWF file, so it is not possible to export it. So this is not a bug.
Probably your main SWF is the Main.xxx.swf (this is why it is called Main), it loads the
other resources, for example Game.xxx.swf
There is already a feature request for multi part SWFs, however it is for debugging:
Sometimes there are ImportAsset tags, which references other swfs, but in your example
there are no ImportAsset tag, so I don't know how Flash player knows which SWF should be
Maybe it tries to find the specified classname in all previously loaded SWFs. (And what
will it do if there are 2 SWFs with the same className)
The question is how to handle it in FLA export. Should we import all referenced characters
to the current FLA? Or export multiple FLAs?
All starts in preloader.swf
each module loads its own resources.
Main is main thats true.
So if there is no ImportAsset tag in that case it should be handled by script somehow ?
But there are no refernces to Runtime_Button_Small_Default3 and Runtime_Icon_Close2 in any
I even thought that it could be composed like "Runtime_"+param1+"_"+pram2 but still
even if you export both of swfs(main and game) to fla.
than build them to swcs and include completely to a single swf still no chance ti see that
and there are more to missing sprites. close button just an example.
so there are 2 variants of how it is possible
1. some information about character or tag is missing in decompiled fla
2. branch of action script code is lost during decompilation.
in both cases looks like a bug or do i missing something again?
Do you know Flash? Could you please create a sample?
I mean a project which produces 2 swfs using classNames to reference characters.
Is it 2 FLA file, or is it possible to produce 2 swf from 1 FLA?
Sorry, I'm not a Flash developer, I created only some "hello world" test apps with it. I
know only the internals of the SWF file.
Here is step by step:
1. Get Main.fla and Game.fla
2. Remove com folder from scripts folder cause it will produce errors (you may leave it
and fix those errors it does not matter)
3. Open thoes FLAs with Flash Professional (i use 13.01)
Press CTRL+SHIFT+F12 in popup uncheck SWF and check SWC.
Infront of Actionscript 3.0 combobox press button with and icon of a wrench
Add scripts folder there press Ok, than build
4. Open FlashDevelop chose create a new project
in popup chose AS3 Project, chose desired project name and folder
Copy both SWCs to project folder
Ensure you have Project tab active in treeview
Find both of SWCs in that treeview, right click them (one by one) chose Add to library
Right click them (one by one) again and chose Options than in popup chose Include
Library (Include completely)
Than chose configuration Release or Debug (combobox under main menu) and press F8 or a
button with a cogwheel icon
I may provide you with resulting SWF or as3proj + both SWCs or What exacly do you need ?
I need only a simple Flash project(s):
FLA1: -sprite1, classname=myClassName => swf1.sw2
FLA2: -sprite1 with placeobjects, refrencing myClassName from FLA1 => swf2.swf
Or is it only one FLA? I don't konw how this multi part swf works.
That is ok, but I need a SIMPLE example project (source + compiled)
Which produces 2 swf files.
2nd swf is using a character from the 1st swf.
So a new project built up from scratch, very simple shapes (e.g a rectangle), nothing
If you send this, I can investigate the FLA xml source, and try to improve FFDec to export
the same format.
You can do that by importing assets.
In that case ffdec process it correctly
i attached an example.
Or you may do it dynamically from srcipt.
in that case you just need to load swf in the same domain and you may access all classes
from that swf by using getDefinitionByName
something like this:
if it is so then a branch of code wasnt decompiled
you may search for getDefinition and see which symbols are loaded dynamically.
there are not much of them
btw i checked in game.fla\library\Symbol 2629.xml and it looks like
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 2629"
<DOMTimeline name="Symbol 2629">
and if you check it in ffdec - it has 7 frames!