mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 06:21:16 +00:00
Faster loading alone parts
This commit is contained in:
@@ -40,9 +40,11 @@ import com.jpexs.asdec.tags.PlaceObject3Tag;
|
||||
import com.jpexs.asdec.tags.PlaceObjectTag;
|
||||
import com.jpexs.asdec.tags.RemoveObject2Tag;
|
||||
import com.jpexs.asdec.tags.RemoveObjectTag;
|
||||
import com.jpexs.asdec.tags.SetBackgroundColorTag;
|
||||
import com.jpexs.asdec.tags.ShowFrameTag;
|
||||
import com.jpexs.asdec.tags.SymbolClassTag;
|
||||
import com.jpexs.asdec.tags.Tag;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.tags.base.FontTag;
|
||||
@@ -159,19 +161,25 @@ public class TagPanel extends JPanel implements ListSelectionListener {
|
||||
sos2.writeUI8(0);
|
||||
sos2.writeUI8(swf.frameRate);
|
||||
sos2.writeUI16(100); //framecnt
|
||||
//sos2.writeTag(new SetBackgroundColorTag(new RGB(255, 0, 255)));
|
||||
for (Tag tag : swf.tags) {
|
||||
if ((!(tag instanceof PlaceObjectTag))
|
||||
&& (!(tag instanceof PlaceObject2Tag))
|
||||
&& (!(tag instanceof PlaceObject3Tag))
|
||||
&& (!(tag instanceof RemoveObjectTag))
|
||||
&& (!(tag instanceof RemoveObject2Tag))
|
||||
&& (!(tag instanceof DoActionTag))
|
||||
&& (!(tag instanceof DoInitActionTag))
|
||||
&& (!(tag instanceof DoABCTag))
|
||||
&& (!(tag instanceof SymbolClassTag))
|
||||
&& (!(tag instanceof ShowFrameTag))) {
|
||||
sos2.writeTag(tag);
|
||||
sos2.writeTag(new SetBackgroundColorTag(new RGB(255, 255, 255)));
|
||||
|
||||
if (tagObj instanceof AloneTag) {
|
||||
sos2.writeTag(tagObj);
|
||||
}else{
|
||||
for (Tag tag : swf.tags) {
|
||||
if ((!(tag instanceof PlaceObjectTag))
|
||||
&& (!(tag instanceof PlaceObject2Tag))
|
||||
&& (!(tag instanceof PlaceObject3Tag))
|
||||
&& (!(tag instanceof RemoveObjectTag))
|
||||
&& (!(tag instanceof RemoveObject2Tag))
|
||||
&& (!(tag instanceof DoActionTag))
|
||||
&& (!(tag instanceof DoInitActionTag))
|
||||
&& (!(tag instanceof DoABCTag))
|
||||
&& (!(tag instanceof SymbolClassTag))
|
||||
&& (!(tag instanceof ShowFrameTag))
|
||||
&& (!(tag instanceof SetBackgroundColorTag))) {
|
||||
sos2.writeTag(tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,18 +209,18 @@ public class TagPanel extends JPanel implements ListSelectionListener {
|
||||
|
||||
int countGlyphs = ((FontTag) tagObj).getGlyphShapeTable().length;
|
||||
int fontId = ((FontTag) tagObj).getFontId();
|
||||
int sloupcu=(int)Math.ceil(Math.sqrt(countGlyphs));
|
||||
int radku=(int)Math.ceil(((float)countGlyphs)/((float)sloupcu));
|
||||
int x=0;
|
||||
int y=1;
|
||||
for (int f = 0; f < countGlyphs; f++) {
|
||||
if(x>=sloupcu){
|
||||
x=0;
|
||||
int sloupcu = (int) Math.ceil(Math.sqrt(countGlyphs));
|
||||
int radku = (int) Math.ceil(((float) countGlyphs) / ((float) sloupcu));
|
||||
int x = 0;
|
||||
int y = 1;
|
||||
for (int f = 0; f < countGlyphs; f++) {
|
||||
if (x >= sloupcu) {
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
List<TEXTRECORD> rec = new ArrayList<TEXTRECORD>();
|
||||
TEXTRECORD tr = new TEXTRECORD();
|
||||
int textHeight=height/radku;
|
||||
int textHeight = height / radku;
|
||||
tr.fontId = fontId;
|
||||
tr.styleFlagsHasFont = true;
|
||||
tr.textHeight = textHeight;
|
||||
@@ -223,10 +231,10 @@ public class TagPanel extends JPanel implements ListSelectionListener {
|
||||
tr.glyphEntries[0].glyphAdvance = 0;
|
||||
tr.glyphEntries[0].glyphIndex = f;
|
||||
rec.add(tr);
|
||||
mat.translateX=x*width/sloupcu;
|
||||
mat.translateY=y*height/radku;
|
||||
mat.translateX = x * width / sloupcu;
|
||||
mat.translateY = y * height / radku;
|
||||
sos2.writeTag(new DefineTextTag(999 + f, new RECT(0, width, 0, height), new MATRIX(), SWFOutputStream.getNeededBitsU(countGlyphs - 1), SWFOutputStream.getNeededBitsU(0), rec));
|
||||
sos2.writeTag(new PlaceObject2Tag(false, false, false, true, false, true, true, false, 1+f, 999 + f, mat, null, 0, null, 0, null));
|
||||
sos2.writeTag(new PlaceObject2Tag(false, false, false, true, false, true, true, false, 1 + f, 999 + f, mat, null, 0, null, 0, null));
|
||||
x++;
|
||||
}
|
||||
sos2.writeTag(new ShowFrameTag());
|
||||
|
||||
@@ -17,11 +17,12 @@
|
||||
package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class DefineBitsJPEG2Tag extends CharacterTag {
|
||||
public class DefineBitsJPEG2Tag extends CharacterTag implements AloneTag {
|
||||
|
||||
public int characterID;
|
||||
public byte[] imageData;
|
||||
|
||||
@@ -18,13 +18,14 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class DefineBitsJPEG3Tag extends CharacterTag {
|
||||
public class DefineBitsJPEG3Tag extends CharacterTag implements AloneTag {
|
||||
|
||||
public int characterID;
|
||||
public byte imageData[];
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
@@ -29,7 +30,7 @@ import java.io.OutputStream;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class DefineBitsJPEG4Tag extends CharacterTag {
|
||||
public class DefineBitsJPEG4Tag extends CharacterTag implements AloneTag {
|
||||
|
||||
public int characterID;
|
||||
public int deblockParam;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.ALPHABITMAPDATA;
|
||||
import com.jpexs.asdec.types.ALPHACOLORMAPDATA;
|
||||
@@ -31,7 +32,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.zip.InflaterInputStream;
|
||||
|
||||
public class DefineBitsLossless2Tag extends CharacterTag {
|
||||
public class DefineBitsLossless2Tag extends CharacterTag implements AloneTag {
|
||||
|
||||
public int characterID;
|
||||
public int bitmapFormat;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.BITMAPDATA;
|
||||
import com.jpexs.asdec.types.COLORMAPDATA;
|
||||
@@ -31,7 +32,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.zip.InflaterInputStream;
|
||||
|
||||
public class DefineBitsLosslessTag extends CharacterTag {
|
||||
public class DefineBitsLosslessTag extends CharacterTag implements AloneTag {
|
||||
|
||||
public int characterID;
|
||||
public int bitmapFormat;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.FontTag;
|
||||
import com.jpexs.asdec.types.SHAPE;
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.MORPHFILLSTYLEARRAY;
|
||||
@@ -34,7 +35,7 @@ import java.io.OutputStream;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class DefineMorphShape2Tag extends CharacterTag implements BoundedTag {
|
||||
public class DefineMorphShape2Tag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int characterId;
|
||||
public RECT startBounds;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.SWFOutputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.MORPHFILLSTYLEARRAY;
|
||||
@@ -34,7 +35,7 @@ import java.io.OutputStream;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class DefineMorphShapeTag extends CharacterTag implements BoundedTag {
|
||||
public class DefineMorphShapeTag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int characterId;
|
||||
public RECT startBounds;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.RECT;
|
||||
@@ -24,7 +25,7 @@ import com.jpexs.asdec.types.SHAPEWITHSTYLE;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class DefineShape2Tag extends CharacterTag implements BoundedTag {
|
||||
public class DefineShape2Tag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int shapeId;
|
||||
public RECT shapeBounds;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.RECT;
|
||||
@@ -24,7 +25,7 @@ import com.jpexs.asdec.types.SHAPEWITHSTYLE;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class DefineShape3Tag extends CharacterTag implements BoundedTag {
|
||||
public class DefineShape3Tag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int shapeId;
|
||||
public RECT shapeBounds;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.RECT;
|
||||
@@ -24,7 +25,7 @@ import com.jpexs.asdec.types.SHAPEWITHSTYLE;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class DefineShape4Tag extends CharacterTag implements BoundedTag {
|
||||
public class DefineShape4Tag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int shapeId;
|
||||
public RECT shapeBounds;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jpexs.asdec.tags;
|
||||
|
||||
import com.jpexs.asdec.SWFInputStream;
|
||||
import com.jpexs.asdec.tags.base.AloneTag;
|
||||
import com.jpexs.asdec.tags.base.BoundedTag;
|
||||
import com.jpexs.asdec.tags.base.CharacterTag;
|
||||
import com.jpexs.asdec.types.RECT;
|
||||
@@ -24,7 +25,7 @@ import com.jpexs.asdec.types.SHAPEWITHSTYLE;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class DefineShapeTag extends CharacterTag implements BoundedTag {
|
||||
public class DefineShapeTag extends CharacterTag implements BoundedTag,AloneTag {
|
||||
|
||||
public int shapeId;
|
||||
public RECT shapeBounds;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.jpexs.asdec.tags.base;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public interface AloneTag {
|
||||
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import com.jpexs.asdec.types.SHAPE;
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public interface FontTag {
|
||||
public interface FontTag extends AloneTag {
|
||||
public int getFontId();
|
||||
public SHAPE[] getGlyphShapeTable();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user