mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-16 05:01:53 +00:00
Removing AS3 scripts ("ScriptPacks")
This commit is contained in:
@@ -93,6 +93,8 @@ import com.jpexs.decompiler.flash.tags.DebugIDTag;
|
||||
import com.jpexs.decompiler.flash.tags.DefineBinaryDataTag;
|
||||
import com.jpexs.decompiler.flash.tags.DefineSoundTag;
|
||||
import com.jpexs.decompiler.flash.tags.DefineSpriteTag;
|
||||
import com.jpexs.decompiler.flash.tags.DoABC2Tag;
|
||||
import com.jpexs.decompiler.flash.tags.DoABCTag;
|
||||
import com.jpexs.decompiler.flash.tags.DoInitActionTag;
|
||||
import com.jpexs.decompiler.flash.tags.EnableDebugger2Tag;
|
||||
import com.jpexs.decompiler.flash.tags.EnableDebuggerTag;
|
||||
@@ -2993,6 +2995,9 @@ public final class SWF implements SWFContainerItem, Timelined {
|
||||
}
|
||||
|
||||
private void removeTagInternal(Timelined timelined, Tag tag, boolean removeDependencies) {
|
||||
if ((tag instanceof DoABC2Tag) || (tag instanceof DoABCTag)) {
|
||||
clearAbcListCache();
|
||||
}
|
||||
if (tag instanceof ShowFrameTag || ShowFrameTag.isNestedTagType(tag.getId())) {
|
||||
timelined.removeTag(tag);
|
||||
timelined.setModified(true);
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.jpexs.decompiler.flash.abc.types.ConvertData;
|
||||
import com.jpexs.decompiler.flash.abc.types.MethodBody;
|
||||
import com.jpexs.decompiler.flash.abc.types.Multiname;
|
||||
import com.jpexs.decompiler.flash.abc.types.Namespace;
|
||||
import com.jpexs.decompiler.flash.abc.types.ScriptInfo;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.Trait;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.TraitClass;
|
||||
import com.jpexs.decompiler.flash.abc.types.traits.TraitFunction;
|
||||
@@ -331,6 +332,9 @@ public class ScriptPack extends AS3ClassTreeItem {
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
if (scriptIndex >= abc.script_info.size()) {
|
||||
return false;
|
||||
}
|
||||
return abc.script_info.get(scriptIndex).isModified();
|
||||
}
|
||||
|
||||
@@ -637,4 +641,15 @@ public class ScriptPack extends AS3ClassTreeItem {
|
||||
trait.getMethodInfos(abc, GraphTextWriter.TRAIT_UNKNOWN, -1, methodInfos);
|
||||
}
|
||||
}
|
||||
|
||||
public void delete(ABC abc, boolean d) {
|
||||
ScriptInfo si = abc.script_info.get(scriptIndex);
|
||||
if (isSimple) {
|
||||
si.delete(abc, d);
|
||||
} else {
|
||||
for (int t : traitIndices) {
|
||||
si.traits.traits.get(t).delete(abc, d);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user