mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 12:40:47 +00:00
format source code
This commit is contained in:
@@ -1,131 +1,131 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.base.ASMSource;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class AS2Package implements TreeItem {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final String name;
|
||||
|
||||
private final AS2Package parent;
|
||||
|
||||
public Map<String, AS2Package> subPackages = new TreeMap<>();
|
||||
|
||||
public Map<String, ASMSource> scripts = new TreeMap<>();
|
||||
|
||||
public AS2Package(String name, AS2Package parent, SWF swf) {
|
||||
this.name = name;
|
||||
this.parent = parent;
|
||||
this.swf = swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
public List<TreeItem> getAllChildren() {
|
||||
List<TreeItem> result = new ArrayList<>(getChildCount());
|
||||
result.addAll(subPackages.values());
|
||||
result.addAll(scripts.values());
|
||||
return result;
|
||||
}
|
||||
|
||||
public TreeItem getChild(int index) {
|
||||
if (index < subPackages.size()) {
|
||||
for (AS2Package subPackage : subPackages.values()) {
|
||||
if (index == 0) {
|
||||
return subPackage;
|
||||
}
|
||||
|
||||
index--;
|
||||
}
|
||||
}
|
||||
|
||||
index -= subPackages.size();
|
||||
|
||||
for (ASMSource pack : scripts.values()) {
|
||||
if (index == 0) {
|
||||
return pack;
|
||||
}
|
||||
|
||||
index--;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getChildCount() {
|
||||
return subPackages.size() + scripts.size();
|
||||
}
|
||||
|
||||
public int getIndexOfChild(TreeItem child) {
|
||||
int res = 0;
|
||||
if (child instanceof AS2Package) {
|
||||
for (AS2Package pkg : subPackages.values()) {
|
||||
if (pkg.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
res = subPackages.size();
|
||||
for (ASMSource pack : scripts.values()) {
|
||||
if (pack.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (ASMSource s : scripts.values()) {
|
||||
if (s.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (AS2Package p : subPackages.values()) {
|
||||
if (p.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.base.ASMSource;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class AS2Package implements TreeItem {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final String name;
|
||||
|
||||
private final AS2Package parent;
|
||||
|
||||
public Map<String, AS2Package> subPackages = new TreeMap<>();
|
||||
|
||||
public Map<String, ASMSource> scripts = new TreeMap<>();
|
||||
|
||||
public AS2Package(String name, AS2Package parent, SWF swf) {
|
||||
this.name = name;
|
||||
this.parent = parent;
|
||||
this.swf = swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
public List<TreeItem> getAllChildren() {
|
||||
List<TreeItem> result = new ArrayList<>(getChildCount());
|
||||
result.addAll(subPackages.values());
|
||||
result.addAll(scripts.values());
|
||||
return result;
|
||||
}
|
||||
|
||||
public TreeItem getChild(int index) {
|
||||
if (index < subPackages.size()) {
|
||||
for (AS2Package subPackage : subPackages.values()) {
|
||||
if (index == 0) {
|
||||
return subPackage;
|
||||
}
|
||||
|
||||
index--;
|
||||
}
|
||||
}
|
||||
|
||||
index -= subPackages.size();
|
||||
|
||||
for (ASMSource pack : scripts.values()) {
|
||||
if (index == 0) {
|
||||
return pack;
|
||||
}
|
||||
|
||||
index--;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getChildCount() {
|
||||
return subPackages.size() + scripts.size();
|
||||
}
|
||||
|
||||
public int getIndexOfChild(TreeItem child) {
|
||||
int res = 0;
|
||||
if (child instanceof AS2Package) {
|
||||
for (AS2Package pkg : subPackages.values()) {
|
||||
if (pkg.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
res = subPackages.size();
|
||||
for (ASMSource pack : scripts.values()) {
|
||||
if (pack.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (ASMSource s : scripts.values()) {
|
||||
if (s.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (AS2Package p : subPackages.values()) {
|
||||
if (p.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,167 +1,167 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.abc.ScriptPack;
|
||||
import com.jpexs.decompiler.flash.treeitems.AS3ClassTreeItem;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class AS3Package extends AS3ClassTreeItem {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
public String packageName;
|
||||
|
||||
private final Map<String, AS3Package> subPackages = new TreeMap<>();
|
||||
|
||||
private final Map<String, ScriptPack> scripts = new TreeMap<>();
|
||||
|
||||
private List<AS3Package> sortedPackages;
|
||||
|
||||
private List<ScriptPack> sortedScripts;
|
||||
|
||||
public AS3Package(String packageName, SWF swf) {
|
||||
super(packageName, null);
|
||||
this.swf = swf;
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
public List<AS3Package> getSubPackages() {
|
||||
if (sortedPackages == null) {
|
||||
List<AS3Package> list = new ArrayList<>();
|
||||
for (AS3Package subPackage : subPackages.values()) {
|
||||
list.add(subPackage);
|
||||
}
|
||||
|
||||
sortedPackages = list;
|
||||
}
|
||||
|
||||
return sortedPackages;
|
||||
}
|
||||
|
||||
public List<ScriptPack> getScriptPacks() {
|
||||
if (sortedScripts == null) {
|
||||
List<ScriptPack> list = new ArrayList<>();
|
||||
for (ScriptPack script : scripts.values()) {
|
||||
list.add(script);
|
||||
}
|
||||
|
||||
sortedScripts = list;
|
||||
}
|
||||
|
||||
return sortedScripts;
|
||||
}
|
||||
|
||||
public void addScriptPack(ScriptPack script) {
|
||||
scripts.put(script.getClassPath().className, script);
|
||||
sortedScripts = null;
|
||||
}
|
||||
|
||||
public void addSubPackage(AS3Package subPackage) {
|
||||
subPackages.put(subPackage.getName(), subPackage);
|
||||
sortedPackages = null;
|
||||
}
|
||||
|
||||
public AS3Package getSubPackage(String packageName) {
|
||||
return subPackages.get(packageName);
|
||||
}
|
||||
|
||||
public List<AS3ClassTreeItem> getAllChildren() {
|
||||
List<AS3ClassTreeItem> result = new ArrayList<>(getChildCount());
|
||||
result.addAll(subPackages.values());
|
||||
result.addAll(scripts.values());
|
||||
return result;
|
||||
}
|
||||
|
||||
public AS3ClassTreeItem getChild(int index) {
|
||||
if (index < subPackages.size()) {
|
||||
return getSubPackages().get(index);
|
||||
}
|
||||
|
||||
index -= subPackages.size();
|
||||
return getScriptPacks().get(index);
|
||||
}
|
||||
|
||||
public int getChildCount() {
|
||||
return subPackages.size() + scripts.size();
|
||||
}
|
||||
|
||||
public int getIndexOfChild(AS3ClassTreeItem child) {
|
||||
int res = 0;
|
||||
if (child instanceof AS3Package) {
|
||||
for (AS3Package pkg : subPackages.values()) {
|
||||
if (pkg.packageName.equals(((AS3Package) child).packageName)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
res = subPackages.size();
|
||||
for (ScriptPack pack : scripts.values()) {
|
||||
if (pack.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
subPackages.clear();
|
||||
scripts.clear();
|
||||
sortedPackages = null;
|
||||
sortedScripts = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
List<ScriptPack> sps = getScriptPacks();
|
||||
for (ScriptPack sp : sps) {
|
||||
if (sp.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
List<AS3Package> ps = getSubPackages();
|
||||
for (AS3Package p : ps) {
|
||||
if (p.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.abc.ScriptPack;
|
||||
import com.jpexs.decompiler.flash.treeitems.AS3ClassTreeItem;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class AS3Package extends AS3ClassTreeItem {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
public String packageName;
|
||||
|
||||
private final Map<String, AS3Package> subPackages = new TreeMap<>();
|
||||
|
||||
private final Map<String, ScriptPack> scripts = new TreeMap<>();
|
||||
|
||||
private List<AS3Package> sortedPackages;
|
||||
|
||||
private List<ScriptPack> sortedScripts;
|
||||
|
||||
public AS3Package(String packageName, SWF swf) {
|
||||
super(packageName, null);
|
||||
this.swf = swf;
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
public List<AS3Package> getSubPackages() {
|
||||
if (sortedPackages == null) {
|
||||
List<AS3Package> list = new ArrayList<>();
|
||||
for (AS3Package subPackage : subPackages.values()) {
|
||||
list.add(subPackage);
|
||||
}
|
||||
|
||||
sortedPackages = list;
|
||||
}
|
||||
|
||||
return sortedPackages;
|
||||
}
|
||||
|
||||
public List<ScriptPack> getScriptPacks() {
|
||||
if (sortedScripts == null) {
|
||||
List<ScriptPack> list = new ArrayList<>();
|
||||
for (ScriptPack script : scripts.values()) {
|
||||
list.add(script);
|
||||
}
|
||||
|
||||
sortedScripts = list;
|
||||
}
|
||||
|
||||
return sortedScripts;
|
||||
}
|
||||
|
||||
public void addScriptPack(ScriptPack script) {
|
||||
scripts.put(script.getClassPath().className, script);
|
||||
sortedScripts = null;
|
||||
}
|
||||
|
||||
public void addSubPackage(AS3Package subPackage) {
|
||||
subPackages.put(subPackage.getName(), subPackage);
|
||||
sortedPackages = null;
|
||||
}
|
||||
|
||||
public AS3Package getSubPackage(String packageName) {
|
||||
return subPackages.get(packageName);
|
||||
}
|
||||
|
||||
public List<AS3ClassTreeItem> getAllChildren() {
|
||||
List<AS3ClassTreeItem> result = new ArrayList<>(getChildCount());
|
||||
result.addAll(subPackages.values());
|
||||
result.addAll(scripts.values());
|
||||
return result;
|
||||
}
|
||||
|
||||
public AS3ClassTreeItem getChild(int index) {
|
||||
if (index < subPackages.size()) {
|
||||
return getSubPackages().get(index);
|
||||
}
|
||||
|
||||
index -= subPackages.size();
|
||||
return getScriptPacks().get(index);
|
||||
}
|
||||
|
||||
public int getChildCount() {
|
||||
return subPackages.size() + scripts.size();
|
||||
}
|
||||
|
||||
public int getIndexOfChild(AS3ClassTreeItem child) {
|
||||
int res = 0;
|
||||
if (child instanceof AS3Package) {
|
||||
for (AS3Package pkg : subPackages.values()) {
|
||||
if (pkg.packageName.equals(((AS3Package) child).packageName)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
res = subPackages.size();
|
||||
for (ScriptPack pack : scripts.values()) {
|
||||
if (pack.equals(child)) {
|
||||
break;
|
||||
}
|
||||
res++;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
subPackages.clear();
|
||||
scripts.clear();
|
||||
sortedPackages = null;
|
||||
sortedScripts = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
List<ScriptPack> sps = getScriptPacks();
|
||||
for (ScriptPack sp : sps) {
|
||||
if (sp.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
List<AS3Package> ps = getSubPackages();
|
||||
for (AS3Package p : ps) {
|
||||
if (p.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,113 +1,113 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.DoActionTag;
|
||||
import com.jpexs.decompiler.flash.tags.ShowFrameTag;
|
||||
import com.jpexs.decompiler.flash.tags.Tag;
|
||||
import com.jpexs.decompiler.flash.tags.base.ASMSourceContainer;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import com.jpexs.decompiler.flash.types.RGB;
|
||||
import com.jpexs.decompiler.flash.types.RGBA;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class Frame implements TreeItem, Exportable {
|
||||
|
||||
public final int frame;
|
||||
|
||||
public TreeMap<Integer, DepthState> layers = new TreeMap<>();
|
||||
|
||||
public RGB backgroundColor = new RGBA(0, 0, 0, 0);
|
||||
|
||||
public Timeline timeline;
|
||||
|
||||
public List<Integer> sounds = new ArrayList<>();
|
||||
|
||||
public List<String> soundClasses = new ArrayList<>();
|
||||
|
||||
public List<DoActionTag> actions = new ArrayList<>();
|
||||
|
||||
public List<ASMSourceContainer> actionContainers = new ArrayList<>();
|
||||
|
||||
public List<Tag> innerTags = new ArrayList<>();
|
||||
|
||||
public ShowFrameTag showFrameTag = null; // can be null for the last frame
|
||||
|
||||
public boolean layersChanged;
|
||||
|
||||
public Frame(Timeline timeline, int frame) {
|
||||
this.timeline = timeline;
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
public Frame(Frame obj, int frame) {
|
||||
this.frame = frame;
|
||||
layers = new TreeMap<>();
|
||||
backgroundColor = obj.backgroundColor;
|
||||
timeline = obj.timeline;
|
||||
for (int depth : obj.layers.keySet()) {
|
||||
layers.put(depth, new DepthState(obj.layers.get(depth), this, true));
|
||||
}
|
||||
//Do not copy sounds
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return timeline.swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "frame " + (frame + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return "frame_" + (frame + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (Tag t : innerTags) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (Tag t : actions) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (ASMSourceContainer t : actionContainers) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (showFrameTag != null && showFrameTag.isModified()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.DoActionTag;
|
||||
import com.jpexs.decompiler.flash.tags.ShowFrameTag;
|
||||
import com.jpexs.decompiler.flash.tags.Tag;
|
||||
import com.jpexs.decompiler.flash.tags.base.ASMSourceContainer;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import com.jpexs.decompiler.flash.types.RGB;
|
||||
import com.jpexs.decompiler.flash.types.RGBA;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.TreeMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class Frame implements TreeItem, Exportable {
|
||||
|
||||
public final int frame;
|
||||
|
||||
public TreeMap<Integer, DepthState> layers = new TreeMap<>();
|
||||
|
||||
public RGB backgroundColor = new RGBA(0, 0, 0, 0);
|
||||
|
||||
public Timeline timeline;
|
||||
|
||||
public List<Integer> sounds = new ArrayList<>();
|
||||
|
||||
public List<String> soundClasses = new ArrayList<>();
|
||||
|
||||
public List<DoActionTag> actions = new ArrayList<>();
|
||||
|
||||
public List<ASMSourceContainer> actionContainers = new ArrayList<>();
|
||||
|
||||
public List<Tag> innerTags = new ArrayList<>();
|
||||
|
||||
public ShowFrameTag showFrameTag = null; // can be null for the last frame
|
||||
|
||||
public boolean layersChanged;
|
||||
|
||||
public Frame(Timeline timeline, int frame) {
|
||||
this.timeline = timeline;
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
public Frame(Frame obj, int frame) {
|
||||
this.frame = frame;
|
||||
layers = new TreeMap<>();
|
||||
backgroundColor = obj.backgroundColor;
|
||||
timeline = obj.timeline;
|
||||
for (int depth : obj.layers.keySet()) {
|
||||
layers.put(depth, new DepthState(obj.layers.get(depth), this, true));
|
||||
}
|
||||
//Do not copy sounds
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return timeline.swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "frame " + (frame + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return "frame_" + (frame + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (Tag t : innerTags) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (Tag t : actions) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (ASMSourceContainer t : actionContainers) {
|
||||
if (t.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (showFrameTag != null && showFrameTag.isModified()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class FrameScript implements TreeItem, Exportable {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final Frame frame;
|
||||
|
||||
public FrameScript(SWF swf, Frame frame) {
|
||||
this.swf = swf;
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
public Frame getFrame() {
|
||||
return frame;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return frame.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return frame.getExportFileName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
return frame.isModified();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class FrameScript implements TreeItem, Exportable {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final Frame frame;
|
||||
|
||||
public FrameScript(SWF swf, Frame frame) {
|
||||
this.swf = swf;
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
public Frame getFrame() {
|
||||
return frame;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return frame.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return frame.getExportFileName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
return frame.isModified();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,89 +1,89 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.Tag;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class TagScript implements TreeItem, Exportable {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final Tag tag;
|
||||
|
||||
private final List<TreeItem> frames;
|
||||
|
||||
public TagScript(SWF swf, Tag tag, List<TreeItem> frames) {
|
||||
this.swf = swf;
|
||||
this.tag = tag;
|
||||
this.frames = frames;
|
||||
}
|
||||
|
||||
public Tag getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
public List<TreeItem> getFrames() {
|
||||
return frames;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return tag.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return tag.getExportFileName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof TagScript) {
|
||||
return tag.equals(((TagScript) obj).getTag());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return tag.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (TreeItem f : frames) {
|
||||
if (f.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return tag.isModified();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.SWF;
|
||||
import com.jpexs.decompiler.flash.tags.Tag;
|
||||
import com.jpexs.decompiler.flash.tags.base.Exportable;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class TagScript implements TreeItem, Exportable {
|
||||
|
||||
private final SWF swf;
|
||||
|
||||
private final Tag tag;
|
||||
|
||||
private final List<TreeItem> frames;
|
||||
|
||||
public TagScript(SWF swf, Tag tag, List<TreeItem> frames) {
|
||||
this.swf = swf;
|
||||
this.tag = tag;
|
||||
this.frames = frames;
|
||||
}
|
||||
|
||||
public Tag getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
public List<TreeItem> getFrames() {
|
||||
return frames;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SWF getSwf() {
|
||||
return swf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return tag.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExportFileName() {
|
||||
return tag.getExportFileName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof TagScript) {
|
||||
return tag.equals(((TagScript) obj).getTag());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return tag.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for (TreeItem f : frames) {
|
||||
if (f.isModified()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return tag.isModified();
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,30 +1,30 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.tags.base.BoundedTag;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public interface Timelined extends BoundedTag {
|
||||
|
||||
public Timeline getTimeline();
|
||||
|
||||
public void resetTimeline();
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3.0 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library.
|
||||
*/
|
||||
package com.jpexs.decompiler.flash.timeline;
|
||||
|
||||
import com.jpexs.decompiler.flash.tags.base.BoundedTag;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public interface Timelined extends BoundedTag {
|
||||
|
||||
public Timeline getTimeline();
|
||||
|
||||
public void resetTimeline();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user