home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- 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 class ScrollerScript {
- // $FF: renamed from: ok int
- public int field_0;
- private String scrpt;
- private URL documentURL;
- public String lineParam;
- public String lineValue;
- private ScrollerLine sLine;
- private Vector lines;
- private int iLines;
-
- public ScrollerLine getLine(int var1) {
- return var1 >= this.iLines ? null : (ScrollerLine)this.lines.elementAt(var1);
- }
-
- public int getInt(String var1, String var2, int var3) {
- int var4;
- try {
- var4 = new Integer(var2);
- } catch (NumberFormatException var6) {
- System.out.println("WARNING: Bad integer value '" + var2 + "' for parameter '" + var1 + "'. Setting value to default=" + var3 + ".");
- var4 = var3;
- }
-
- return var4;
- }
-
- public Color getColor(String var1, String var2, Color var3) {
- Color var4;
- try {
- int var6 = new Integer(var2.substring(0, var2.indexOf(",")));
- var6 = Math.max(var6, 0);
- var6 = Math.min(var6, 255);
- String var5 = var2.substring(var2.indexOf(",") + 1);
- int var7 = new Integer(var5.substring(0, var5.indexOf(",")));
- var7 = Math.max(var7, 0);
- var7 = Math.min(var7, 255);
- var5 = var5.substring(var5.indexOf(",") + 1);
- int var8 = new Integer(var5);
- var8 = Math.max(var8, 0);
- var8 = Math.min(var8, 255);
- var4 = new Color(var6, var7, var8);
- } catch (NumberFormatException var10) {
- System.out.println("WARNING: Bad color value '" + var2 + "' for parameter '" + var1 + "'. Using default color.");
- var4 = var3;
- }
-
- return var4;
- }
-
- public ScrollerScript(URL var1, String var2) {
- this.scrpt = var2;
- this.documentURL = var1;
- this.field_0 = this.initScript();
- }
-
- public int getNextParameter(String var1) {
- if (var1 == null) {
- return -1;
- } else {
- byte var2 = -1;
- this.lineParam = null;
- this.lineValue = null;
- var1 = var1.trim();
- int var3 = var1.indexOf("=");
- if (var3 == -1) {
- return var2;
- } else {
- this.lineParam = var1.substring(0, var3);
- this.lineParam = this.lineParam.toUpperCase();
- String var4 = var1.substring(var3 + 1);
- var4 = var4.trim();
- boolean var5 = false;
- int var6 = -1;
- int var7 = -1;
-
- while(!var5) {
- var6 = var4.indexOf("\"", var6 + 1);
- if (var6 > 0) {
- if (var4.charAt(var6 - 1) != '\\') {
- var5 = true;
- }
- } else {
- if (var6 == -1) {
- break;
- }
-
- var5 = true;
- }
- }
-
- if (!var5) {
- System.out.println("ERROR: No starting double quotes found for parameter '" + this.lineParam + "'.");
- return var2;
- } else {
- var5 = false;
- var7 = var6;
-
- while(!var5) {
- var7 = var4.indexOf("\"", var7 + 1);
- if (var7 > 0) {
- if (var4.charAt(var7 - 1) != '\\') {
- var5 = true;
- }
- } else {
- if (var7 == -1) {
- break;
- }
-
- var5 = true;
- }
- }
-
- if (var6 > 1) {
- System.out.println("WARNING: Characters before value of parameter '" + this.lineParam + "' ignored.");
- }
-
- if (!var5) {
- System.out.println("ERROR: No ending double quotes found for parameter '" + this.lineParam + "'.");
- return var2;
- } else {
- this.lineValue = var4.substring(var6 + 1, var7 - var6);
- int var8 = 0;
-
- while(var8 != -1) {
- var8 = this.lineValue.indexOf("\\\"");
- if (var8 != -1) {
- this.lineValue = this.lineValue.substring(0, var8) + this.lineValue.substring(var8 + 1);
- }
- }
-
- return var3 + var7 + 1;
- }
- }
- }
- }
- }
-
- public URL getURL(String var1, String var2) {
- boolean var4 = true;
-
- try {
- new URL(var2);
- } catch (MalformedURLException var7) {
- var4 = false;
- }
-
- URL var3;
- if (!var4) {
- try {
- var3 = new URL(this.documentURL, var2);
- } catch (MalformedURLException var6) {
- var3 = null;
- }
- } else {
- var3 = null;
- }
-
- if (var3 == null) {
- System.out.println("WARNING: Bad URL value '" + var2 + "' for parameter '" + var1 + "'. URL ignored.");
- }
-
- return var3;
- }
-
- public int initScript() {
- Object var3 = null;
-
- InputStream var1;
- DataInputStream var2;
- try {
- URL var8 = new URL(this.documentURL, this.scrpt);
- var1 = var8.openStream();
- var2 = new DataInputStream(var1);
- } catch (IOException var7) {
- System.out.println("ERROR: Error opening script file '" + ((URL)var3).toExternalForm() + "'.");
- return -1;
- }
-
- this.lines = new Vector();
- this.iLines = 0;
-
- try {
- String var4;
- while((var4 = var2.readLine()) != null) {
- var4 = var4.trim();
- if (!var4.startsWith("//") && var4.length() != 0) {
- this.parseLine(var4);
- this.lines.addElement(this.sLine);
- ++this.iLines;
- }
- }
-
- var1.close();
- ((FilterInputStream)var2).close();
- return 0;
- } catch (IOException var6) {
- System.out.println("ERROR: I/O error while reading script file.");
- return -1;
- }
- }
-
- private boolean parseLine(String var1) {
- boolean var2 = true;
- String var3 = var1;
- int var4 = 0;
- this.sLine = new ScrollerLine();
- this.sLine.TextURL = null;
- this.sLine.URLTarget = null;
- this.sLine.TitleBgColor = Color.black;
- this.sLine.TextBgColor = Color.black;
- this.sLine.TitleTextColor = Color.white;
- this.sLine.TextTextColor = Color.white;
- this.sLine.Title = new String();
- this.sLine.Text = new String();
- this.sLine.hold = 1000;
-
- while(var4 != -1) {
- var4 = this.getNextParameter(var3);
- if (var4 != -1) {
- var3 = var3.substring(var4 + 1);
- var3 = var3.trim();
- if (this.lineParam.compareTo("TEXTURL") == 0) {
- this.sLine.TextURL = this.getURL(this.lineParam, this.lineValue);
- } else if (this.lineParam.compareTo("URLTARGET") == 0) {
- this.sLine.URLTarget = this.lineValue;
- } else if (this.lineParam.compareTo("TITLEBGCOLOR") == 0) {
- this.sLine.TitleBgColor = this.getColor(this.lineParam, this.lineValue, Color.black);
- } else if (this.lineParam.compareTo("TITLETEXTCOLOR") == 0) {
- this.sLine.TitleTextColor = this.getColor(this.lineParam, this.lineValue, Color.white);
- } else if (this.lineParam.compareTo("TEXTBGCOLOR") == 0) {
- this.sLine.TextBgColor = this.getColor(this.lineParam, this.lineValue, Color.black);
- } else if (this.lineParam.compareTo("TEXTTEXTCOLOR") == 0) {
- this.sLine.TextTextColor = this.getColor(this.lineParam, this.lineValue, Color.white);
- } else if (this.lineParam.compareTo("TITLE") == 0) {
- this.sLine.Title = this.lineValue;
- } else if (this.lineParam.compareTo("TEXT") == 0) {
- this.sLine.Text = this.lineValue;
- } else if (this.lineParam.compareTo("HOLD") == 0) {
- this.sLine.hold = this.getInt(this.lineParam, this.lineValue, 1000);
- } else {
- System.out.println("WARNING: Invalid parameter '" + this.lineParam + "'. Parameter ignored.");
- }
- }
- }
-
- return var2;
- }
- }
-