diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java index d15f44c0d..37c1fc336 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineButtonSoundTag.java @@ -43,22 +43,22 @@ public class DefineButtonSoundTag extends Tag implements CharacterIdTag { public int buttonId; @SWFType(BasicType.UI16) - public int buttonSoundChar0; + public int buttonSoundChar0; // OverUpToIdle public SOUNDINFO buttonSoundInfo0; @SWFType(BasicType.UI16) - public int buttonSoundChar1; + public int buttonSoundChar1; // IdleToOverUp public SOUNDINFO buttonSoundInfo1; @SWFType(BasicType.UI16) - public int buttonSoundChar2; + public int buttonSoundChar2; // OverUpToOverDown public SOUNDINFO buttonSoundInfo2; @SWFType(BasicType.UI16) - public int buttonSoundChar3; + public int buttonSoundChar3; // OverDownToOverUp public SOUNDINFO buttonSoundInfo3; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ColorTransform.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ColorTransform.java index 8acc9153a..66b9af310 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ColorTransform.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/ColorTransform.java @@ -28,7 +28,7 @@ import java.awt.image.RescaleOp; public class ColorTransform implements Cloneable { public RescaleOp toRescaleOp() { - return new RescaleOp(new float[]{getRedMulti() / 255f, getGreenMulti() / 255f, getBlueMulti() / 255f, getAlphaMulti() / 255f}, + return new RescaleOp(new float[]{getRedMulti() / 256f, getGreenMulti() / 256f, getBlueMulti() / 256f, getAlphaMulti() / 256f}, new float[]{getRedAdd(), getGreenAdd(), getBlueAdd(), getAlphaAdd()}, null); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 525a6e44f..adb15f40e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -35,6 +35,7 @@ import com.jpexs.decompiler.flash.helpers.HighlightedTextWriter; import com.jpexs.decompiler.flash.tags.CSMTextSettingsTag; import com.jpexs.decompiler.flash.tags.DefineButton2Tag; import com.jpexs.decompiler.flash.tags.DefineButtonCxformTag; +import com.jpexs.decompiler.flash.tags.DefineButtonSoundTag; import com.jpexs.decompiler.flash.tags.DefineButtonTag; import com.jpexs.decompiler.flash.tags.DefineEditTextTag; import com.jpexs.decompiler.flash.tags.DefineFontNameTag; @@ -1120,17 +1121,17 @@ public class XFLConverter { if (colorTransform != null) { writer.writeStartElement("color"); writer.writeStartElement("Color"); - if (colorTransform.getRedMulti() != 255) { - writer.writeAttribute("redMultiplier", ((float) colorTransform.getRedMulti()) / 255.0f); + if (colorTransform.getRedMulti() != 256) { + writer.writeAttribute("redMultiplier", ((float) colorTransform.getRedMulti()) / 256.0f); } - if (colorTransform.getGreenMulti() != 255) { - writer.writeAttribute("greenMultiplier", ((float) colorTransform.getGreenMulti()) / 255.0f); + if (colorTransform.getGreenMulti() != 256) { + writer.writeAttribute("greenMultiplier", ((float) colorTransform.getGreenMulti()) / 256.0f); } - if (colorTransform.getBlueMulti() != 255) { - writer.writeAttribute("blueMultiplier", ((float) colorTransform.getBlueMulti()) / 255.0f); + if (colorTransform.getBlueMulti() != 256) { + writer.writeAttribute("blueMultiplier", ((float) colorTransform.getBlueMulti()) / 256.0f); } - if (colorTransform.getAlphaMulti() != 255) { - writer.writeAttribute("alphaMultiplier", ((float) colorTransform.getAlphaMulti()) / 255.0f); + if (colorTransform.getAlphaMulti() != 256) { + writer.writeAttribute("alphaMultiplier", ((float) colorTransform.getAlphaMulti()) / 256.0f); } if (colorTransform.getRedAdd() != 0) { @@ -1275,8 +1276,21 @@ public class XFLConverter { symbolStr.writeAttribute("color", randomOutlineColor()); symbolStr.writeStartElement("frames"); int lastFrame = 0; + DefineButtonSoundTag sound = button.getSounds(); loopframes: for (int frame = 1; frame <= 4; frame++) { + if (sound != null) { + switch (frame) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } for (BUTTONRECORD rec : records) { if (rec.placeDepth == i) { boolean ok = false; diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index d9f3dfd72..58940eeb8 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -489,7 +489,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { ButtonTag button = iconPanel.mouseOverButton; if (button != null) { DefineButtonSoundTag sounds = button.getSounds(); - if (sounds != null && sounds.buttonSoundChar2 != 0) { //OverUpToOverDown + if (sounds != null && sounds.buttonSoundChar2 != 0) { // OverUpToOverDown playSound((SoundTag) swf.getCharacter(sounds.buttonSoundChar2), sounds.buttonSoundInfo2, timer); } } @@ -505,7 +505,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { ButtonTag button = iconPanel.mouseOverButton; if (button != null) { DefineButtonSoundTag sounds = button.getSounds(); - if (sounds != null && sounds.buttonSoundChar3 != 0) { //OverDownToOverUp + if (sounds != null && sounds.buttonSoundChar3 != 0) { // OverDownToOverUp playSound((SoundTag) swf.getCharacter(sounds.buttonSoundChar3), sounds.buttonSoundInfo3, timer); } }