home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 October / DPPCPRO1098.ISO / Hotdog / files / snagpack.exe / T2.CLASS (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-21  |  5.9 KB  |  300 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Event;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8.  
  9. // $FF: renamed from: t2
  10. public class class_0 extends Applet implements Runnable {
  11.    private Thread engineThread;
  12.    private String lbl;
  13.    private char[] label;
  14.    private char[] charArray;
  15.    private int[] charXPos;
  16.    private int char_pos;
  17.    private boolean firstTime = true;
  18.    private boolean goingLeft = true;
  19.    private boolean drawWholeString;
  20.    private int stepx = 20;
  21.    private int stringLen;
  22.    private int count;
  23.    private int loop;
  24.    private int speed;
  25.    private int sleepTime = 50;
  26.    private int jumpheight;
  27.    private myFont font;
  28.    private boolean userPause;
  29.    private boolean matched;
  30.    private boolean unreg = true;
  31.    private int bred;
  32.    private int bgreen;
  33.    private int bblue;
  34.    private int fred;
  35.    private int fgreen;
  36.    private int fblue;
  37.    private int red = 255;
  38.    private int blue;
  39.    private int green;
  40.    private int fade;
  41.    private int jump_char;
  42.    private int char_up = -1;
  43.    private int movey;
  44.    private boolean doneMove;
  45.    private boolean yUp = true;
  46.    private boolean goingUp = true;
  47.    private boolean stayDown;
  48.    private boolean readyToPaint;
  49.    private boolean popcorn;
  50.    private int height;
  51.    // $FF: renamed from: x int
  52.    private int field_0;
  53.    // $FF: renamed from: y int
  54.    private int field_1;
  55.    private int org_y;
  56.    // $FF: renamed from: fm java.awt.FontMetrics
  57.    private FontMetrics field_2;
  58.    private Image offImage;
  59.    private Graphics offGraphics;
  60.    private boolean debug;
  61.  
  62.    public void stop() {
  63.       if (this.engineThread != null && this.engineThread.isAlive()) {
  64.          this.engineThread.stop();
  65.       }
  66.  
  67.       this.engineThread = null;
  68.    }
  69.  
  70.    private synchronized void prePaint(Graphics var1) {
  71.       var1.setColor(new Color(this.bred, this.bgreen, this.bblue));
  72.       var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
  73.       var1.setColor(new Color(this.red, this.green, this.blue));
  74.       var1.setFont(this.font);
  75.       if (this.firstTime) {
  76.          this.getAllCharWidth(var1, this.font, this.charArray);
  77.          this.firstTime = false;
  78.       }
  79.  
  80.       this.field_2 = var1.getFontMetrics();
  81.       if (this.char_pos > 0) {
  82.          for(int var2 = 0; var2 < this.char_pos; ++var2) {
  83.             var1.drawChars(this.charArray, var2, 1, this.charXPos[var2], this.field_1);
  84.          }
  85.       }
  86.  
  87.       var1.drawChars(this.charArray, this.char_pos, 1, this.field_0, this.field_1);
  88.       if (this.goingLeft) {
  89.          this.field_0 -= this.stepx;
  90.          if (this.field_0 <= this.charXPos[this.char_pos]) {
  91.             this.goingLeft = false;
  92.             this.field_0 = 0;
  93.             ++this.char_pos;
  94.          }
  95.       } else {
  96.          this.field_0 += this.stepx;
  97.          if (this.field_0 >= this.charXPos[this.char_pos]) {
  98.             this.goingLeft = true;
  99.             this.field_0 = ((Component)this).size().width;
  100.             ++this.char_pos;
  101.          }
  102.       }
  103.  
  104.       if (this.char_pos >= this.stringLen) {
  105.          var1.setColor(new Color(this.bred, this.bgreen, this.bblue));
  106.          var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
  107.          var1.setColor(new Color(this.red, this.green, this.blue));
  108.          var1.setFont(this.font);
  109.          var1.drawChars(this.label, this.count, this.stringLen, this.charXPos[0], this.field_1);
  110.          this.drawWholeString = true;
  111.          this.goingLeft = true;
  112.          this.char_pos = 0;
  113.       }
  114.  
  115.    }
  116.  
  117.    public void paint(Graphics var1) {
  118.       if (this.offGraphics != null) {
  119.          this.prePaint(this.offGraphics);
  120.          var1.drawImage(this.offImage, 0, 0, this);
  121.          if (this.drawWholeString) {
  122.             try {
  123.                Thread.sleep(1000L);
  124.             } catch (InterruptedException var2) {
  125.             }
  126.  
  127.             this.drawWholeString = false;
  128.          }
  129.       } else {
  130.          this.prePaint(var1);
  131.       }
  132.  
  133.    }
  134.  
  135.    private void dbg(String var1) {
  136.       if (this.debug) {
  137.          System.out.println(var1);
  138.       }
  139.  
  140.    }
  141.  
  142.    private void charSeparate() {
  143.       int var1 = 0;
  144.       int var2 = this.stringLen - 1;
  145.       int var3 = 0;
  146.  
  147.       while(var3 < this.stringLen) {
  148.          this.charArray[var3++] = this.label[var1++];
  149.          if (var3 < this.stringLen) {
  150.             this.charArray[var3++] = this.label[var2--];
  151.          }
  152.       }
  153.  
  154.       this.dbg("chars: " + this.charArray);
  155.    }
  156.  
  157.    public void update(Graphics var1) {
  158.       if (this.readyToPaint) {
  159.          this.paint(var1);
  160.       }
  161.  
  162.    }
  163.  
  164.    private synchronized void getAllCharWidth(Graphics var1, myFont var2, char[] var3) {
  165.       var1.setFont(var2);
  166.       int var4 = ((Component)this).size().width / 2 - var1.getFontMetrics().charsWidth(var3, 0, this.stringLen) / 2;
  167.       int var5 = var4 + var1.getFontMetrics().charsWidth(var3, 0, this.stringLen);
  168.  
  169.       for(int var6 = 0; var6 < this.stringLen; ++var6) {
  170.          if (var6 % 2 < 1) {
  171.             this.charXPos[var6] = var4;
  172.             var4 += var1.getFontMetrics().charWidth(var3[var6]);
  173.          } else {
  174.             var5 -= var1.getFontMetrics().charWidth(var3[var6]);
  175.             this.charXPos[var6] = var5;
  176.          }
  177.       }
  178.  
  179.    }
  180.  
  181.    public void start() {
  182.       if (this.engineThread == null) {
  183.          this.engineThread = new Thread(this);
  184.       }
  185.  
  186.       this.engineThread.start();
  187.    }
  188.  
  189.    public String getAppletInfo() {
  190.       return "Swami - t2.class v1.0 Copyright Sausage SoftWare 1996";
  191.    }
  192.  
  193.    public void run() {
  194.       Thread.currentThread().setPriority(1);
  195.       this.readyToPaint = true;
  196.  
  197.       while(true) {
  198.          if (this.unreg) {
  199.             ((Applet)this).getAppletContext().showStatus("Unregistered version. Copyright (c) Sausage Software 1996");
  200.          }
  201.  
  202.          ((Component)this).repaint();
  203.  
  204.          try {
  205.             Thread.sleep((long)this.sleepTime);
  206.          } catch (Exception var1) {
  207.          }
  208.       }
  209.    }
  210.  
  211.    public void init() {
  212.       String var1 = ((Applet)this).getParameter("fontsize");
  213.       int var2 = var1 == null ? 12 : Integer.valueOf(var1);
  214.       int var3 = 0;
  215.       var1 = ((Applet)this).getParameter("style");
  216.       var3 = myFont.getFontStyle(var1);
  217.       var1 = ((Applet)this).getParameter("font");
  218.       String var4 = myFont.getFontName(var1);
  219.       this.font = new myFont(var4, var3, var2);
  220.       var1 = ((Applet)this).getParameter("text");
  221.       this.lbl = var1 == null ? "Sausage Software" : var1;
  222.       this.label = this.lbl.toCharArray();
  223.       this.stringLen = this.lbl.length();
  224.       String var5 = ((Applet)this).getParameter("reguser");
  225.       if (var5 == null) {
  226.          ver.NotRegistered();
  227.       }
  228.  
  229.       if (var5.toLowerCase().equals("unregistered")) {
  230.          this.unreg = true;
  231.       } else {
  232.          this.unreg = false;
  233.       }
  234.  
  235.       String var6 = ((Applet)this).getParameter("serialid");
  236.       if (var6 == null) {
  237.          ver.NotRegistered();
  238.       }
  239.  
  240.       ver var7 = new ver(var5, var6);
  241.       this.matched = var7.verifyUser(this.lbl);
  242.       if (!this.matched) {
  243.          ver.NotRegistered();
  244.       }
  245.  
  246.       this.charArray = new char[this.stringLen];
  247.       this.charXPos = new int[this.stringLen];
  248.       this.charSeparate();
  249.       var1 = ((Applet)this).getParameter("horizontal");
  250.       this.stepx = var1 == null ? 20 : Integer.parseInt(var1);
  251.       var1 = ((Applet)this).getParameter("speed");
  252.       this.sleepTime = var1 == null ? 0 : Integer.parseInt(var1);
  253.       var1 = ((Applet)this).getParameter("color");
  254.       if (var1 != null) {
  255.          createColor var8 = new createColor(var1, ",");
  256.          var8.getColor();
  257.          this.red = var8.getRed();
  258.          this.green = var8.getGreen();
  259.          this.blue = var8.getBlue();
  260.       }
  261.  
  262.       var1 = ((Applet)this).getParameter("background");
  263.       if (var1 != null) {
  264.          createColor var18 = new createColor(var1, ",");
  265.          var18.getColor();
  266.          this.bred = var18.getRed();
  267.          this.bgreen = var18.getGreen();
  268.          this.bblue = var18.getBlue();
  269.       }
  270.  
  271.       try {
  272.          this.offImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  273.          this.offGraphics = this.offImage.getGraphics();
  274.       } catch (Exception var9) {
  275.          this.offGraphics = null;
  276.       }
  277.  
  278.       this.field_1 = ((Component)this).size().height / 2 + var2 / 2;
  279.       this.field_0 = ((Component)this).size().width;
  280.       this.movey = this.org_y = this.field_1;
  281.    }
  282.  
  283.    public boolean handleEvent(Event var1) {
  284.       if (var1.id == 501) {
  285.          if (this.userPause) {
  286.             this.engineThread.resume();
  287.          } else {
  288.             this.engineThread.suspend();
  289.          }
  290.  
  291.          this.userPause = !this.userPause;
  292.       } else if (var1.id == 201) {
  293.          this.stop();
  294.          System.exit(0);
  295.       }
  296.  
  297.       return true;
  298.    }
  299. }
  300.