chore: fix export all button states (#2671)

This commit is contained in:
Jindra Petřík
2026-03-25 08:59:58 +01:00
parent 361f8b0d2c
commit 355e87d2ae
3 changed files with 11 additions and 5 deletions

View File

@@ -347,10 +347,12 @@ public class FrameExporter {
final Timeline tim = tim0;
boolean exportAll = frames == null;
if (frames == null) {
if (exportAll) {
frames = new ArrayList<>();
for (Frame frame : tim.getFrames()) {
frames.add(frame.frame);
List<Frame> timFrames = tim.getFrames();
for (int f = 0; f < timFrames.size(); f++) {
frames.add(f);
}
}

View File

@@ -291,9 +291,11 @@ public class DefineButton2Tag extends ButtonTag implements ASMSourceContainer {
@Override
protected void initTimeline(Timeline timeline) {
int maxDepth = 0;
//Note: There is frameIndex 0 everywhere, as below if frameDown is empty, it uses frameOver items
//I hope this won't cause problems...
Frame frameUp = new Frame(timeline, 0);
Frame frameDown = new Frame(timeline, 0);
Frame frameOver = new Frame(timeline, 0);
Frame frameDown = new Frame(timeline, 0);
Frame frameHit = new Frame(timeline, 0);
for (BUTTONRECORD r : this.characters) {
if (swf.getCyclicCharacters().contains(r.characterId)) {

View File

@@ -249,9 +249,11 @@ public class DefineButtonTag extends ButtonTag implements ASMSourceContainer {
DefineButtonCxformTag cxformTag = (DefineButtonCxformTag) swf.getCharacterIdTag(buttonId, DefineButtonCxformTag.ID);
ColorTransform clrTrans = cxformTag == null ? null : cxformTag.buttonColorTransform;
int maxDepth = 0;
//Note: There is frameIndex 0 everywhere, as below if frameDown is empty, it uses frameOver items
//I hope this won't cause problems...
Frame frameUp = new Frame(timeline, 0);
Frame frameDown = new Frame(timeline, 0);
Frame frameOver = new Frame(timeline, 0);
Frame frameDown = new Frame(timeline, 0);
Frame frameHit = new Frame(timeline, 0);
for (BUTTONRECORD r : this.characters) {
if (swf.getCyclicCharacters().contains(r.characterId)) {