home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.io.DataInputStream;
- import java.io.FilterInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
-
- public final class ANIScript {
- // $FF: renamed from: Ï int
- static final int field_0 = 1;
- // $FF: renamed from: Ð int
- static final int field_1 = 2;
- // $FF: renamed from: Ñ int
- static final int field_2 = 3;
- // $FF: renamed from: Ò java.lang.String
- private String field_3 = new String(",AGENTITEM,01,STARTANIMATION,02,ENDANIMATION,03,");
- // $FF: renamed from: Ó int
- static final int field_4 = 0;
- // $FF: renamed from: Ô int
- static final int field_5 = 1;
- // $FF: renamed from: Õ int
- static final int field_6 = 2;
- // $FF: renamed from: Ö int
- static final int field_7 = 3;
- // $FF: renamed from: ├ÿ int
- static final int field_8 = 4;
- // $FF: renamed from: Ù int
- static final int field_9 = 5;
- // $FF: renamed from: Ú int
- static final int field_10 = 6;
- // $FF: renamed from: Û int
- static final int field_11 = 7;
- // $FF: renamed from: Ü java.lang.String
- private String field_12 = new String(",SHOWTIME,00,SHOWSEQ,01,SCROLL_RTL,02,SCROLL_PTL,03,SCROLL_LTR,04,SCROLL_LTP,05,SCROLL_RTP,06,SCROLL_PTR,07,");
- // $FF: renamed from: ok int
- public int field_13;
- // $FF: renamed from: Ç ANI
- private ANI field_14;
- // $FF: renamed from: Ý java.lang.String
- private String field_15;
- // $FF: renamed from: Þ java.net.URL
- private URL field_16;
- // $FF: renamed from: ß java.lang.String
- private String field_17;
- // $FF: renamed from: à java.lang.String
- private String field_18;
- public Vector AgentItems;
- // $FF: renamed from: á int
- private int field_19;
- // $FF: renamed from: â ANIAgentItem
- private ANIAgentItem field_20;
- // $FF: renamed from: ã int
- private int field_21;
- // $FF: renamed from: ä java.awt.Font
- private Font field_22;
- // $FF: renamed from: å java.awt.Color
- private Color field_23;
- // $FF: renamed from: æ java.awt.FontMetrics
- private FontMetrics field_24;
- // $FF: renamed from: ç boolean
- private boolean field_25;
- // $FF: renamed from: è boolean
- private boolean field_26;
-
- // $FF: renamed from: Ï (java.lang.String, java.lang.String) java.awt.Color
- static final Color method_0(String var0, String var1) {
- int var4 = Integer.parseInt(var1.substring(0, var1.indexOf(",")));
- String var3 = var1.substring(var1.indexOf(",") + 1);
- int var5 = Integer.parseInt(var3.substring(0, var3.indexOf(",")));
- var3 = var3.substring(var3.indexOf(",") + 1);
- int var6 = Integer.parseInt(var3);
- Color var2 = new Color(var4, var5, var6);
- return var2;
- }
-
- public ANIScript(ANI var1, URL var2, String var3, int var4) {
- this.field_14 = var1;
- this.field_15 = var3;
- this.field_16 = var2;
- this.field_19 = var4;
- if (this.field_19 == 1) {
- this.AgentItems = new Vector();
- }
-
- this.field_13 = this.method_7();
- }
-
- // $FF: renamed from: Ð (java.lang.String) int
- private final int method_1(String var1) {
- String var2 = var1.toUpperCase();
- int var3 = -1;
- String var4 = "," + var2 + ",";
- int var5 = this.field_12.indexOf(var4);
- if (var5 != -1) {
- var5 += var4.length();
- var3 = Integer.parseInt(this.field_12.substring(var5, var5 + 2));
- }
-
- return var3;
- }
-
- // $FF: renamed from: Ñ (ANIAgentItem) int
- private final int method_2(ANIAgentItem var1) {
- int var2 = 0;
- int var3 = this.field_21;
- Font var4 = this.field_22;
-
- for(char var5 = this.method_8(var1); var5 != 0 && var5 != ' ' && var5 != '\r'; var5 = this.method_8(var1)) {
- var2 += this.field_24.charWidth(var5);
- }
-
- this.field_21 = var3;
- this.field_22 = var4;
- this.field_24 = this.field_14.getFontMetrics(this.field_22);
- return var2;
- }
-
- // $FF: renamed from: Ò (java.lang.String, int) boolean
- private final boolean method_3(String var1, int var2) {
- boolean var3 = true;
- int var4 = 0;
- String var5 = var1;
- String var6 = null;
- String var7 = null;
- ANIAgentItem var8 = new ANIAgentItem();
- var8.id = this.field_14.iID;
- var8.xHelp = 100;
- var8.yHelp = 5;
- var8.wHelp = 100;
- var8.hHelp = 40;
- var8.fHelpToRight = true;
- var8.aniIndex = -1;
- var8.aniFrames = 1;
- var8.aniSequences = 1;
- var8.banIndex = -1;
- var8.banSequences = 1;
- var8.delay = 50;
- var8.xInc = 1;
- var8.holdTime = 10;
- var8.launchRepeat = -1;
- var8.launchIntervalMin = 60;
- var8.launchIntervalMax = 60;
- if (var2 == 1) {
- var8.preAni = new Vector();
- var8.postAni = new Vector();
- var8.banFrames = 1;
- var8.scriptLines = var1;
- } else {
- ANIAgentItem var10000 = this.field_20;
- String var10001 = var10000.scriptLines;
- var10000.scriptLines = var10001 + var1;
- }
-
- ANI var15 = this.field_14;
- var15.iID += 2;
-
- while(var4 != -1) {
- var4 = this.method_6(var5);
- if (var4 != -1) {
- var5 = var5.substring(var4 + 1).trim();
- if (this.field_17.equals("METHOD")) {
- var8.method = this.method_1(this.field_18);
- } else if (this.field_17.equals("DELAY")) {
- var8.delay = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("XINC")) {
- var8.xInc = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("HOLDTIME")) {
- var8.holdTime = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("ENDDELAY")) {
- var8.endDelay = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("ANIIMAGE")) {
- var8.aniImage = getURL(this.field_17, this.field_18, this.field_16);
- } else if (this.field_17.equals("ANIIMAGEFRAMES")) {
- var8.aniFrames = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("ANIIMAGEINC")) {
- var6 = this.field_18;
- } else if (this.field_17.equals("ANIIMAGESEQUENCES")) {
- var8.aniSequences = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("ANIIMAGEXOFFSET")) {
- var8.xpAni = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("ANIIMAGEYOFFSET")) {
- var8.ypAni = Integer.parseInt(this.field_18);
- } else if (var2 == 1) {
- if (this.field_17.equals("HELP")) {
- var8.helpText = this.field_18;
- } else if (this.field_17.equals("HELPXOFFSET")) {
- var8.xHelp = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("HELPYOFFSET")) {
- var8.yHelp = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("HELPWIDTH")) {
- var8.wHelp = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("HELPHEIGHT")) {
- var8.hHelp = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("HELPDIRECTION")) {
- if (this.field_18.toUpperCase().equals("LEFT")) {
- var8.fHelpToRight = false;
- }
- } else if (this.field_17.equals("URL")) {
- var8.url = getURL(this.field_17, this.field_18, this.field_16);
- } else if (this.field_17.equals("TARGET")) {
- var8.target = this.field_18;
- } else if (this.field_17.equals("BANIMAGE")) {
- var8.banImage = getURL(this.field_17, this.field_18, this.field_16);
- } else if (this.field_17.equals("BANIMAGEFRAMES")) {
- var8.banFrames = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("BANIMAGEINC")) {
- var7 = this.field_18;
- } else if (this.field_17.equals("BANIMAGESEQUENCES")) {
- var8.banSequences = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("BANIMAGEXOFFSET")) {
- var8.xpBan = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("BANIMAGEYOFFSET")) {
- var8.ypBan = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("LAUNCHINTERVAL")) {
- int[] var9 = this.method_11(this.field_17, this.field_18);
- var8.launchIntervalMin = var9[0];
- var8.launchIntervalMax = var9[1];
- } else if (this.field_17.equals("LAUNCHFIRST")) {
- var8.launchFirst = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("LAUNCHREPEAT")) {
- var8.launchRepeat = Integer.parseInt(this.field_18);
- } else if (this.field_17.equals("SOUND")) {
- var8.sound = this.field_18;
- } else if (this.field_17.equals("SOUNDDELAY")) {
- var8.soundDelay = Integer.parseInt(this.field_18);
- }
- }
- }
- }
-
- var8.aniIncList = new int[var8.aniFrames];
- int var12 = var8.aniFrames;
-
- while(true) {
- --var12;
- if (var12 < 0) {
- if (var6 != null) {
- var8.aniIncList = this.method_9(var6, var8.aniFrames);
- }
-
- var8.banIncList = new int[var8.banFrames];
- var12 = var8.banFrames;
-
- while(true) {
- --var12;
- if (var12 < 0) {
- if (var7 != null) {
- var8.banIncList = this.method_9(var7, var8.banFrames);
- }
-
- if (var3) {
- if (var8.method != 0) {
- var8.holdTime = 1000;
- }
-
- switch (var2) {
- case 1:
- this.AgentItems.addElement(var8);
- if (var8.helpText != null) {
- Image var14 = this.field_14.ANICreateImage(var8.wHelp, var8.hHelp);
- Graphics var10 = var14.getGraphics();
- var10.setColor(this.field_14.agentBgColor);
- var10.fillRect(0, 0, var8.wHelp, var8.hHelp);
- var10.setColor(this.field_14.helpBgColor);
- var10.fillRoundRect(0, 0, var8.wHelp, var8.hHelp, 20, 20);
- var10.setColor(this.field_14.helpBorderColor);
- var10.drawRoundRect(0, 0, var8.wHelp - 1, var8.hHelp - 1, 20, 20);
- this.method_12(var8, var10);
- ANIImageTransition var11 = new ANIImageTransition(var14, this.field_14);
- var11.makeTransparent(this.field_14.agentBgColor);
- var8.helpTextImg = var11.createImage();
- }
-
- this.field_20 = var8;
- break;
- case 2:
- this.field_20.preAni.addElement(var8);
- break;
- case 3:
- this.field_20.postAni.addElement(var8);
- }
- }
-
- return var3;
- }
-
- var8.banIncList[var12] = 1;
- }
- }
-
- var8.aniIncList[var12] = 1;
- }
- }
-
- // $FF: renamed from: Ó (java.lang.String, int) int
- private final int method_4(String var1, int var2) {
- boolean var3 = false;
- int var4 = var2;
-
- while(!var3) {
- var4 = var1.indexOf("\"", var4 + 1);
- if (var4 > 0) {
- if (var1.charAt(var4 - 1) != '\\') {
- var3 = true;
- }
- } else {
- if (var4 == -1) {
- return -1;
- }
-
- var3 = true;
- }
- }
-
- return var4;
- }
-
- // $FF: renamed from: Ô (java.lang.String) int
- private final int method_5(String var1) {
- int var4 = -1;
- int var3 = var1.indexOf(" ");
- String var2;
- if (var3 != -1) {
- var2 = var1.substring(0, var3);
- } else {
- var2 = var1;
- }
-
- var2 = var2.toUpperCase();
- String var5 = "," + var2 + ",";
- int var6 = this.field_3.indexOf(var5);
- if (var6 != -1) {
- var6 += var5.length();
- var4 = Integer.parseInt(this.field_3.substring(var6, var6 + 2));
- }
-
- return var4;
- }
-
- // $FF: renamed from: Õ (java.lang.String) int
- private final int method_6(String var1) {
- this.field_17 = null;
- this.field_18 = null;
- var1 = var1.trim();
- int var2 = var1.indexOf("=");
- if (var2 == -1) {
- return -1;
- } else {
- this.field_17 = var1.substring(0, var2).toUpperCase();
- String var3 = var1.substring(var2 + 1);
- int var4 = this.method_4(var3, -1);
- int var5 = var4;
- if (var4 != -1) {
- var5 = this.method_4(var3, var4);
- }
-
- this.field_18 = var3.substring(var4 + 1, var5 - var4);
- int var6 = 0;
-
- while(var6 != -1) {
- var6 = this.field_18.indexOf("\\\"");
- if (var6 != -1) {
- this.field_18 = this.field_18.substring(0, var6) + this.field_18.substring(var6 + 1);
- }
- }
-
- return var2 + var5 + 1;
- }
- }
-
- public static final URL getURL(String var0, String var1, URL var2) {
- URL var3;
- try {
- var3 = new URL(var1);
- } catch (MalformedURLException var5) {
- var3 = null;
- }
-
- if (var3 == null) {
- try {
- var3 = new URL(var2, var1);
- } catch (MalformedURLException var4) {
- }
- }
-
- return var3;
- }
-
- // $FF: renamed from: Ö () int
- private final int method_7() {
- Object var4 = null;
- byte var8 = 1;
-
- InputStream var1;
- DataInputStream var2;
- try {
- URL var12 = new URL(this.field_16, this.field_15);
- var1 = var12.openStream();
- var2 = new DataInputStream(var1);
- } catch (IOException var10) {
- return -1;
- }
-
- Vector var3 = new Vector();
-
- try {
- String var5;
- while((var5 = var2.readLine()) != null) {
- var5 = var5.trim();
- if (!var5.startsWith("//") && var5.length() != 0) {
- while(var5.endsWith("\\")) {
- var5 = var5.substring(0, var5.length() - 1);
- String var6 = var2.readLine();
- if (var6 == null) {
- var8 = -1;
- break;
- }
-
- var6 = var6.trim();
- if (!var6.startsWith("//") && var6.length() != 0) {
- var5 = var5 + var6;
- }
- }
-
- var3.addElement(var5);
- }
- }
-
- var1.close();
- ((FilterInputStream)var2).close();
- if (var8 == -1) {
- return var8;
- }
- } catch (IOException var11) {
- return -1;
- }
-
- for(int var7 = 0; var7 < var3.size(); ++var7) {
- String var14 = (String)var3.elementAt(var7);
- this.method_10(var14);
- }
-
- return var8;
- }
-
- // $FF: renamed from: ├ÿ (ANIAgentItem) char
- private final char method_8(ANIAgentItem var1) {
- char var2 = 0;
- boolean var3 = true;
- String var5 = var1.helpText;
- int var6 = var5.length();
-
- while(var3) {
- var3 = false;
- if (this.field_21 < var6) {
- var2 = var5.charAt(this.field_21);
- switch (var2) {
- case '&':
- String var11 = var5.substring(this.field_21, this.field_21 + 4).toUpperCase();
- if (var11.equals(">")) {
- var2 = '>';
- this.field_21 += 3;
- } else if (var11.equals("<")) {
- var2 = '<';
- this.field_21 += 3;
- }
-
- ++this.field_21;
- break;
- case '<':
- if (this.field_21 + 2 <= var6) {
- String var4 = var5.substring(this.field_21, this.field_21 + 3).toUpperCase();
- if (var4.equals("<B>")) {
- this.field_26 = true;
- this.field_21 += 2;
- var3 = true;
- } else if (var4.equals("<I>")) {
- this.field_25 = true;
- this.field_21 += 2;
- var3 = true;
- }
- }
-
- if (this.field_21 + 3 <= var6) {
- String var9 = var5.substring(this.field_21, this.field_21 + 4).toUpperCase();
- if (var9.equals("</B>")) {
- this.field_26 = false;
- this.field_21 += 3;
- var3 = true;
- } else if (var9.equals("</I>")) {
- this.field_25 = false;
- this.field_21 += 3;
- var3 = true;
- } else if (var9.equals("<BR>")) {
- var2 = '\r';
- this.field_21 += 3;
- }
- }
-
- if (this.field_21 + 7 <= var6) {
- String var10 = var5.substring(this.field_21, this.field_21 + 7).toUpperCase();
- if (var10.compareTo("<COLOR ") == 0) {
- int var7 = var5.indexOf(">", this.field_21 + 1);
- String var8 = var5.substring(this.field_21 + 7, var7).trim();
- this.method_6(var8);
- if (this.field_17.equals("VALUE")) {
- this.field_23 = method_0("<color>", this.field_18);
- }
-
- this.field_21 = var7;
- var3 = true;
- }
- }
-
- ++this.field_21;
- if (var3) {
- int var12 = 0;
- if (this.field_26) {
- var12 |= 1;
- }
-
- if (this.field_25) {
- var12 |= 2;
- }
-
- this.field_22 = new Font(this.field_22.getName(), var12, this.field_22.getSize());
- this.field_24 = this.field_14.getFontMetrics(this.field_22);
- }
- break;
- default:
- ++this.field_21;
- }
- } else {
- var2 = 0;
- }
- }
-
- return var2;
- }
-
- // $FF: renamed from: Ù (java.lang.String, int) int[]
- private final int[] method_9(String var1, int var2) {
- String var3 = var1;
- int var4 = 0;
-
- int var5;
- int[] var6;
- for(var6 = new int[var2]; (var5 = var3.indexOf(",")) != -1 && var4 < var2; var3 = var3.substring(var5 + 1)) {
- var6[var4++] = Integer.parseInt(var3.substring(0, var5));
- }
-
- if (var4 < var2) {
- var6[var4] = Integer.parseInt(var3);
- }
-
- return var6;
- }
-
- // $FF: renamed from: Ú (java.lang.String) boolean
- private final boolean method_10(String var1) {
- boolean var2 = false;
- String var5 = null;
- int var3 = this.method_5(var1);
- int var4 = var1.indexOf(" ");
- if (var4 != -1) {
- var5 = var1.substring(var4 + 1).trim();
- }
-
- switch (var3) {
- case 1:
- case 2:
- case 3:
- var2 = this.method_3(var5, var3);
- default:
- return var2;
- }
- }
-
- // $FF: renamed from: Û (java.lang.String, java.lang.String) int[]
- private final int[] method_11(String var1, String var2) {
- int[] var3 = new int[2];
- if (var2.indexOf(",") != -1) {
- var3[0] = Integer.parseInt(var2.substring(0, var2.indexOf(",")));
- var3[1] = Integer.parseInt(var2.substring(var2.indexOf(",") + 1));
- } else {
- var3[0] = Integer.parseInt(var2);
- var3[1] = var3[0];
- }
-
- return var3;
- }
-
- // $FF: renamed from: Ü (ANIAgentItem, java.awt.Graphics) void
- private final void method_12(ANIAgentItem var1, Graphics var2) {
- boolean var3 = false;
- int var4 = var1.wHelp - 10;
- byte var10 = 5;
- this.field_23 = this.field_14.helpTextColor;
- this.field_22 = this.field_14.helpTextFont;
- this.field_24 = this.field_14.getFontMetrics(this.field_22);
- this.field_21 = 0;
- this.field_26 = false;
- this.field_25 = false;
- int var8 = var10;
-
- int var6;
- for(int var9 = this.field_24.getHeight() - this.field_24.getLeading() - this.field_24.getMaxDescent() + 2; !var3; this.field_21 = var6) {
- int var5 = this.method_2(var1);
- if (var8 + var5 > var4 && var5 < var4) {
- var8 = var10;
- var9 += this.field_24.getHeight();
- }
-
- char var7;
- for(var7 = this.method_8(var1); var7 != 0 && var7 != ' ' && var7 != '\r'; var7 = this.method_8(var1)) {
- var2.setFont(this.field_22);
- var2.setColor(this.field_23);
- var2.drawString(String.valueOf(var7), var8, var9);
- var8 += this.field_24.charWidth(var7);
- if (var8 > var4) {
- var8 = var10;
- var9 += this.field_24.getHeight();
- }
- }
-
- var6 = this.field_21;
- if (var7 == 0) {
- var3 = true;
- } else {
- while(var7 == ' ' || var7 == '\r') {
- if (var7 == '\r') {
- var8 = var10;
- var9 += this.field_24.getHeight();
- } else if (var7 == ' ') {
- var8 += this.field_24.charWidth(var7);
- }
-
- var6 = this.field_21;
- var7 = this.method_8(var1);
- }
- }
- }
-
- }
- }
-