mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/LCE-Revelations.git
synced 2026-05-22 02:34:56 +00:00
- Add VSync and Exclusive Fullscreen toggles to the graphics settings menu - Rewrite D3D11 swap chain to use DXGI flip model with tearing support - Fix black screen on resize by creating new swap chain instead of ResizeBuffers - Revert conditional lighting optimization in Level::setTileAndData back to unconditional checkLight - Revert deferred lightGaps flagging in LevelChunk::recalcHeight back to immediate lightGap calls - Add SWF/ARC editing tools used to add new UI checkboxes
41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
import com.jpexs.decompiler.flash.SWF;
|
|
import com.jpexs.decompiler.flash.tags.*;
|
|
import com.jpexs.decompiler.flash.tags.base.*;
|
|
import com.jpexs.decompiler.flash.types.*;
|
|
import java.io.*;
|
|
import java.util.*;
|
|
|
|
public class DumpSwf {
|
|
public static void main(String[] args) throws Exception {
|
|
String path = args[0];
|
|
SWF swf = new SWF(new FileInputStream(path), false);
|
|
|
|
System.out.println("=== Top-level Tags ===");
|
|
int idx = 0;
|
|
for (Tag tag : swf.getTags()) {
|
|
System.out.println("[" + idx + "] " + tag.getClass().getSimpleName() + " - " + tag);
|
|
dumpPlaceObject(tag, " ");
|
|
|
|
if (tag instanceof DefineSpriteTag) {
|
|
DefineSpriteTag sprite = (DefineSpriteTag) tag;
|
|
System.out.println(" spriteId=" + sprite.spriteId + " frames=" + sprite.frameCount);
|
|
int subIdx = 0;
|
|
for (Tag sub : sprite.getTags()) {
|
|
System.out.println(" [" + subIdx + "] " + sub.getClass().getSimpleName() + " - " + sub);
|
|
dumpPlaceObject(sub, " ");
|
|
subIdx++;
|
|
}
|
|
}
|
|
idx++;
|
|
}
|
|
}
|
|
|
|
static void dumpPlaceObject(Tag tag, String indent) {
|
|
if (tag instanceof PlaceObjectTypeTag) {
|
|
PlaceObjectTypeTag po = (PlaceObjectTypeTag) tag;
|
|
System.out.println(indent + "depth=" + po.getDepth() + " charId=" + po.getCharacterId()
|
|
+ " name=" + po.getInstanceName() + " matrix=" + po.getMatrix());
|
|
}
|
|
}
|
|
}
|