diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d71121ae..8eab60a18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,8 @@ All notable changes to this project will be documented in this file. - AS3 jumps deobfuscator - [#1699] AS1/2 detection of unitialized vars stuck - [#1686] AS1/2 decompilation and editation of nested tellTarget -- [#1685] generic tag editor - removing multiple items at once vs single item +- [#1685] Generic tag editor - removing multiple items at once vs single item +- [#1684] Internal viewer - animated subsprites ## [14.4.0] - 2021-04-05 ### Added @@ -2217,6 +2218,7 @@ All notable changes to this project will be documented in this file. [#1699]: https://www.free-decompiler.com/flash/issues/1699 [#1686]: https://www.free-decompiler.com/flash/issues/1686 [#1685]: https://www.free-decompiler.com/flash/issues/1685 +[#1684]: https://www.free-decompiler.com/flash/issues/1684 [#1015]: https://www.free-decompiler.com/flash/issues/1015 [#1466]: https://www.free-decompiler.com/flash/issues/1466 [#1513]: https://www.free-decompiler.com/flash/issues/1513 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java index 72b6178da..73afed9f5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/Timeline.java @@ -1087,7 +1087,7 @@ public class Timeline { Rectangle2D r = new Rectangle2D.Double(p1.xMin, p1.yMin, p1.getWidth(), p1.getHeight()); g.setClip(r); - drawDrawable(strokeTransformation, layer, transforms[s], g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, false, DRAW_MODE_SHAPES); + drawDrawable(strokeTransformation, layer, transforms[s], g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, layer.time + time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, false, DRAW_MODE_SHAPES); s++; } } @@ -1096,13 +1096,13 @@ public class Timeline { g.setTransform(origTransform); //draw all nonshapes (normally scaled) next - drawDrawable(strokeTransformation, layer, layerMatrix, g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, scaleStrokes, DRAW_MODE_SPRITES); + drawDrawable(strokeTransformation, layer, layerMatrix, g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, layer.time + time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, scaleStrokes, DRAW_MODE_SPRITES); } else { boolean subScaleStrokes = scaleStrokes; if (character instanceof DefineSpriteTag) { subScaleStrokes = true; } - drawDrawable(strokeTransformation, layer, layerMatrix, g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, subScaleStrokes, DRAW_MODE_ALL); + drawDrawable(strokeTransformation, layer, layerMatrix, g, colorTransform, layer.blendMode, clips, transformation, isClip, layer.clipDepth, absMat, layer.time + time, layer.ratio, renderContext, image, fullImage, (DrawableTag) character, layer.filters, unzoom, clrTrans, sameImage, viewRect, fullTransformation, subScaleStrokes, DRAW_MODE_ALL); } } else if (character instanceof BoundedTag) { showPlaceholder = true; diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index 6ba027a38..b71a697fb 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -2428,7 +2428,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { } //Frame "time" - ticks in current frame int currentFrameTicks = 0; - if (frameCount == 1) { //We have only one frame, so the ticks on that frame equal ticks on whole timeline + if (frameCount == 1 || stillFrame) { //We have only one frame, so the ticks on that frame equal ticks on whole timeline currentFrameTicks = ticksFromStart; } nextFrame(thisTimer, skipFrames, currentFrameTicks);