JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means waiting times in the issue tracker are very long and mostly depend on community. Sorry for the inconvenience.

List of issuesList of issues

#1267 Importing SVG creates empty fillStyles array
Author: user fratti
Date created:
Type: question
Visibility: Everybody
Assigned to:
State: closed Help

If an SVG with multiple shapes is imported, the application will leave the fillStyles array empty, and the shape will not show up in the output SWF. > What steps will reproduce the problem? 1. Replace existing vector shape by importing SVG with multiple objects in it 2. Try saving the SWF 3. Note how the shape is not visible in the output > What is the expected output? What do you see instead? Instead of defining the styles inside the StyleChangeRecords, define them per-shape once and then reference them by index in the StyleChangeRecords > What version of the product are you using? Is it "nightly build"? Which operating system do you have? nightly build (git HEAD) on Arch Linux x86_64 $ java -version openjdk version "1.8.0_102" OpenJDK Runtime Environment (build 1.8.0_102-b14) OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode) > Please provide any additional information below. If the problem is related to a SWF file, attach it here, otherwise we can't help you. The attached SVG is the one I'm trying to import. The SWF is the one I'm trying to edit.
developer
Why is it a problem? The (visual) result is the same...
user
The visual result is not the same, at least I suspect this is the reason. In the output, the shape is not visible if I replace it, and the only difference I can see is the fillStyles thing. If anyone has a different explanation as to why it doesn't show up, please let me know.
developer
It should be the same. As far as I know the StyleChangeRecord replaces the existing styles. I tried to replace the first shape (characterid = 1) with the SVG you attached, I can see the gorilla in FFDec, however it is a little bit buggy, but it is not because of the missign fillstyles.
user
I can also see the gorilla in ffdec, but not in the output when viewed with Pepperflash in Chromium. Any idea why this could be?
developer
I don't know that, but in normal Chome and in Ms Edge I can see it. They are using standard flash player, I don't know what is pepperflash.
user
Chrome is using pepperflash, it's just sandboxed flash player using a Chrome API. Can you tell me the exact steps you took to replace the Billy Mays shape with the SVG? When I do it, I don't see it in the output.
developer
I replaced the vector backgound, not the guy. - open original SWF - open shapes in left tree - right click on the first shape - select Replace (or replace - update bounds if you want to increase the size of the shape) - select the svg file, press open - press OK in the warning dialog - sleect File/save as, save the file - open the new SWF in chrome
user
Okay, I'm trying to replace the guy which is why we're seeing different results I presume.
developer
If you want to replace the guy, then the problem is that the gorilla is simply too big. The guy (shape 5-8) is 230x199 px the gorilly is 802x494, and the upper left corner (230x199px) is empty... You should resize your SVG first.
user
Okay, thanks. I didn't even think of size issues! I resized the SVG, and it all looks good in ffdec, but in the output flash there are weird streaks through it and part of it is missing. Any idea what could be going on with that?
user
Here's the flash file. It looks like ffdec is not properly handling some of the SVG shapes, if you look at the shading on the right of the SVG.
developer
The problem is that the svg contains some features which is not supported in flash. In your case the problem is the cubic curves in 'd' attribute of 'path' tag. ('c' or 'C' commands) Sometimes it is not possibble to convert them to quad curves. (Calculation retuns infinite number, this is why there are long parallel lines) This svg is quite complex, why don't you use a bitmap image (png, jpg), probably they are even smaller?
user
Okay yeah, using a PNG works, thanks! What also worked a bit was to break apart the shapes of the SVG, but it would be a lot of work to do so manually. Thanks for the help, you can close this now since it's not really a bug.
admin
State: new→closed
Type: bug→question