JPEXS Free Flash Decompiler Issue Tracker

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

NEW : We have got a new blog where we post some interesting SWF internals info.

List of issuesList of issues

#1231 Edit buttons size
Author: user megalol
Date created:
Type: question
Visibility: Everybody
Assigned to:
State: closed Help

Is it possible in FFDec? I saw some weird parameters in raw edit but didn't found any size values. If not then please change type of issue to feature one.
developer
Button consists of characters (shapes, sprites, texts, images, morphshapes) You should edit those characters. - Raw edit a button tag - Open characters - Open a BUTTONRECORD - Here you can see thew characterId find that character and edit it.
State: new→upgraded
user
Sorry but I still didn't understand completely. What then after detecting characterId? I tried to edit DefineShape but without desirable effect. I think that it's too difficult to use. So if possible please make it easier. In Adobe Flash Pro it can be done with 1 mouse click. Btw in basic tag info I saw bounds parameters (which shows button size) so is it possible to edit this parameter directly?
developer
If you found the Shape, the easiest is to export it to SVG, edit with an SVG editor (for example Inkscape), then import it back. It is not possible to edit the bounds, because it is a calculated value. Button tag has no size, only the inner characters has a size (Except Sprite, it contains also another characters). Probably in Adobe Flash Pro's model it has a size this is why you can edit there, but in the SWF export this size is not written to the SWF file. Or you can do the following also: Raw edit the button tag, open characters, BUTTONRECORD, placeMatrix Set the hasScale property to true, set the ScaleX and ScaleX values (65536 means the original size). If you want to make it 20% smaller (80% of the original size), then set ScaleX = ScaleY = 0.8 * 65536 = 52429 You should set this value for all buttonrecords.
user
Ok, thanks get it (with ScaleX/Y method). But my suggestion to make it more user friendly (instead of weird values enter change it to % or even better pixel values if possible).
user
I have managed to edited a button in inkscape but am not able to import the svg image back. sorry for the simple question but I am stuck and can not figure it out
developer
Graydon: please create separate issue and upload you swf and svg files.
user
Pls am editing wr3d I want to increase the brands and change the model size, the brands increase but it doesn't show in the program
admin
OP megalol: In nightly 2340 you can resize DefineButton(2) using transform button. You can resize the button itself or the instance on the stage (PlaceObject).
user
Thanks, but on any AS2 game DB2 I have this error: 21/12/2022 00:51:22 SEVERE Uncaught exception in thread: AWT-EventQueue-0 java.lang.ClassCastException: class com.jpexs.decompiler.flash.timeline.TagScript cannot be cast to class com.jpexs.decompiler.flash.tags.base.CharacterTag (com.jpexs.decompiler.flash.timeline.TagScript and com.jpexs.decompiler.flash.tags.base.CharacterTag are in unnamed module of loader 'app') at com.jpexs.decompiler.flash.gui.PreviewPanel.transformImageButtonActionPerformed(PreviewPan el.java:1350) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:40 5) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener. java:279) at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverBu ttonListener.java:124) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java: 203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124 ) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: 113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
admin
Ok, I did not consider that sprites/buttons are in scripts section too. Please try nightly 2341.
user
Now works fine, thanks!
admin
State: upgraded→closed