home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Font;
- import java.io.BufferedInputStream;
- import java.io.DataInputStream;
- import java.io.EOFException;
- 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 TOCScript {
- public TOCTreeItem item;
- public TOCTreeItem start;
- public int listlen;
- public TOCMenuItem menuPrev;
- public TOCMenuItem menuStart;
- public TOCMenuItem[] itemPrev;
- // $FF: renamed from: Ú int
- private int field_0;
- // $FF: renamed from: ok int
- public int field_1;
- // $FF: renamed from: Ó java.lang.String
- private String field_2;
- // $FF: renamed from: Ô java.net.URL
- private URL field_3;
- // $FF: renamed from: Û boolean
- private boolean field_4;
- // $FF: renamed from: Ü int
- private int field_5;
- // $FF: renamed from: Ã TOC
- private TOC field_6;
- // $FF: renamed from: Ý java.io.BufferedInputStream
- private BufferedInputStream field_7;
- // $FF: renamed from: Þ TOCZLWTable
- private TOCZLWTable field_8;
- // $FF: renamed from: ß int
- private int field_9 = -1;
- // $FF: renamed from: à int[]
- private int[] field_10 = new int[4096];
- // $FF: renamed from: á int
- private int field_11;
- // $FF: renamed from: â java.util.Vector
- private Vector field_12;
- // $FF: renamed from: ã java.lang.String
- private String field_13;
-
- // $FF: renamed from: Ò (java.lang.String) TOCTreeItem
- private final TOCTreeItem method_0(String var1) {
- var1 = var1.trim();
- int var2 = var1.indexOf(" ");
- String var3;
- if (var2 != -1) {
- var3 = var1.substring(0, var2);
- } else {
- var3 = var1;
- }
-
- if (!var3.equals("Menu") && !var3.equals("MenuItem") && !var3.equals("BeginSubMenu") && !var3.equals("EndSubMenu")) {
- TOCTreeItem var4 = new TOCTreeItem();
- var4.id = this.field_6.iID;
- var4.level = -1;
- var4.target = new String();
- var4.isSelected = false;
- var4.isExpanded = false;
- var4.isAutoExpand = false;
- var4.text = new String();
- var4.helpText = new String();
- TOC var10000 = this.field_6;
- var10000.iID += 2;
- if (var3.equals("Item")) {
- var4.fct = 0;
- } else if (var3.equals("ItemHelp")) {
- var4.fct = 1;
- } else if (var3.equals("BeginSubTree")) {
- var4.fct = 97;
- } else if (var3.equals("EndSubTree")) {
- var4.fct = 98;
- } else {
- var4.fct = -1;
- }
-
- var3 = this.method_3(var1, "text");
- if (var3 != null) {
- var4.text = var3;
- }
-
- var3 = this.method_3(var1, "image");
- if (var3 != null) {
- var4.imageName = var3;
- }
-
- var3 = this.method_3(var1, "openimage");
- if (var3 != null) {
- var4.imageOpenName = var3;
- }
-
- var3 = this.method_3(var1, "sound");
- if (var3 != null) {
- var4.sound = var3;
- }
-
- var3 = this.method_3(var1, "font");
- if (var3 != null) {
- String var6 = var3.substring(0, var3.indexOf(","));
- String var5 = var3.substring(var3.indexOf(",") + 1);
-
- try {
- int var7 = Integer.valueOf(var5);
- var4.textFont = new Font(var6, 0, var7);
- } catch (NumberFormatException var10) {
- }
- }
-
- var3 = this.method_3(var1, "color");
- if (var3 != null) {
- var4.textColor = this.field_6.ColorFromRGB(var3.trim());
- }
-
- var3 = this.method_3(var1, "expanded");
- if (var3 != null && var3.equals("YES")) {
- var4.isExpanded = true;
- }
-
- var3 = this.method_3(var1, "expandonselect");
- if (var3 != null && var3.equals("YES")) {
- var4.isAutoExpand = true;
- }
-
- var3 = this.method_3(var1, "selected");
- if (var3 != null && var3.equals("YES") && !this.field_4) {
- var4.isSelected = true;
- this.field_4 = true;
- }
-
- var3 = this.method_3(var1, "url");
- if (var3 != null) {
- if (var3.indexOf(44) != -1) {
- var4.target = var3.substring(var3.indexOf(44) + 1);
- var3 = var3.substring(0, var3.indexOf(44));
- }
-
- boolean var25 = true;
-
- try {
- var4.url = new URL(var3);
- } catch (MalformedURLException var9) {
- var25 = false;
- }
-
- if (!var25) {
- try {
- var4.url = new URL(this.field_3, var3);
- } catch (MalformedURLException var8) {
- var4.url = null;
- }
- }
- }
-
- var3 = this.method_3(var1, "infoscript");
- if (var3 != null) {
- var4.scrollScriptFile = var3;
- var3 = this.method_3(var1, "inforeload");
- if (var3 != null) {
- var4.lReloadInt = Long.parseLong(var3) * 100L;
- } else {
- var4.lReloadInt = -1L;
- }
- } else {
- var4.scroll = this.field_6.genericScroll;
- var4.lReloadInt = this.field_6.lReload;
- var4.lStart = this.field_6.lStart;
- }
-
- var3 = this.method_3(var1, "level");
- if (var3 != null) {
- var4.level = Integer.parseInt(var3);
- }
-
- return var4;
- } else {
- this.method_4(var1);
- return null;
- }
- }
-
- // $FF: renamed from: Ú () int
- private final int method_1() {
- int var2;
- if (this.field_9 == -1) {
- int var1;
- if ((var1 = this.field_7.read()) == -1 || (this.field_9 = this.field_7.read()) == -1) {
- throw new EOFException();
- }
-
- var2 = var1 << 4 & 4080 | this.field_9 >> 4 & 15;
- this.field_9 &= 15;
- } else {
- int var3;
- if ((var3 = this.field_7.read()) == -1) {
- throw new EOFException();
- }
-
- var2 = var3 | this.field_9 << 8 & 3840;
- this.field_9 = -1;
- }
-
- return var2;
- }
-
- public TOCScript(URL var1, String var2, TOC var3) {
- this.field_2 = var2;
- this.field_3 = var1;
- this.field_6 = var3;
- this.itemPrev = new TOCMenuItem[10];
- this.field_5 = 1000;
- this.field_0 = 0;
- this.field_12 = new Vector();
- this.field_13 = new String();
- if (this.field_6.fCompTOCScript) {
- this.field_8 = new TOCZLWTable();
- }
-
- this.field_4 = false;
- this.field_1 = this.method_5();
- }
-
- // $FF: renamed from: Û () int
- private final int method_2() {
- try {
- URL var3 = new URL(this.field_3, this.field_2);
- InputStream var1 = var3.openStream();
- DataInputStream var2 = new DataInputStream(var1);
-
- String var4;
- while((var4 = var2.readLine()) != null) {
- if (var4.length() > 0) {
- this.field_12.addElement(var4);
- }
- }
-
- var1.close();
- ((FilterInputStream)var2).close();
- return 1;
- } catch (IOException var5) {
- return -1;
- }
- }
-
- // $FF: renamed from: Ô (java.lang.String, java.lang.String) java.lang.String
- private final String method_3(String var1, String var2) {
- int var3 = -1;
- int var4 = -1;
- boolean var6 = false;
-
- while(!var6) {
- var3 = var1.indexOf(var2, var3 + 1);
- if (var3 == -1) {
- var6 = true;
- } else if (var1.charAt(var3 - 1) == ' ') {
- var6 = true;
- }
- }
-
- var6 = false;
-
- while(!var6) {
- var4 = var1.indexOf("text", var4 + 1);
- if (var4 == -1) {
- var6 = true;
- } else if (var1.charAt(var4 - 1) == ' ') {
- var6 = true;
- }
- }
-
- if (var4 != -1 && var3 > var4) {
- return null;
- } else if (var3 == -1) {
- return null;
- } else {
- String var5 = var1.substring(var3);
- var3 = var5.indexOf("=");
- ++var3;
- if (var2.equals("text")) {
- var5 = var5.substring(var3);
- } else {
- var5 = var5.substring(var3);
- if (var5.indexOf(" ") != -1) {
- var5 = var5.substring(0, var5.indexOf(" "));
- }
- }
-
- var5.trim();
- return var5;
- }
- }
-
- // $FF: renamed from: Ü (java.lang.String) void
- private final void method_4(String var1) {
- int var2 = var1.indexOf(" ");
- String var3;
- if (var2 != -1) {
- var3 = var1.substring(0, var2);
- } else {
- var3 = var1;
- }
-
- if (var3.equals("BeginSubMenu")) {
- ++this.field_0;
- this.itemPrev[this.field_0] = null;
- } else if (var3.equals("EndSubMenu")) {
- this.field_0 += -1;
- } else {
- TOCMenuItem var4 = new TOCMenuItem();
- var4.id = this.field_5++;
- var4.target = new String();
- var4.text = new String();
- if (var3.equals("Menu")) {
- if (this.menuPrev == null) {
- this.menuStart = var4;
- } else {
- this.menuPrev.next = var4;
- }
-
- this.menuPrev = var4;
- this.field_0 = 0;
- this.itemPrev[0] = null;
- } else {
- if (this.menuPrev.subItem == null) {
- this.menuPrev.subItem = var4;
- }
-
- if (this.itemPrev[this.field_0] != null) {
- this.itemPrev[this.field_0].next = var4;
- }
-
- if (this.field_0 > 0 && this.itemPrev[this.field_0 - 1].subItem == null) {
- this.itemPrev[this.field_0 - 1].subItem = var4;
- }
-
- this.itemPrev[this.field_0] = var4;
- }
-
- var3 = this.method_3(var1, "text");
- if (var3 != null) {
- var4.text = var3;
- }
-
- var3 = this.method_3(var1, "url");
- if (var3 != null) {
- if (var3.indexOf(44) != -1) {
- var4.target = var3.substring(var3.indexOf(44) + 1);
- var3 = var3.substring(0, var3.indexOf(44));
- }
-
- boolean var5 = true;
-
- try {
- var4.url = new URL(var3);
- } catch (MalformedURLException var6) {
- var5 = false;
- }
-
- if (!var5) {
- try {
- var4.url = new URL(this.field_3, var3);
- return;
- } catch (MalformedURLException var7) {
- var4.url = null;
- }
- }
- }
-
- }
- }
-
- // $FF: renamed from: Õ () int
- private final int method_5() {
- TOCTreeItem var1 = null;
- boolean var3 = true;
- int var9 = 1;
- if (this.field_6.fCompTOCScript) {
- if ((var9 = this.method_8()) == -1) {
- return -1;
- }
- } else if ((var9 = this.method_2()) == -1) {
- return -1;
- }
-
- int var7 = 0;
- int var6 = 0;
- this.start = null;
- int var8 = 0;
- boolean var5 = false;
-
- while(var8 < this.field_12.size()) {
- String var2 = (String)this.field_12.elementAt(var8++);
- var2 = var2.trim();
- if (!var2.startsWith("//") && var2.length() != 0) {
- this.item = this.method_0(var2);
- if (this.item != null) {
- ++this.listlen;
- if (this.start == null) {
- this.start = this.item;
- }
-
- if (var1 != null) {
- var1.nextLine = this.item;
- }
-
- if (this.item.fct == 0 && this.item.level > var6 + 1) {
- var6 = this.item.level - 1;
- }
-
- if (this.item.fct == 97) {
- var3 = false;
- ++var7;
- if (var7 > var6) {
- var6 = var7;
- }
- } else if (this.item.fct == 98) {
- var3 = false;
- --var7;
- } else {
- var3 = true;
- }
-
- if (this.item.fct == 1) {
- var1.helpText = this.item.text;
- }
-
- if (this.item.fct == 0) {
- var5 = true;
- } else {
- var5 = false;
- }
-
- var1 = this.item;
- }
- }
- }
-
- TOCTreeItem[] var11 = new TOCTreeItem[var6 + 1];
- boolean var4 = false;
- this.item = this.start;
- var7 = 0;
-
- for(int var10 = 0; var10 < this.listlen; ++var10) {
- if (this.item.fct == 0) {
- if (!this.field_4) {
- this.item.isSelected = true;
- this.field_4 = true;
- }
-
- if (this.item.level > 0) {
- if (this.item.level > var7 + 1) {
- var4 = true;
- }
-
- var7 = this.item.level - 1;
- }
-
- if (var4) {
- var11[var7 - 1].child = this.item;
- var4 = false;
- } else if (var11[var7] != null) {
- var11[var7].next = this.item;
- }
-
- if (var7 > 0) {
- this.item.parent = var11[var7 - 1];
- }
-
- var11[var7] = this.item;
- } else if (this.item.fct == 97) {
- ++var7;
- var4 = true;
- } else if (this.item.fct == 98 && var7 > 0) {
- --var7;
- }
-
- this.item = this.item.nextLine;
- }
-
- return var9;
- }
-
- // $FF: renamed from: Ý (int) void
- private final void method_6(int var1) {
- if (var1 != 10 && var1 != 13) {
- String var10001 = this.field_13;
- this.field_13 = var10001 + (char)var1;
- } else if (this.field_13.length() > 0) {
- this.field_12.addElement(this.field_13);
- this.field_13 = "";
- return;
- }
-
- }
-
- // $FF: renamed from: Þ () int
- private final int method_7() {
- int var6 = -1;
- short var8 = 32767;
-
- try {
- this.field_11 = 0;
- boolean var7 = false;
- int var3 = this.method_1();
- int var1 = this.field_8.String_TE[var3].FollChar;
- this.method_6(var1);
- int var4 = var1;
- int var5 = this.method_1();
-
- try {
- while(true) {
- int var2 = var5;
- if (!this.field_8.String_TE[var5].Used) {
- var6 = var4;
- var2 = var3;
- var7 = true;
- }
-
- while(this.field_8.String_TE[var2].PrevChar != var8) {
- this.field_10[++this.field_11] = this.field_8.String_TE[var2].FollChar;
- var2 = this.field_8.String_TE[var2].PrevChar;
- }
-
- var4 = this.field_8.String_TE[var2].FollChar;
- this.method_6(var4);
-
- while(this.field_11 > 0) {
- int[] var10001 = this.field_10;
- int var10004 = this.field_11;
- this.field_11 = var10004 + -1;
- this.method_6(var10001[var10004]);
- }
-
- if (var7) {
- var4 = var6;
- this.method_6(var6);
- var7 = false;
- }
-
- this.field_8.MakeTableElement(var3, var4);
- var3 = var5;
- var5 = this.method_1();
- }
- } catch (EOFException var9) {
- if (this.field_13.length() > 0) {
- this.field_12.addElement(this.field_13);
- }
-
- return 1;
- }
- } catch (IOException var10) {
- return -1;
- }
- }
-
- // $FF: renamed from: ß () int
- private final int method_8() {
- int var4 = 1;
-
- try {
- URL var3 = new URL(this.field_3, this.field_2);
- InputStream var2 = var3.openStream();
- DataInputStream var1 = new DataInputStream(var2);
- this.field_7 = new BufferedInputStream(var1, 16384);
- var4 = this.method_7();
- this.field_7.close();
- ((FilterInputStream)var1).close();
- return var4;
- } catch (IOException var5) {
- return -1;
- }
- }
- }
-