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

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.MediaTracker;
  11. import java.awt.image.ImageObserver;
  12. import java.net.MalformedURLException;
  13. import java.net.URL;
  14. import java.util.StringTokenizer;
  15.  
  16. public class wiz extends Applet implements Runnable {
  17.    private Thread engine;
  18.    private wizinfo[] imageData;
  19.    private MediaTracker tracker;
  20.    private int totalImages;
  21.    private boolean[] imageLoaded;
  22.    private int imageWidth;
  23.    private int imageHeight;
  24.    private int tempwidth;
  25.    private int tempheight;
  26.    // $FF: renamed from: x int
  27.    private int field_0;
  28.    // $FF: renamed from: y int
  29.    private int field_1;
  30.    private int oldX;
  31.    private int oldY;
  32.    private int revealX;
  33.    private int revealY;
  34.    private int revealW;
  35.    private int revealH;
  36.    private int repeatNumber;
  37.    private int globalRepeat = -1;
  38.    private int loopCounter;
  39.    private Dimension imageCenter;
  40.    private Dimension appletDim;
  41.    private Dimension[] imageDim;
  42.    private Dimension bgImageDim;
  43.    private int ratioW = 1;
  44.    private int ratioH = 1;
  45.    private URL destURL;
  46.    private Image bgimage;
  47.    private boolean tiled;
  48.    private Image offImage;
  49.    private Graphics offGraphics;
  50.    private Image reverseImage;
  51.    private Image img1ptr;
  52.    private Image imgNewptr;
  53.    private int imgNum;
  54.    private boolean goSmall = true;
  55.    private boolean clearApp = true;
  56.    private boolean ready;
  57.    private boolean firstTime = true;
  58.    private boolean nextFunction = true;
  59.    private boolean oldImage = true;
  60.    private boolean centered = true;
  61.    private boolean cursorDone;
  62.    private boolean mouseIn;
  63.    private int transitionNum = 4;
  64.    private int functionNumber = 1;
  65.    private boolean invertNow;
  66.    private Color bgColor;
  67.    private int checkBoardPanelSize = 16;
  68.    private int regnumber;
  69.    private boolean serialIdError;
  70.    private boolean unreg;
  71.    int bounceCount = 1;
  72.  
  73.    public void stop() {
  74.       if (this.engine != null && this.engine.isAlive()) {
  75.          this.engine.stop();
  76.       }
  77.  
  78.       this.engine = null;
  79.    }
  80.  
  81.    private boolean isOverScroll(boolean var1) {
  82.       if (this.img1ptr == null) {
  83.          var1 = true;
  84.       }
  85.  
  86.       if (var1) {
  87.          this.oldImage = true;
  88.       }
  89.  
  90.       return var1;
  91.    }
  92.  
  93.    public boolean mouseEnter(Event var1, int var2, int var3) {
  94.       if (!this.serialIdError) {
  95.          String var4 = this.imageData[this.imgNum].getDest();
  96.          this.mouseIn = true;
  97.          if (var4 != null) {
  98.             ((Applet)this).showStatus(var4);
  99.             if (!this.cursorDone) {
  100.                this.setMouseCursor(1);
  101.                this.cursorDone = true;
  102.             }
  103.  
  104.             return true;
  105.          }
  106.       }
  107.  
  108.       return false;
  109.    }
  110.  
  111.    private void revealWipeUpDown(boolean var1, boolean var2) {
  112.       if (var1) {
  113.          if (var2) {
  114.             this.revealY -= this.transitionNum;
  115.             this.revealH += this.transitionNum;
  116.             if (this.revealY <= this.field_1) {
  117.                this.revealY = this.field_1;
  118.                this.revealH = this.imageHeight;
  119.                this.nextFunction = this.oldImage = true;
  120.             }
  121.          } else {
  122.             this.revealH -= this.transitionNum;
  123.             if (this.revealH <= 0) {
  124.                this.revealH = 0;
  125.                this.nextFunction = this.oldImage = true;
  126.                this.imgNewptr = null;
  127.             }
  128.          }
  129.       } else if (var2) {
  130.          this.revealH += this.transitionNum;
  131.          if (this.revealH >= this.imageHeight) {
  132.             this.revealH = this.imageHeight;
  133.             this.nextFunction = this.oldImage = true;
  134.          }
  135.       } else {
  136.          this.revealY += this.transitionNum;
  137.          this.revealH -= this.transitionNum;
  138.          if (this.revealH <= 0) {
  139.             this.revealH = 0;
  140.             this.nextFunction = this.oldImage = true;
  141.             this.imgNewptr = null;
  142.          }
  143.       }
  144.  
  145.       this.offGraphics.clipRect(this.revealX, this.revealY, this.revealW, this.revealH);
  146.    }
  147.  
  148.    private void getNextFunc() {
  149.       this.functionNumber = this.imageData[this.imgNum].getFunction();
  150.       this.img1ptr = this.imgNewptr;
  151.       this.imgNewptr = this.imageData[this.imgNum].getImageData();
  152.       if (this.img1ptr != null) {
  153.          this.imageDim[0] = new Dimension(this.img1ptr.getWidth(this), this.img1ptr.getHeight(this));
  154.          this.oldX = this.field_0;
  155.          this.oldY = this.field_1;
  156.       } else {
  157.          this.imageDim[0] = new Dimension(0, 0);
  158.       }
  159.  
  160.       this.transitionNum = this.imageData[this.imgNum].getMoveRate();
  161.       this.tempwidth = this.imageWidth = this.imgNewptr.getWidth(this);
  162.       this.tempheight = this.imageHeight = this.imgNewptr.getHeight(this);
  163.       this.imageDim[1] = new Dimension(this.tempwidth, this.tempheight);
  164.       this.getImageCenter(this.imgNewptr);
  165.       this.field_0 = this.imageData[this.imgNum].x;
  166.       this.field_1 = this.imageData[this.imgNum].y;
  167.       switch (this.functionNumber) {
  168.          case 10:
  169.          case 11:
  170.             if (this.repeatNumber <= 0) {
  171.                this.repeatNumber = this.imageData[this.imgNum].getRepeatNum();
  172.             }
  173.  
  174.             this.img1ptr = null;
  175.             this.goSmall = true;
  176.             break;
  177.          case 13:
  178.             if (this.repeatNumber <= 0) {
  179.                this.repeatNumber = this.imageData[this.imgNum].getRepeatNum();
  180.             }
  181.  
  182.             this.img1ptr = null;
  183.             this.field_1 += this.imageHeight / 2;
  184.             this.tempheight = 0;
  185.             this.goSmall = false;
  186.             break;
  187.          case 20:
  188.          case 21:
  189.          case 22:
  190.          case 23:
  191.             this.img1ptr = null;
  192.             break;
  193.          case 30:
  194.             this.img1ptr = null;
  195.             this.field_0 = this.imageCenter.width;
  196.             this.field_1 = this.imageCenter.height;
  197.             break;
  198.          case 31:
  199.             this.img1ptr = null;
  200.             this.field_0 = this.appletDim.width / 2;
  201.             this.field_1 = this.appletDim.height / 2;
  202.             this.tempheight = 0;
  203.             this.tempwidth = 0;
  204.             if (this.imageWidth > this.imageHeight) {
  205.                int var1 = this.imageWidth % this.transitionNum;
  206.                this.field_0 += var1;
  207.                this.ratioW = this.imageWidth / this.imageHeight;
  208.                if (this.ratioW < 1) {
  209.                   this.ratioW = 1;
  210.                }
  211.  
  212.                this.ratioH = 1;
  213.             } else {
  214.                int var2 = this.imageHeight % this.transitionNum;
  215.                this.field_0 += var2;
  216.                this.ratioW = 1;
  217.                this.ratioH = this.imageHeight / this.imageWidth;
  218.                if (this.ratioH < 1) {
  219.                   this.ratioH = 1;
  220.                }
  221.             }
  222.             break;
  223.          case 60:
  224.             this.revealX = this.field_0;
  225.             this.revealY = this.field_1 + this.imageHeight;
  226.             this.revealW = this.imageWidth;
  227.             this.revealH = 0;
  228.             if (this.totalImages == 1) {
  229.                this.img1ptr = null;
  230.             }
  231.             break;
  232.          case 61:
  233.             this.revealX = this.field_0;
  234.             this.revealY = this.field_1;
  235.             this.revealW = this.imageWidth;
  236.             this.revealH = 0;
  237.             if (this.totalImages == 1) {
  238.                this.img1ptr = null;
  239.             }
  240.             break;
  241.          case 62:
  242.             this.revealX = this.field_0 + this.imageWidth;
  243.             this.revealY = this.field_1;
  244.             this.revealW = this.imageWidth;
  245.             this.revealH = this.imageHeight;
  246.             if (this.totalImages == 1) {
  247.                this.img1ptr = null;
  248.             }
  249.             break;
  250.          case 63:
  251.             this.revealX = this.field_0;
  252.             this.revealY = this.field_1;
  253.             this.revealW = 0;
  254.             this.revealH = this.imageHeight;
  255.             if (this.totalImages == 1) {
  256.                this.img1ptr = null;
  257.             }
  258.             break;
  259.          case 64:
  260.             this.revealX = this.field_0 + this.imageWidth / 2;
  261.             this.revealY = this.field_1 + this.imageHeight / 2;
  262.             this.revealW = 1;
  263.             this.revealH = 1;
  264.             if (this.totalImages == 1) {
  265.                this.img1ptr = null;
  266.             }
  267.             break;
  268.          case 65:
  269.             this.tempwidth = this.imageWidth;
  270.             this.tempheight = this.imageHeight;
  271.             this.revealX = this.field_0;
  272.             this.revealY = this.field_1;
  273.             break;
  274.          case 66:
  275.             this.revealX = this.field_0;
  276.             this.revealY = this.field_1;
  277.             this.revealH = this.revealW = 0;
  278.             break;
  279.          case 67:
  280.             this.revealX = this.field_0 + this.imageWidth;
  281.             this.revealH = this.revealW = 0;
  282.             break;
  283.          case 68:
  284.             this.revealY = this.field_1 + this.imageHeight;
  285.             this.revealH = this.revealW = 0;
  286.             break;
  287.          case 69:
  288.             this.revealX = this.field_0 + this.imageWidth;
  289.             this.revealY = this.field_1 + this.imageHeight;
  290.             this.revealH = this.revealW = 0;
  291.             break;
  292.          case 70:
  293.          case 71:
  294.          case 72:
  295.          case 73:
  296.          case 74:
  297.             this.revealX = this.field_0;
  298.             this.revealY = this.field_1;
  299.             this.revealW = this.imageWidth;
  300.             this.revealH = this.imageHeight;
  301.             this.img1ptr = null;
  302.             break;
  303.          case 75:
  304.             this.revealX = this.field_0 + this.imageWidth / 2;
  305.             this.revealY = this.field_1 + this.imageHeight / 2;
  306.             this.tempwidth = 0;
  307.             this.tempheight = 0;
  308.             this.img1ptr = null;
  309.             break;
  310.          case 81:
  311.             this.revealX = this.field_0;
  312.             this.revealW = this.imageWidth;
  313.             this.revealH = this.imageHeight;
  314.             break;
  315.          case 90:
  316.             this.revealH = 0;
  317.             break;
  318.          case 91:
  319.          case 92:
  320.             this.revealX = -(this.imageWidth / 2);
  321.             this.tempwidth = this.appletDim.width;
  322.             this.tempheight = this.revealY = this.field_1;
  323.       }
  324.  
  325.       if (this.totalImages == 1) {
  326.          this.img1ptr = null;
  327.       }
  328.  
  329.    }
  330.  
  331.    private String intoLetters(String var1) {
  332.       char[] var2 = new char[var1.length()];
  333.  
  334.       for(int var3 = 0; var3 < var1.length(); ++var3) {
  335.          var2[var3] = (char)(Character.digit(var1.charAt(var3), 10) + 65);
  336.       }
  337.  
  338.       return String.valueOf(var2);
  339.    }
  340.  
  341.    private void setMouseCursor(int var1) {
  342.       Container var2;
  343.       for(var2 = ((Component)this).getParent(); !(var2 instanceof Frame); var2 = ((Component)var2).getParent()) {
  344.       }
  345.  
  346.       ((Frame)var2).setCursor(var1);
  347.    }
  348.  
  349.    private synchronized void slider(Graphics var1, Image var2, int var3) {
  350.       if (var3 < 2) {
  351.          var3 = 2;
  352.       } else if (var3 > 20) {
  353.          var3 = 20;
  354.       }
  355.  
  356.       int var4 = 22 - var3;
  357.       int var5 = 200 / var4;
  358.       int var6 = 2 * var4;
  359.       int var7 = this.imageHeight / var4;
  360.       Image var8 = ((Component)this).createImage(this.imageWidth, var7);
  361.       Image var9 = ((Component)this).createImage(this.imageWidth, var7);
  362.       Graphics var10 = var8.getGraphics();
  363.       Graphics var11 = var9.getGraphics();
  364.  
  365.       for(int var12 = 0; var12 < var4; ++var12) {
  366.          int var13 = this.field_1 + var12 * var7;
  367.          if (var12 % 2 == 0) {
  368.             for(int var23 = 0; var23 < this.field_0; var23 += var6) {
  369.                while(!var11.drawImage(this.offImage, -var23, -var13, this)) {
  370.                   Thread.yield();
  371.                }
  372.  
  373.                while(!var10.drawImage(var9, 0, 0, this)) {
  374.                   Thread.yield();
  375.                }
  376.  
  377.                while(!var10.drawImage(var2, 0, -(var12 * var7), this)) {
  378.                   Thread.yield();
  379.                }
  380.  
  381.                while(!var1.drawImage(var8, var23, var13, this)) {
  382.                   Thread.yield();
  383.                }
  384.  
  385.                this.ready = true;
  386.                ((Component)this).repaint();
  387.  
  388.                try {
  389.                   Thread.sleep((long)var5);
  390.                } catch (Exception var18) {
  391.                }
  392.  
  393.                while(!var1.drawImage(var9, var23, var13, this)) {
  394.                   Thread.yield();
  395.                }
  396.             }
  397.          } else {
  398.             for(int var14 = this.appletDim.width - this.imageWidth; var14 > this.field_0; var14 -= var6) {
  399.                while(!var11.drawImage(this.offImage, -var14, -var13, this)) {
  400.                   Thread.yield();
  401.                }
  402.  
  403.                while(!var10.drawImage(var9, 0, 0, this)) {
  404.                   Thread.yield();
  405.                }
  406.  
  407.                while(!var10.drawImage(var2, 0, -(var12 * var7), this)) {
  408.                   Thread.yield();
  409.                }
  410.  
  411.                while(!var1.drawImage(var8, var14, var13, this)) {
  412.                   Thread.yield();
  413.                }
  414.  
  415.                this.ready = true;
  416.                ((Component)this).repaint();
  417.  
  418.                try {
  419.                   Thread.sleep((long)var5);
  420.                } catch (Exception var17) {
  421.                }
  422.  
  423.                while(!var1.drawImage(var9, var14, var13, this)) {
  424.                   Thread.yield();
  425.                }
  426.             }
  427.          }
  428.  
  429.          while(!var11.drawImage(this.offImage, -this.field_0, -var13, this)) {
  430.             Thread.yield();
  431.          }
  432.  
  433.          while(!var10.drawImage(var9, 0, 0, this)) {
  434.             Thread.yield();
  435.          }
  436.  
  437.          while(!var10.drawImage(var2, 0, -(var12 * var7), this)) {
  438.             Thread.yield();
  439.          }
  440.  
  441.          while(!var1.drawImage(var8, this.field_0, var13, this)) {
  442.             Thread.yield();
  443.          }
  444.  
  445.          this.ready = true;
  446.          ((Component)this).repaint();
  447.       }
  448.  
  449.       if (this.imageHeight % var4 > 0) {
  450.          var7 = this.imageHeight % var4;
  451.          int var20 = this.imageHeight - var7;
  452.          var8.flush();
  453.          var9.flush();
  454.          var10.dispose();
  455.          var11.dispose();
  456.          var8 = ((Component)this).createImage(this.imageWidth, var7);
  457.          var9 = ((Component)this).createImage(this.imageWidth, var7);
  458.          var10 = var8.getGraphics();
  459.          var11 = var9.getGraphics();
  460.          if (var4 % 2 == 0) {
  461.             for(int var22 = 0; var22 < this.field_0; var22 += var6) {
  462.                while(!var11.drawImage(this.offImage, -var22, -this.field_1 - var20, this)) {
  463.                   Thread.yield();
  464.                }
  465.  
  466.                while(!var10.drawImage(var9, 0, 0, this)) {
  467.                   Thread.yield();
  468.                }
  469.  
  470.                while(!var10.drawImage(var2, 0, -var20, this)) {
  471.                   Thread.yield();
  472.                }
  473.  
  474.                while(!var1.drawImage(var8, var22, this.field_1 + var20, this)) {
  475.                   Thread.yield();
  476.                }
  477.  
  478.                this.ready = true;
  479.                ((Component)this).repaint();
  480.  
  481.                try {
  482.                   Thread.sleep((long)var5);
  483.                } catch (Exception var16) {
  484.                }
  485.  
  486.                while(!var1.drawImage(var9, var22, this.field_1 + var20, this)) {
  487.                   Thread.yield();
  488.                }
  489.             }
  490.          } else {
  491.             for(int var21 = this.appletDim.width - this.imageWidth; var21 > this.field_0; var21 -= var6) {
  492.                while(!var11.drawImage(this.offImage, -var21, -this.field_1 - var20, this)) {
  493.                   Thread.yield();
  494.                }
  495.  
  496.                while(!var10.drawImage(var9, 0, 0, this)) {
  497.                   Thread.yield();
  498.                }
  499.  
  500.                while(!var10.drawImage(var2, 0, -var20, this)) {
  501.                   Thread.yield();
  502.                }
  503.  
  504.                while(!var1.drawImage(var8, var21, this.field_1 + var20, this)) {
  505.                   Thread.yield();
  506.                }
  507.  
  508.                this.ready = true;
  509.                ((Component)this).repaint();
  510.  
  511.                try {
  512.                   Thread.sleep((long)var5);
  513.                } catch (Exception var15) {
  514.                }
  515.  
  516.                while(!var1.drawImage(var9, var21, this.field_1 + var20, this)) {
  517.                   Thread.yield();
  518.                }
  519.             }
  520.          }
  521.  
  522.          while(!var11.drawImage(this.offImage, -this.field_0, -this.field_1 - var20, this)) {
  523.             Thread.yield();
  524.          }
  525.  
  526.          while(!var10.drawImage(var9, 0, 0, this)) {
  527.             Thread.yield();
  528.          }
  529.  
  530.          while(!var10.drawImage(var2, 0, -var20, this)) {
  531.             Thread.yield();
  532.          }
  533.  
  534.          while(!var1.drawImage(var8, this.field_0, this.field_1 + var20, this)) {
  535.             Thread.yield();
  536.          }
  537.  
  538.          this.ready = true;
  539.          ((Component)this).repaint();
  540.       }
  541.  
  542.       var8.flush();
  543.       var9.flush();
  544.       var10.dispose();
  545.       var11.dispose();
  546.       this.nextFunction = true;
  547.       this.oldImage = true;
  548.       this.imgNewptr = null;
  549.    }
  550.  
  551.    private void squeezeLeftRight(boolean var1) {
  552.       if (this.tempwidth > 0) {
  553.          if (!var1) {
  554.             this.field_0 += this.transitionNum;
  555.          }
  556.  
  557.          this.tempwidth -= this.transitionNum;
  558.          if (this.tempwidth < 0) {
  559.             this.tempwidth = 0;
  560.          }
  561.       } else {
  562.          this.nextFunction = true;
  563.          this.oldImage = true;
  564.       }
  565.  
  566.    }
  567.  
  568.    private synchronized void bounce(Graphics var1, Image var2) {
  569.       int var10000 = this.imageWidth / 3;
  570.       var10000 = this.imageHeight / 3;
  571.       Image var3 = ((Component)this).createImage(this.imageWidth, this.imageHeight);
  572.       var3.getGraphics();
  573.       int var4 = 1;
  574.  
  575.       do {
  576.          int var5 = this.imageWidth + 10 * var4;
  577.          System.out.println("drawImage " + var5 + "," + this.imageHeight);
  578.  
  579.          while(!var1.drawImage(var2, this.field_0, this.field_1, var5, this.imageHeight, (ImageObserver)null)) {
  580.             Thread.yield();
  581.          }
  582.  
  583.          this.ready = true;
  584.          ((Component)this).repaint();
  585.  
  586.          try {
  587.             Thread.sleep(1000L);
  588.          } catch (Exception var6) {
  589.          }
  590.  
  591.          ++var4;
  592.       } while(var4 < 6);
  593.  
  594.       this.nextFunction = false;
  595.       this.oldImage = true;
  596.       this.imgNewptr = null;
  597.    }
  598.  
  599.    private void calcXY() {
  600.       String var1 = ((Applet)this).getParameter("serialid");
  601.       if (var1 == null) {
  602.          this.NotRegistered();
  603.       } else {
  604.          String var2 = this.intoLetters(Integer.toString(this.regnumber));
  605.          this.dbg(var2);
  606.          boolean var3 = var1.regionMatches(true, 0, var2, 0, var2.length());
  607.          if (!var3) {
  608.             this.NotRegistered();
  609.          }
  610.       }
  611.  
  612.    }
  613.  
  614.    private void donut(Graphics var1, Image var2, boolean var3) {
  615.       if (var3) {
  616.          this.tempwidth -= this.transitionNum * 2;
  617.          this.tempheight -= this.transitionNum * 2;
  618.          this.revealX += this.transitionNum;
  619.          this.revealY += this.transitionNum;
  620.          if (this.tempwidth <= 0 || this.tempheight <= 0) {
  621.             this.oldImage = this.nextFunction = true;
  622.             var1.drawImage(var2, this.field_0, this.field_1, this);
  623.             return;
  624.          }
  625.       } else {
  626.          this.tempwidth += this.transitionNum * 2;
  627.          this.tempheight += this.transitionNum * 2;
  628.          this.revealX -= this.transitionNum;
  629.          this.revealY -= this.transitionNum;
  630.          if (this.tempwidth >= this.imageDim[1].width) {
  631.             this.oldImage = true;
  632.             this.revealX = this.field_0;
  633.             this.tempwidth = this.imageDim[1].width;
  634.          }
  635.  
  636.          if (this.tempheight >= this.imageDim[1].height) {
  637.             this.nextFunction = true;
  638.             this.revealY = this.field_1;
  639.             this.tempheight = this.imageDim[1].height;
  640.          }
  641.  
  642.          if (this.nextFunction && this.oldImage) {
  643.             this.imgNewptr = null;
  644.          }
  645.       }
  646.  
  647.       if (this.tempwidth > 0 && this.tempheight > 0) {
  648.          Image var4 = ((Component)this).createImage(this.tempwidth, this.tempheight);
  649.          Graphics var5 = var4.getGraphics();
  650.          var5.drawImage(this.offImage, -this.revealX, -this.revealY, this);
  651.          var1.drawImage(var2, this.field_0, this.field_1, this);
  652.          var1.drawImage(var4, this.revealX, this.revealY, this);
  653.          var5.dispose();
  654.       }
  655.  
  656.    }
  657.  
  658.    public void update(Graphics var1) {
  659.       this.paint(var1);
  660.    }
  661.  
  662.    private void scrollUp(boolean var1) {
  663.       if (this.field_1 <= -this.imageHeight) {
  664.          this.outApp();
  665.       }
  666.  
  667.       if (this.centered && this.field_1 <= this.imageCenter.height && this.imageData[this.imgNum].y > this.imageCenter.height) {
  668.          this.nextFunction = true;
  669.          this.field_1 = this.imageCenter.height;
  670.       }
  671.  
  672.       if (!this.nextFunction) {
  673.          this.field_1 -= this.transitionNum;
  674.       } else {
  675.          var1 = this.isOverScroll(var1);
  676.       }
  677.  
  678.       if (!var1) {
  679.          if (this.oldY < -this.imageDim[0].height) {
  680.             this.oldImage = true;
  681.          } else {
  682.             this.oldY -= this.transitionNum;
  683.          }
  684.       }
  685.  
  686.    }
  687.  
  688.    private void slidingDoor(Graphics var1, Image var2) {
  689.       int var3 = var2.getWidth(this);
  690.       int var4 = var2.getHeight(this);
  691.       this.revealX += this.transitionNum;
  692.       this.tempwidth -= this.transitionNum;
  693.       if (this.revealX > this.field_0) {
  694.          this.revealX = this.field_0;
  695.          this.oldImage = true;
  696.       }
  697.  
  698.       if (this.tempwidth < this.field_0 + var3 / 2) {
  699.          this.tempwidth = this.field_0 + var3 / 2;
  700.          this.nextFunction = true;
  701.       }
  702.  
  703.       if (this.nextFunction && this.oldImage) {
  704.          var1.drawImage(var2, this.field_0, this.field_1, this);
  705.       } else {
  706.          Image var5 = ((Component)this).createImage(var3 / 2, var4);
  707.          Graphics var6 = var5.getGraphics();
  708.          var6.drawImage(this.offImage, -this.revealX, this.field_1, this);
  709.          var6.drawImage(var2, 0, 0, this);
  710.          var1.drawImage(var5, this.revealX, this.field_1, this);
  711.          var1.clipRect(this.tempwidth, this.field_1, var3 / 2, var4);
  712.          var1.drawImage(var2, this.tempwidth - var3 / 2, this.field_1, this);
  713.          var6.dispose();
  714.       }
  715.    }
  716.  
  717.    public void start() {
  718.       if (this.engine == null) {
  719.          this.engine = new Thread(this, "ImageWizPLUS");
  720.       }
  721.  
  722.       this.engine.start();
  723.    }
  724.  
  725.    private void addReguser() {
  726.       String var1 = ((Applet)this).getParameter("reguser");
  727.       if (var1 == null) {
  728.          this.NotRegistered();
  729.       } else {
  730.          if (var1.equalsIgnoreCase("unregistered")) {
  731.             URL var2 = ((Applet)this).getDocumentBase();
  732.             if (var2.toString().indexOf("http:") != -1) {
  733.                this.unreg = true;
  734.                this.NotRegistered();
  735.             }
  736.          }
  737.  
  738.          this.whatXY(var1);
  739.       }
  740.  
  741.    }
  742.  
  743.    public String getAppletInfo() {
  744.       return "ImageWizPLUS v1.0 Copyright (c) Sausage Software 1996";
  745.    }
  746.  
  747.    private void rotateLeftRight(int var1) {
  748.       if (this.goSmall) {
  749.          this.field_0 += this.transitionNum;
  750.          this.tempwidth -= var1;
  751.          if (this.tempwidth <= 0) {
  752.             this.tempwidth = 0;
  753.             this.nextFunction = true;
  754.             if (this.repeatNumber > 0) {
  755.                this.repeatNumber += -1;
  756.                this.invertNow = !this.invertNow;
  757.             } else {
  758.                this.imgNewptr = null;
  759.                this.oldImage = true;
  760.                this.invertNow = false;
  761.             }
  762.          }
  763.       } else {
  764.          this.field_0 -= this.transitionNum;
  765.          this.tempwidth += var1;
  766.       }
  767.  
  768.    }
  769.  
  770.    private void scrollLeft(boolean var1) {
  771.       if (this.field_0 <= -this.imageWidth) {
  772.          this.outApp();
  773.       }
  774.  
  775.       if (this.centered && this.field_0 <= this.imageCenter.width && this.imageData[this.imgNum].x > this.imageCenter.width) {
  776.          this.field_0 = this.imageCenter.width;
  777.          this.nextFunction = true;
  778.       }
  779.  
  780.       if (!this.nextFunction) {
  781.          this.field_0 -= this.transitionNum;
  782.       } else {
  783.          var1 = this.isOverScroll(var1);
  784.       }
  785.  
  786.       if (!var1) {
  787.          if (this.oldX < -this.imageDim[0].width) {
  788.             this.oldImage = true;
  789.          } else {
  790.             this.oldX -= this.transitionNum;
  791.          }
  792.       }
  793.  
  794.    }
  795.  
  796.    private void scrollRight(boolean var1) {
  797.       if (this.field_0 >= this.appletDim.width) {
  798.          this.outApp();
  799.       }
  800.  
  801.       if (this.centered && this.field_0 >= this.imageCenter.width && this.imageData[this.imgNum].x < this.imageCenter.width) {
  802.          this.nextFunction = true;
  803.          this.field_0 = this.imageCenter.width;
  804.       }
  805.  
  806.       if (!this.nextFunction) {
  807.          this.field_0 += this.transitionNum;
  808.       } else {
  809.          var1 = this.isOverScroll(var1);
  810.       }
  811.  
  812.       if (!var1) {
  813.          if (this.oldX > this.appletDim.width) {
  814.             this.oldImage = true;
  815.          } else {
  816.             this.oldX += this.transitionNum;
  817.          }
  818.       }
  819.  
  820.    }
  821.  
  822.    private void revealWipeCenter(boolean var1, Graphics var2, Image var3) {
  823.       this.dbg("revealWipeCenter:revealX=" + this.revealX + " revealY=" + this.revealY + " transition=" + this.transitionNum);
  824.       if (var1) {
  825.          this.revealX -= this.transitionNum;
  826.          this.revealY -= this.transitionNum;
  827.          this.revealW += this.transitionNum * 2;
  828.          this.revealH += this.transitionNum * 2;
  829.          if (this.revealX <= this.field_0) {
  830.             this.revealX = this.field_0;
  831.             this.revealW = this.imageDim[1].width;
  832.             this.nextFunction = true;
  833.          }
  834.  
  835.          if (this.revealY <= this.field_1) {
  836.             this.revealY = this.field_1;
  837.             this.revealH = this.imageDim[1].height;
  838.             this.oldImage = true;
  839.          }
  840.       } else {
  841.          this.revealX += this.transitionNum;
  842.          this.revealY += this.transitionNum;
  843.          this.revealW -= this.transitionNum * 2;
  844.          this.revealH -= this.transitionNum * 2;
  845.          if (this.revealW <= 0 || this.revealH <= 0) {
  846.             this.nextFunction = this.oldImage = true;
  847.             this.imgNewptr = null;
  848.             return;
  849.          }
  850.       }
  851.  
  852.       var2.clipRect(this.revealX, this.revealY, this.revealW, this.revealH);
  853.       var2.drawImage(var3, this.field_0, this.field_1, this);
  854.    }
  855.  
  856.    private void getImageCenter(Image var1) {
  857.       int var2 = var1.getHeight(this);
  858.       int var3 = var1.getWidth(this);
  859.       this.imageCenter = new Dimension(this.appletDim.width / 2 - var3 / 2, this.appletDim.height / 2 - var2 / 2);
  860.    }
  861.  
  862.    private synchronized void spiralout(Graphics var1, Image var2, int var3) {
  863.       if (var3 < 1) {
  864.          var3 = 1;
  865.       } else if (var3 > 20) {
  866.          var3 = 20;
  867.       }
  868.  
  869.       int var4 = 7 - var3 / 4;
  870.       int var5 = (8 - var4) * 40;
  871.       int var6 = var4 * var4;
  872.       double var7 = (double)(this.imageWidth / var4);
  873.       double var9 = (double)(this.imageHeight / var4);
  874.       int[] var11 = new int[var6];
  875.       int var12 = 0;
  876.       int var13 = 0;
  877.       int var14 = 0;
  878.       int var15 = 0;
  879.       int var16 = 0;
  880.       int var17 = var4 - 1;
  881.       int var18 = var17;
  882.  
  883.       for(int var19 = 0; var19 < var6; ++var19) {
  884.          var11[var6 - var19 - 1] = var13 * var4 + var14;
  885.          switch (var12) {
  886.             case 0:
  887.                if (var14 == var17) {
  888.                   ++var16;
  889.                   ++var13;
  890.                   var12 = (var12 + 1) % 4;
  891.                } else {
  892.                   ++var14;
  893.                }
  894.                break;
  895.             case 1:
  896.                if (var13 == var18) {
  897.                   --var17;
  898.                   --var14;
  899.                   var12 = (var12 + 1) % 4;
  900.                } else {
  901.                   ++var13;
  902.                }
  903.                break;
  904.             case 2:
  905.                if (var14 == var15) {
  906.                   --var18;
  907.                   --var13;
  908.                   var12 = (var12 + 1) % 4;
  909.                } else {
  910.                   --var14;
  911.                }
  912.                break;
  913.             case 3:
  914.                if (var13 == var16) {
  915.                   ++var15;
  916.                   ++var14;
  917.                   var12 = (var12 + 1) % 4;
  918.                } else {
  919.                   --var13;
  920.                }
  921.          }
  922.       }
  923.  
  924.       Image var25 = ((Component)this).createImage((int)var7, (int)var9);
  925.       Graphics var20 = var25.getGraphics();
  926.  
  927.       for(int var21 = 0; var21 < var6; ++var21) {
  928.          var13 = var11[var21] / var4;
  929.          var14 = var11[var21] % var4;
  930.          if (this.bgColor != null) {
  931.             var20.setColor(this.bgColor);
  932.          }
  933.  
  934.          var20.fillRect(0, 0, (int)var7, (int)var9);
  935.  
  936.          while(!var20.drawImage(this.offImage, (int)((double)(-var14) * var7 - (double)this.field_0), (int)((double)(-var13) * var9 - (double)this.field_1), this)) {
  937.             Thread.yield();
  938.          }
  939.  
  940.          while(!var20.drawImage(var2, (int)((double)(-var14) * var7), (int)((double)(-var13) * var9), this)) {
  941.             Thread.yield();
  942.          }
  943.  
  944.          while(!var1.drawImage(var25, this.field_0 + (int)((double)var14 * var7), this.field_1 + (int)((double)var13 * var9), this)) {
  945.             Thread.yield();
  946.          }
  947.  
  948.          this.ready = true;
  949.          ((Component)this).repaint();
  950.  
  951.          try {
  952.             Thread.sleep((long)var5);
  953.          } catch (Exception var22) {
  954.          }
  955.       }
  956.  
  957.       var20.dispose();
  958.       Object var26 = null;
  959.       System.gc();
  960.       this.nextFunction = true;
  961.       this.oldImage = true;
  962.       this.imgNewptr = null;
  963.    }
  964.  
  965.    private synchronized void trailsHorizontal(Graphics var1, Image var2, boolean var3) {
  966.       Image var4 = ((Component)this).createImage(this.appletDim.width, this.imageHeight);
  967.       Graphics var5 = var4.getGraphics();
  968.       Image var6 = ((Component)this).createImage(this.imageWidth, this.imageHeight);
  969.       Graphics var7 = var6.getGraphics();
  970.       if (this.offImage != null && var1 != null && var2 != null) {
  971.          while(!var5.drawImage(this.offImage, 0, -this.field_1, this)) {
  972.             Thread.yield();
  973.          }
  974.  
  975.          if (var3) {
  976.             for(int var8 = this.appletDim.width - this.imageWidth; var8 > this.field_0; var8 -= this.transitionNum) {
  977.                while(!var1.drawImage(var2, var8, this.field_1, this)) {
  978.                   Thread.yield();
  979.                }
  980.  
  981.                this.ready = true;
  982.                ((Component)this).repaint();
  983.             }
  984.          } else {
  985.             for(int var11 = 0; var11 < this.field_0; var11 += this.transitionNum) {
  986.                while(!var1.drawImage(var2, var11, this.field_1, this)) {
  987.                   Thread.yield();
  988.                }
  989.  
  990.                this.ready = true;
  991.                ((Component)this).repaint();
  992.             }
  993.          }
  994.  
  995.          if (var3) {
  996.             for(int var12 = this.appletDim.width - this.imageWidth; var12 > this.field_0 + this.imageWidth - this.transitionNum; var12 -= this.transitionNum) {
  997.                while(!var7.drawImage(var4, -var12, 0, this)) {
  998.                   Thread.yield();
  999.                }
  1000.  
  1001.                while(!var1.drawImage(var6, var12, this.field_1, this)) {
  1002.                   Thread.yield();
  1003.                }
  1004.  
  1005.                this.ready = true;
  1006.                ((Component)this).repaint();
  1007.             }
  1008.          } else {
  1009.             for(int var13 = 0; var13 < this.field_0 - this.imageWidth + this.transitionNum; var13 += this.transitionNum) {
  1010.                while(!var7.drawImage(var4, -var13, 0, this)) {
  1011.                   Thread.yield();
  1012.                }
  1013.  
  1014.                while(!var1.drawImage(var6, var13, this.field_1, this)) {
  1015.                   Thread.yield();
  1016.                }
  1017.  
  1018.                this.ready = true;
  1019.                ((Component)this).repaint();
  1020.             }
  1021.          }
  1022.  
  1023.          while(!var1.drawImage(var4, 0, this.field_1, this)) {
  1024.             Thread.yield();
  1025.          }
  1026.  
  1027.          while(!var1.drawImage(var2, this.field_0, this.field_1, this)) {
  1028.             Thread.yield();
  1029.          }
  1030.  
  1031.          this.ready = true;
  1032.          ((Component)this).repaint();
  1033.          var4.flush();
  1034.          Object var9 = null;
  1035.          var5.dispose();
  1036.          var6.flush();
  1037.          Object var10 = null;
  1038.          var7.dispose();
  1039.          System.gc();
  1040.          this.nextFunction = true;
  1041.          this.oldImage = true;
  1042.          this.imgNewptr = null;
  1043.       }
  1044.    }
  1045.  
  1046.    private void barnDoor(Graphics var1, Image var2) {
  1047.       Image var3 = ((Component)this).createImage(this.revealW, this.revealH);
  1048.       Graphics var4 = var3.getGraphics();
  1049.       var4.drawImage(this.offImage, -this.revealX, -this.field_1, this);
  1050.       var4.dispose();
  1051.       this.revealX += this.transitionNum;
  1052.       this.revealW -= this.transitionNum * 2;
  1053.       var1.drawImage(var2, this.field_0, this.field_1, this);
  1054.       if (this.revealW < 1) {
  1055.          this.oldImage = this.nextFunction = true;
  1056.       } else {
  1057.          var1.drawImage(var3, this.revealX, this.field_1, this);
  1058.       }
  1059.    }
  1060.  
  1061.    private void drawTile(Graphics var1) {
  1062.       if (this.bgimage != null && this.tracker.checkID(this.totalImages)) {
  1063.          int var2 = this.bgImageDim.width;
  1064.          int var3 = this.bgImageDim.height;
  1065.          var1.drawImage(this.bgimage, 0, 0, var2, var3, this);
  1066.          if (this.tiled) {
  1067.             if (var2 > 0 && var3 > 0) {
  1068.                int var4 = this.appletDim.width;
  1069.                int var5 = this.appletDim.height;
  1070.                int var6 = var2;
  1071.                int var7 = 0;
  1072.                boolean var8 = false;
  1073.                var1.clipRect(0, 0, var4, var5);
  1074.  
  1075.                while(!var8) {
  1076.                   var1.drawImage(this.bgimage, var6, var7, var2, var3, this);
  1077.                   var6 += var2;
  1078.                   if (var6 > var4) {
  1079.                      var7 += var3;
  1080.                      var6 = 0;
  1081.                   }
  1082.  
  1083.                   if (var7 > var5) {
  1084.                      var8 = true;
  1085.                   }
  1086.  
  1087.                   try {
  1088.                      Thread.sleep(3L);
  1089.                   } catch (Exception var9) {
  1090.                   }
  1091.                }
  1092.             }
  1093.  
  1094.          }
  1095.       }
  1096.    }
  1097.  
  1098.    private void scrollDown(boolean var1) {
  1099.       if (this.field_1 >= this.appletDim.height) {
  1100.          this.outApp();
  1101.       }
  1102.  
  1103.       if (this.centered && this.field_1 >= this.imageCenter.height && this.imageData[this.imgNum].y < this.imageCenter.height) {
  1104.          this.nextFunction = true;
  1105.          this.field_1 = this.imageCenter.height;
  1106.       }
  1107.  
  1108.       if (!this.nextFunction) {
  1109.          this.field_1 += this.transitionNum;
  1110.       } else {
  1111.          var1 = this.isOverScroll(var1);
  1112.       }
  1113.  
  1114.       if (!var1) {
  1115.          if (this.oldY > this.appletDim.height) {
  1116.             this.oldImage = true;
  1117.          } else {
  1118.             this.oldY += this.transitionNum;
  1119.          }
  1120.       }
  1121.  
  1122.    }
  1123.  
  1124.    private void rotateUpDown(int var1) {
  1125.       if (this.goSmall) {
  1126.          this.field_1 += this.transitionNum;
  1127.          this.tempheight -= var1;
  1128.          if (this.tempheight <= 0) {
  1129.             this.tempheight = 0;
  1130.             this.nextFunction = true;
  1131.             this.imgNewptr = null;
  1132.             if (this.repeatNumber > 0) {
  1133.                this.repeatNumber += -1;
  1134.                this.oldImage = true;
  1135.             } else {
  1136.                this.oldImage = true;
  1137.                this.invertNow = false;
  1138.                this.repeatNumber = 0;
  1139.             }
  1140.          }
  1141.       } else {
  1142.          this.field_1 -= this.transitionNum;
  1143.          this.tempheight += var1;
  1144.          if (this.tempheight >= this.imageHeight) {
  1145.             this.tempheight = this.imageHeight;
  1146.             this.nextFunction = true;
  1147.             if (this.repeatNumber > 0) {
  1148.                this.repeatNumber += -1;
  1149.                this.oldImage = true;
  1150.             } else {
  1151.                this.oldImage = true;
  1152.                this.invertNow = false;
  1153.                this.repeatNumber = 0;
  1154.             }
  1155.          }
  1156.       }
  1157.  
  1158.    }
  1159.  
  1160.    private void whatXY(String var1) {
  1161.       long var2 = 345L;
  1162.       long var4 = 56L;
  1163.       long var6 = 345L;
  1164.       long var8 = 49L;
  1165.  
  1166.       for(int var10 = 0; var10 < var1.length(); ++var10) {
  1167.          if (var1.charAt(var10) >= 'a' && var1.charAt(var10) <= 'z') {
  1168.             char var14 = var1.charAt(var10);
  1169.             this.regnumber += var14;
  1170.          } else if (var1.charAt(var10) >= 'A' && var1.charAt(var10) <= 'Z') {
  1171.             char var11 = var1.charAt(var10);
  1172.             this.regnumber += var11;
  1173.          }
  1174.  
  1175.          var2 = (long)((double)(var4 * 23L) / (double)2.5F + (double)var6);
  1176.          var8 = 34L / var6;
  1177.          var4 = var2 + var4 + (long)this.regnumber;
  1178.       }
  1179.  
  1180.    }
  1181.  
  1182.    public boolean mouseExit(Event var1, int var2, int var3) {
  1183.       this.setMouseCursor(0);
  1184.       this.cursorDone = false;
  1185.       this.mouseIn = false;
  1186.       return true;
  1187.    }
  1188.  
  1189.    private void NotRegistered() {
  1190.       System.out.println("Program not registered");
  1191.       this.serialIdError = true;
  1192.    }
  1193.  
  1194.    private synchronized void spiralin(Graphics var1, Image var2, int var3) {
  1195.       if (var3 < 1) {
  1196.          var3 = 1;
  1197.       } else if (var3 > 20) {
  1198.          var3 = 20;
  1199.       }
  1200.  
  1201.       int var4 = 7 - var3 / 4;
  1202.       int var5 = (8 - var4) * 40;
  1203.       int var6 = var4 * var4;
  1204.       double var7 = (double)(this.imageWidth / var4);
  1205.       double var9 = (double)(this.imageHeight / var4);
  1206.       Image var11 = ((Component)this).createImage((int)var7, (int)var9);
  1207.       Graphics var12 = var11.getGraphics();
  1208.       int var13 = 0;
  1209.       int var14 = 0;
  1210.       int var15 = 0;
  1211.       int var16 = 0;
  1212.       int var17 = 0;
  1213.       int var18 = var4 - 1;
  1214.       int var19 = var18;
  1215.  
  1216.       for(int var20 = 0; var20 < var6; ++var20) {
  1217.          if (this.bgColor != null) {
  1218.             var12.setColor(this.bgColor);
  1219.          }
  1220.  
  1221.          var12.fillRect(0, 0, (int)var7, (int)var9);
  1222.  
  1223.          while(!var12.drawImage(this.offImage, (int)((double)(-var15) * var7 - (double)this.field_0), (int)((double)(-var14) * var9 - (double)this.field_1), this)) {
  1224.             Thread.yield();
  1225.          }
  1226.  
  1227.          while(!var12.drawImage(var2, (int)((double)(-var15) * var7), (int)((double)(-var14) * var9), this)) {
  1228.             Thread.yield();
  1229.          }
  1230.  
  1231.          while(!var1.drawImage(var11, this.field_0 + (int)((double)var15 * var7), this.field_1 + (int)((double)var14 * var9), this)) {
  1232.             Thread.yield();
  1233.          }
  1234.  
  1235.          this.ready = true;
  1236.          ((Component)this).repaint();
  1237.  
  1238.          try {
  1239.             Thread.sleep((long)var5);
  1240.          } catch (Exception var21) {
  1241.          }
  1242.  
  1243.          switch (var13) {
  1244.             case 0:
  1245.                if (var15 == var18) {
  1246.                   ++var17;
  1247.                   ++var14;
  1248.                   var13 = (var13 + 1) % 4;
  1249.                } else {
  1250.                   ++var15;
  1251.                }
  1252.                break;
  1253.             case 1:
  1254.                if (var14 == var19) {
  1255.                   --var18;
  1256.                   --var15;
  1257.                   var13 = (var13 + 1) % 4;
  1258.                } else {
  1259.                   ++var14;
  1260.                }
  1261.                break;
  1262.             case 2:
  1263.                if (var15 == var16) {
  1264.                   --var19;
  1265.                   --var14;
  1266.                   var13 = (var13 + 1) % 4;
  1267.                } else {
  1268.                   --var15;
  1269.                }
  1270.                break;
  1271.             case 3:
  1272.                if (var14 == var17) {
  1273.                   ++var16;
  1274.                   ++var15;
  1275.                   var13 = (var13 + 1) % 4;
  1276.                } else {
  1277.                   --var14;
  1278.                }
  1279.          }
  1280.       }
  1281.  
  1282.       var12.dispose();
  1283.       var11.flush();
  1284.       Object var22 = null;
  1285.       System.gc();
  1286.       this.nextFunction = true;
  1287.       this.oldImage = true;
  1288.       this.imgNewptr = null;
  1289.    }
  1290.  
  1291.    public void paint(Graphics var1) {
  1292.       if (this.engine != null) {
  1293.          if (!this.serialIdError) {
  1294.             if (this.firstTime) {
  1295.                if (this.bgColor != null) {
  1296.                   var1.setColor(this.bgColor);
  1297.                   var1.fillRect(0, 0, this.appletDim.width, this.appletDim.height);
  1298.                   if (this.bgimage != null) {
  1299.                      this.drawTile(var1);
  1300.                   }
  1301.                }
  1302.  
  1303.                this.firstTime = false;
  1304.             }
  1305.  
  1306.             if (this.ready) {
  1307.                var1.drawImage(this.offImage, 0, 0, this);
  1308.             }
  1309.          } else {
  1310.             var1.setColor(Color.red);
  1311.             var1.drawString("ID error, please run ImageWizPLUS again", 2, this.appletDim.width - 2);
  1312.          }
  1313.       }
  1314.  
  1315.       var1.dispose();
  1316.    }
  1317.  
  1318.    private Color getColor(String var1) {
  1319.       int var2 = 0;
  1320.       int var3 = 0;
  1321.       int var4 = 0;
  1322.       StringTokenizer var5 = new StringTokenizer(var1, ",");
  1323.  
  1324.       try {
  1325.          var2 = Integer.parseInt(var5.nextToken());
  1326.          var3 = Integer.parseInt(var5.nextToken());
  1327.          var4 = Integer.parseInt(var5.nextToken());
  1328.       } catch (Exception var6) {
  1329.       }
  1330.  
  1331.       return new Color(var2, var3, var4);
  1332.    }
  1333.  
  1334.    private void dbg(String var1) {
  1335.    }
  1336.  
  1337.    private void initSetup() {
  1338.       this.imageData = new wizinfo[this.totalImages];
  1339.       wizinfo.setTable();
  1340.       this.imageDim = new Dimension[2];
  1341.       this.imageLoaded = new boolean[this.totalImages];
  1342.  
  1343.       for(int var1 = 0; var1 < this.totalImages; ++var1) {
  1344.          this.imageLoaded[var1] = false;
  1345.       }
  1346.  
  1347.    }
  1348.  
  1349.    private synchronized void trailsVertical(Graphics var1, Image var2, boolean var3) {
  1350.       Image var4 = ((Component)this).createImage(this.imageWidth, this.appletDim.height);
  1351.       Graphics var5 = var4.getGraphics();
  1352.       Image var6 = ((Component)this).createImage(this.imageWidth, this.imageHeight);
  1353.       Graphics var7 = var6.getGraphics();
  1354.       if (this.offImage != null && var1 != null && var2 != null) {
  1355.          while(!var5.drawImage(this.offImage, -this.field_0, 0, this)) {
  1356.             Thread.yield();
  1357.          }
  1358.  
  1359.          if (var3) {
  1360.             for(int var8 = 0; var8 < this.field_1; var8 += this.transitionNum) {
  1361.                while(!var1.drawImage(var2, this.field_0, var8, this)) {
  1362.                   Thread.yield();
  1363.                }
  1364.  
  1365.                this.ready = true;
  1366.                ((Component)this).repaint();
  1367.             }
  1368.          } else {
  1369.             for(int var11 = this.appletDim.height - this.imageHeight; var11 > this.field_1; var11 -= this.transitionNum) {
  1370.                while(!var1.drawImage(var2, this.field_0, var11, this)) {
  1371.                   Thread.yield();
  1372.                }
  1373.  
  1374.                this.ready = true;
  1375.                ((Component)this).repaint();
  1376.             }
  1377.          }
  1378.  
  1379.          if (var3) {
  1380.             for(int var12 = 0; var12 < this.field_1 - this.imageHeight + this.transitionNum; var12 += this.transitionNum) {
  1381.                while(!var7.drawImage(var4, 0, -var12, this)) {
  1382.                   Thread.yield();
  1383.                }
  1384.  
  1385.                while(!var1.drawImage(var6, this.field_0, var12, this)) {
  1386.                   Thread.yield();
  1387.                }
  1388.  
  1389.                this.ready = true;
  1390.                ((Component)this).repaint();
  1391.             }
  1392.          } else {
  1393.             for(int var13 = this.appletDim.height - this.imageHeight; var13 > this.field_1 + this.imageHeight - this.transitionNum; var13 -= this.transitionNum) {
  1394.                while(!var7.drawImage(var4, 0, -var13, this)) {
  1395.                   Thread.yield();
  1396.                }
  1397.  
  1398.                while(!var1.drawImage(var6, this.field_0, var13, this)) {
  1399.                   Thread.yield();
  1400.                }
  1401.  
  1402.                this.ready = true;
  1403.                ((Component)this).repaint();
  1404.             }
  1405.          }
  1406.  
  1407.          while(!var1.drawImage(var4, this.field_0, 0, this)) {
  1408.             Thread.yield();
  1409.          }
  1410.  
  1411.          while(!var1.drawImage(var2, this.field_0, this.field_1, this)) {
  1412.             Thread.yield();
  1413.          }
  1414.  
  1415.          var4.flush();
  1416.          Object var9 = null;
  1417.          var5.dispose();
  1418.          var6.flush();
  1419.          Object var10 = null;
  1420.          var7.dispose();
  1421.          this.nextFunction = true;
  1422.          this.oldImage = true;
  1423.          this.imgNewptr = null;
  1424.       }
  1425.    }
  1426.  
  1427.    private void revealCorners(Graphics var1, int var2) {
  1428.       if (var2 == 2 || var2 == 4) {
  1429.          this.revealX -= this.transitionNum;
  1430.       }
  1431.  
  1432.       if (this.revealX <= this.field_0) {
  1433.          this.revealX = this.field_0;
  1434.       }
  1435.  
  1436.       if (var2 == 3 || var2 == 4) {
  1437.          this.revealY -= this.transitionNum;
  1438.       }
  1439.  
  1440.       if (this.revealY <= this.field_1) {
  1441.          this.revealY = this.field_1;
  1442.       }
  1443.  
  1444.       this.revealW += this.transitionNum;
  1445.       this.revealH += this.transitionNum;
  1446.       if (this.revealW >= this.imageDim[1].width) {
  1447.          this.oldImage = true;
  1448.          this.revealW = this.imageDim[1].width;
  1449.       }
  1450.  
  1451.       if (this.revealH >= this.imageDim[1].height) {
  1452.          this.nextFunction = true;
  1453.          this.revealH = this.imageDim[1].height;
  1454.       }
  1455.  
  1456.       this.offGraphics.clipRect(this.revealX, this.revealY, this.revealW, this.revealH);
  1457.    }
  1458.  
  1459.    private void imageShrink(int var1) {
  1460.       this.field_0 += this.transitionNum;
  1461.       this.field_1 += this.transitionNum;
  1462.       this.tempwidth -= var1;
  1463.       this.tempheight -= var1;
  1464.       if (this.tempwidth <= 0 || this.tempheight <= 0) {
  1465.          this.tempwidth = 0;
  1466.          this.tempheight = 0;
  1467.          this.nextFunction = true;
  1468.          this.oldImage = true;
  1469.          this.imgNewptr = null;
  1470.          this.img1ptr = null;
  1471.       }
  1472.  
  1473.    }
  1474.  
  1475.    public void drawGraphics(int var1) {
  1476.       this.offGraphics = this.offImage.getGraphics();
  1477.       if (this.clearApp) {
  1478.          if (this.bgColor != null) {
  1479.             this.offGraphics.setColor(this.bgColor);
  1480.          } else {
  1481.             this.offGraphics.setColor(((Component)this).getBackground());
  1482.          }
  1483.  
  1484.          this.offGraphics.fillRect(0, 0, this.appletDim.width, this.appletDim.height);
  1485.          this.drawTile(this.offGraphics);
  1486.       }
  1487.  
  1488.       if (this.img1ptr != null) {
  1489.          this.offGraphics.drawImage(this.img1ptr, this.oldX, this.oldY, this.imageDim[0].width, this.imageDim[0].height, this);
  1490.       }
  1491.  
  1492.       if (this.field_0 <= this.appletDim.width || this.field_1 <= this.appletDim.height) {
  1493.          if (!this.invertNow) {
  1494.             switch (this.functionNumber) {
  1495.                case 8:
  1496.                   this.img1ptr = null;
  1497.                   this.imgNewptr = null;
  1498.                   this.nextFunction = this.oldImage = true;
  1499.                   break;
  1500.                case 60:
  1501.                   this.revealWipeUpDown(true, true);
  1502.                   break;
  1503.                case 61:
  1504.                   this.revealWipeUpDown(false, true);
  1505.                   break;
  1506.                case 62:
  1507.                   this.revealWipeLeftRight(true, true);
  1508.                   break;
  1509.                case 63:
  1510.                   this.revealWipeLeftRight(false, true);
  1511.                   break;
  1512.                case 64:
  1513.                   this.revealWipeCenter(true, this.offGraphics, this.imgNewptr);
  1514.                   this.offGraphics.dispose();
  1515.                   return;
  1516.                case 65:
  1517.                   this.donut(this.offGraphics, this.imgNewptr, true);
  1518.                   this.offGraphics.dispose();
  1519.                   return;
  1520.                case 66:
  1521.                   this.revealCorners(this.offGraphics, 1);
  1522.                   break;
  1523.                case 67:
  1524.                   this.revealCorners(this.offGraphics, 2);
  1525.                   break;
  1526.                case 68:
  1527.                   this.revealCorners(this.offGraphics, 3);
  1528.                   break;
  1529.                case 69:
  1530.                   this.revealCorners(this.offGraphics, 4);
  1531.                   break;
  1532.                case 70:
  1533.                   this.revealWipeUpDown(true, false);
  1534.                   break;
  1535.                case 71:
  1536.                   this.revealWipeUpDown(false, false);
  1537.                   break;
  1538.                case 72:
  1539.                   this.revealWipeLeftRight(true, false);
  1540.                   break;
  1541.                case 73:
  1542.                   this.revealWipeLeftRight(false, false);
  1543.                   break;
  1544.                case 74:
  1545.                   this.revealWipeCenter(false, this.offGraphics, this.imgNewptr);
  1546.                   this.offGraphics.dispose();
  1547.                   break;
  1548.                case 75:
  1549.                   this.donut(this.offGraphics, this.imgNewptr, false);
  1550.                   this.offGraphics.dispose();
  1551.                   return;
  1552.                case 81:
  1553.                   this.barnDoor(this.offGraphics, this.imgNewptr);
  1554.                   this.offGraphics.dispose();
  1555.                   return;
  1556.                case 90:
  1557.                   this.checkBoard(this.offGraphics, this.imgNewptr);
  1558.                   this.offGraphics.dispose();
  1559.                   return;
  1560.                case 91:
  1561.                   this.method_0(this.offGraphics, this.imgNewptr);
  1562.                   this.offGraphics.dispose();
  1563.                   return;
  1564.                case 92:
  1565.                   this.slidingDoor(this.offGraphics, this.imgNewptr);
  1566.                   this.offGraphics.dispose();
  1567.                   return;
  1568.                case 200:
  1569.                   this.trailsHorizontal(this.offGraphics, this.imgNewptr, true);
  1570.                   this.offGraphics.dispose();
  1571.                   return;
  1572.                case 201:
  1573.                   this.trailsHorizontal(this.offGraphics, this.imgNewptr, false);
  1574.                   this.offGraphics.dispose();
  1575.                   return;
  1576.                case 202:
  1577.                   this.trailsVertical(this.offGraphics, this.imgNewptr, true);
  1578.                   this.offGraphics.dispose();
  1579.                   return;
  1580.                case 203:
  1581.                   this.trailsVertical(this.offGraphics, this.imgNewptr, false);
  1582.                   this.offGraphics.dispose();
  1583.                   return;
  1584.                case 204:
  1585.                   this.spiralin(this.offGraphics, this.imgNewptr, this.transitionNum);
  1586.                   this.offGraphics.dispose();
  1587.                   return;
  1588.                case 205:
  1589.                   this.spiralout(this.offGraphics, this.imgNewptr, this.transitionNum);
  1590.                   this.offGraphics.dispose();
  1591.                   return;
  1592.                case 206:
  1593.                   this.slider(this.offGraphics, this.imgNewptr, this.transitionNum);
  1594.                   this.offGraphics.dispose();
  1595.                   return;
  1596.             }
  1597.  
  1598.             if (this.imgNewptr != null) {
  1599.                this.offGraphics.clipRect(0, 0, this.appletDim.width, this.appletDim.height);
  1600.                this.offGraphics.drawImage(this.imgNewptr, this.field_0, this.field_1, this.tempwidth, this.tempheight, this);
  1601.             }
  1602.          } else {
  1603.             this.offGraphics.drawImage(this.reverseImage, this.field_0, this.field_1, this.tempwidth, this.tempheight, this);
  1604.          }
  1605.       }
  1606.  
  1607.       this.offGraphics.dispose();
  1608.    }
  1609.  
  1610.    private void outApp() {
  1611.       this.nextFunction = true;
  1612.       this.imgNewptr = null;
  1613.    }
  1614.  
  1615.    private void squeezeUpDown(boolean var1) {
  1616.       if (this.tempheight > 0) {
  1617.          if (!var1) {
  1618.             this.field_1 += this.transitionNum;
  1619.          }
  1620.  
  1621.          this.tempheight -= this.transitionNum;
  1622.          if (this.tempheight < 0) {
  1623.             this.tempheight = 0;
  1624.          }
  1625.       } else {
  1626.          this.nextFunction = true;
  1627.          this.oldImage = true;
  1628.       }
  1629.  
  1630.    }
  1631.  
  1632.    private void revealWipeLeftRight(boolean var1, boolean var2) {
  1633.       if (var1) {
  1634.          if (var2) {
  1635.             this.revealX -= this.transitionNum;
  1636.             if (this.revealX <= this.field_0) {
  1637.                this.revealX = this.field_0;
  1638.                this.nextFunction = this.oldImage = true;
  1639.             }
  1640.          } else {
  1641.             this.revealW -= this.transitionNum;
  1642.             if (this.revealW <= 0) {
  1643.                this.revealW = 0;
  1644.                this.nextFunction = this.oldImage = true;
  1645.                this.imgNewptr = null;
  1646.             }
  1647.          }
  1648.       } else if (var2) {
  1649.          this.revealW += this.transitionNum;
  1650.          if (this.revealW >= this.imageWidth) {
  1651.             this.revealW = this.imageWidth;
  1652.             this.nextFunction = this.oldImage = true;
  1653.          }
  1654.       } else {
  1655.          this.revealX += this.transitionNum;
  1656.          this.revealW -= this.transitionNum;
  1657.          if (this.revealW <= 0) {
  1658.             this.revealW = 0;
  1659.             this.nextFunction = this.oldImage = true;
  1660.             this.imgNewptr = null;
  1661.          }
  1662.       }
  1663.  
  1664.       this.offGraphics.clipRect(this.revealX, this.revealY, this.revealW, this.revealH);
  1665.    }
  1666.  
  1667.    public boolean mouseDown(Event var1, int var2, int var3) {
  1668.       if (!this.serialIdError && this.imageData[this.imgNum] != null) {
  1669.          String var4 = this.imageData[this.imgNum].getDest();
  1670.          if (var4 != null) {
  1671.             try {
  1672.                if (var4.indexOf("http:") == -1 && var4.indexOf("ftp:") == -1 && var4.indexOf("file:") == -1) {
  1673.                   System.out.println("no location");
  1674.                   ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getDocumentBase(), var4), this.imageData[this.imgNum].getFrame());
  1675.                } else {
  1676.                   ((Applet)this).getAppletContext().showDocument(new URL(this.imageData[this.imgNum].getDest()), this.imageData[this.imgNum].getFrame());
  1677.                }
  1678.             } catch (MalformedURLException var5) {
  1679.                if (this.imageData[this.imgNum].getDest() != null) {
  1680.                   System.out.println("Could not go to " + this.imageData[this.imgNum].getDest());
  1681.                }
  1682.  
  1683.                return false;
  1684.             }
  1685.          }
  1686.       }
  1687.  
  1688.       return true;
  1689.    }
  1690.  
  1691.    private void imageGrow(int var1) {
  1692.       this.field_0 -= this.transitionNum * this.ratioW;
  1693.       this.field_1 -= this.transitionNum * this.ratioH;
  1694.       this.tempwidth += var1 * this.ratioW;
  1695.       this.tempheight += var1 * this.ratioH;
  1696.       if (this.tempwidth > this.imageWidth || this.tempheight > this.imageHeight) {
  1697.          this.nextFunction = this.oldImage = true;
  1698.          this.tempwidth = this.imageWidth;
  1699.          this.tempheight = this.imageHeight;
  1700.          this.field_0 = this.imageCenter.width;
  1701.          this.field_1 = this.imageCenter.height;
  1702.       }
  1703.  
  1704.    }
  1705.  
  1706.    public void run() {
  1707.       int var1 = 0;
  1708.       if (this.unreg) {
  1709.          System.out.println("Please Register ImageWizPLUS");
  1710.  
  1711.          while(true) {
  1712.             ((Applet)this).showStatus("Please Register ImageWizPLUS");
  1713.          }
  1714.       }
  1715.  
  1716.       try {
  1717.          if (this.offImage == null) {
  1718.             this.offImage = ((Component)this).createImage(this.appletDim.width, this.appletDim.height);
  1719.          }
  1720.       } catch (Exception var11) {
  1721.          System.out.println("fie:run():Trouble creating offImage.  " + var11);
  1722.       }
  1723.  
  1724.       if (!this.serialIdError) {
  1725.          try {
  1726.             if (this.bgimage != null) {
  1727.                this.tracker.waitForID(this.totalImages);
  1728.                this.bgImageDim = new Dimension(this.bgimage.getWidth(this), this.bgimage.getHeight(this));
  1729.             }
  1730.  
  1731.             this.tracker.waitForID(0);
  1732.          } catch (InterruptedException var10) {
  1733.          }
  1734.  
  1735.          this.imageLoaded[0] = true;
  1736.  
  1737.          try {
  1738.             ((Applet)this).showStatus(this.getAppletInfo());
  1739.             Thread.sleep(1000L);
  1740.          } catch (Exception var9) {
  1741.          }
  1742.  
  1743.          boolean var2 = true;
  1744.          this.loopCounter = 0;
  1745.          this.repeatNumber = 0;
  1746.          this.imgNum = 0;
  1747.          boolean var3 = false;
  1748.  
  1749.          while(!var3) {
  1750.             if (!this.imageData[this.imgNum].picString.equals("") && this.tracker.isErrorID(this.imgNum)) {
  1751.                System.out.println("********** Error with image number " + (this.imgNum + 1));
  1752.                ((Applet)this).showStatus("********** Error with image number " + (this.imgNum + 1));
  1753.             }
  1754.  
  1755.             if (this.tracker.checkID(this.imgNum)) {
  1756.                if (this.nextFunction && this.oldImage) {
  1757.                   try {
  1758.                      Thread.sleep((long)var1);
  1759.                   } catch (Exception var5) {
  1760.                      System.out.println("Hey the thread got interrupted!!!");
  1761.                   }
  1762.  
  1763.                   if (this.repeatNumber < 1) {
  1764.                      ++this.imgNum;
  1765.                      if (var2) {
  1766.                         this.imgNum = 0;
  1767.                         var2 = false;
  1768.                      }
  1769.  
  1770.                      if (this.imgNum >= this.totalImages) {
  1771.                         this.imgNum = 0;
  1772.                         ++this.loopCounter;
  1773.                      }
  1774.  
  1775.                      if (this.globalRepeat == -1) {
  1776.                         this.loopCounter = 0;
  1777.                         var3 = false;
  1778.                      } else if (this.loopCounter > this.globalRepeat) {
  1779.                         var3 = true;
  1780.                         break;
  1781.                      }
  1782.  
  1783.                      System.gc();
  1784.                      if (!this.imageLoaded[this.imgNum]) {
  1785.                         try {
  1786.                            this.tracker.waitForID(this.imgNum);
  1787.                            this.imageLoaded[this.imgNum] = true;
  1788.                         } catch (InterruptedException var8) {
  1789.                         }
  1790.                      }
  1791.                   }
  1792.  
  1793.                   this.getNextFunc();
  1794.                   ((Component)this).repaint();
  1795.                   if (!this.centered) {
  1796.                      this.img1ptr = null;
  1797.                   }
  1798.  
  1799.                   this.oldImage = false;
  1800.                   this.nextFunction = false;
  1801.                   var1 = this.imageData[this.imgNum].getImageDelay();
  1802.                   String var4 = this.imageData[this.imgNum].getDest();
  1803.                   if (var4 != null) {
  1804.                      ((Applet)this).showStatus(var4);
  1805.                      this.setMouseCursor(1);
  1806.                      this.cursorDone = true;
  1807.                   } else {
  1808.                      ((Applet)this).showStatus(" ");
  1809.                      this.setMouseCursor(0);
  1810.                      this.cursorDone = false;
  1811.                   }
  1812.                }
  1813.  
  1814.                int var13 = this.transitionNum * 2;
  1815.                switch (this.functionNumber) {
  1816.                   case 1:
  1817.                      this.scrollLeft(false);
  1818.                      break;
  1819.                   case 2:
  1820.                      this.scrollRight(false);
  1821.                      break;
  1822.                   case 3:
  1823.                      this.scrollUp(false);
  1824.                      break;
  1825.                   case 4:
  1826.                      this.scrollDown(false);
  1827.                      break;
  1828.                   case 7:
  1829.                      if (!this.oldImage) {
  1830.                         this.oldImage = true;
  1831.                      } else {
  1832.                         try {
  1833.                            Thread.sleep((long)var1);
  1834.                         } catch (InterruptedException var7) {
  1835.                         }
  1836.  
  1837.                         this.nextFunction = true;
  1838.                         this.imgNewptr = null;
  1839.                         this.img1ptr = null;
  1840.                      }
  1841.                      break;
  1842.                   case 9:
  1843.                      this.oldImage = this.nextFunction = true;
  1844.                      break;
  1845.                   case 10:
  1846.                   case 12:
  1847.                      this.rotateLeftRight(var13);
  1848.                      break;
  1849.                   case 11:
  1850.                   case 13:
  1851.                      this.rotateUpDown(var13);
  1852.                      break;
  1853.                   case 20:
  1854.                      this.squeezeUpDown(true);
  1855.                      break;
  1856.                   case 21:
  1857.                      this.squeezeUpDown(false);
  1858.                      break;
  1859.                   case 22:
  1860.                      this.squeezeLeftRight(false);
  1861.                      break;
  1862.                   case 23:
  1863.                      this.squeezeLeftRight(true);
  1864.                      break;
  1865.                   case 30:
  1866.                      this.imageShrink(var13);
  1867.                      break;
  1868.                   case 31:
  1869.                      this.imageGrow(var13);
  1870.                      break;
  1871.                   case 50:
  1872.                      this.scrollLeft(true);
  1873.                      break;
  1874.                   case 51:
  1875.                      this.scrollRight(true);
  1876.                      break;
  1877.                   case 52:
  1878.                      this.scrollUp(true);
  1879.                      break;
  1880.                   case 53:
  1881.                      this.scrollDown(true);
  1882.                      break;
  1883.                   case 80:
  1884.                      this.fade();
  1885.                }
  1886.  
  1887.                if (!this.tracker.isErrorID(this.imgNum)) {
  1888.                   this.drawGraphics(var13);
  1889.                   this.ready = true;
  1890.                   ((Component)this).repaint();
  1891.  
  1892.                   try {
  1893.                      Thread.sleep(20L);
  1894.                   } catch (Exception var6) {
  1895.                      System.out.println("Hey the thread got interrupted!!!");
  1896.                   }
  1897.  
  1898.                   this.ready = false;
  1899.                } else {
  1900.                   this.oldImage = this.nextFunction = true;
  1901.                }
  1902.             }
  1903.          }
  1904.       } else {
  1905.          ((Applet)this).showStatus("Serialid error, please use ImageWizPLUS again");
  1906.          System.out.println("Serialid error");
  1907.       }
  1908.  
  1909.       System.out.println("Applet finished");
  1910.    }
  1911.  
  1912.    public void init() {
  1913.       String var1 = ((Applet)this).getParameter("bgcolor");
  1914.       if (var1 != null) {
  1915.          this.bgColor = this.getColor(var1);
  1916.       } else {
  1917.          this.bgColor = null;
  1918.       }
  1919.  
  1920.       this.tracker = new MediaTracker(this);
  1921.       var1 = ((Applet)this).getParameter("bgimage");
  1922.       if (var1 != null) {
  1923.          String var2 = new String(var1.trim());
  1924.          int var3 = var2.lastIndexOf("/");
  1925.          if (var3 == -1 && var3 != var2.length()) {
  1926.             this.bgimage = ((Applet)this).getImage(((Applet)this).getDocumentBase(), var1);
  1927.          } else {
  1928.             try {
  1929.                URL var4 = new URL(var2.substring(0, var3 + 1));
  1930.                String var5 = new String(var2.substring(var3 + 1));
  1931.                this.bgimage = ((Applet)this).getImage(var4, var5);
  1932.             } catch (MalformedURLException var9) {
  1933.                this.bgimage = ((Applet)this).getImage(((Applet)this).getDocumentBase(), var1);
  1934.             }
  1935.          }
  1936.  
  1937.          this.bgImageDim = new Dimension(this.bgimage.getWidth(this), this.bgimage.getHeight(this));
  1938.          var1 = ((Applet)this).getParameter("tiled");
  1939.          if (var1 != null && var1.equals("true")) {
  1940.             this.tiled = true;
  1941.          }
  1942.       } else {
  1943.          this.bgimage = null;
  1944.       }
  1945.  
  1946.       this.totalImages = 0;
  1947.       int var14 = 0;
  1948.       boolean var16 = false;
  1949.  
  1950.       while(!var16) {
  1951.          ++var14;
  1952.          var1 = ((Applet)this).getParameter("no" + var14);
  1953.          if (var1 == null) {
  1954.             var16 = true;
  1955.          } else {
  1956.             this.whatXY(var1);
  1957.             ++this.totalImages;
  1958.          }
  1959.       }
  1960.  
  1961.       this.initSetup();
  1962.       this.appletDim = ((Component)this).size();
  1963.       this.addReguser();
  1964.       this.calcXY();
  1965.       if (this.bgimage != null) {
  1966.          this.tracker.addImage(this.bgimage, this.totalImages);
  1967.       }
  1968.  
  1969.       for(int var15 = 0; var15 < this.totalImages; ++var15) {
  1970.          this.imageData[var15] = new wizinfo();
  1971.          this.imageData[var15].parseFunction(((Applet)this).getParameter("no" + (var15 + 1)));
  1972.          if (this.imageData[var15].baseURL == null) {
  1973.             this.imageData[var15].baseURL = ((Applet)this).getDocumentBase();
  1974.          }
  1975.  
  1976.          this.imageData[var15].setImageData(((Applet)this).getImage(this.imageData[var15].baseURL, this.imageData[var15].picString));
  1977.          this.tracker.addImage(this.imageData[var15].getImageData(), var15);
  1978.          var1 = ((Applet)this).getParameter("rotate" + (var15 + 1));
  1979.          if (var1 != null) {
  1980.             this.imageData[var15].setRepeatNum(Integer.parseInt(var1));
  1981.          }
  1982.       }
  1983.  
  1984.       try {
  1985.          this.centered = ((Applet)this).getParameter("center").equalsIgnoreCase("true");
  1986.       } catch (Exception var8) {
  1987.          this.centered = true;
  1988.       }
  1989.  
  1990.       try {
  1991.          this.globalRepeat = Integer.parseInt(((Applet)this).getParameter("repeat"));
  1992.       } catch (Exception var7) {
  1993.          this.globalRepeat = -1;
  1994.       }
  1995.  
  1996.       try {
  1997.          this.offImage = ((Component)this).createImage(this.appletDim.width, this.appletDim.height);
  1998.       } catch (Exception var6) {
  1999.          System.out.println("fie:init():Trouble creating offImage.  " + var6);
  2000.       }
  2001.  
  2002.    }
  2003.  
  2004.    private void fade() {
  2005.    }
  2006.  
  2007.    // $FF: renamed from: t2 (java.awt.Graphics, java.awt.Image) void
  2008.    public void method_0(Graphics var1, Image var2) {
  2009.       this.revealX += this.transitionNum;
  2010.       if (this.revealX >= this.field_0) {
  2011.          this.oldImage = true;
  2012.          this.revealX = this.field_0;
  2013.       }
  2014.  
  2015.       this.tempwidth -= this.transitionNum;
  2016.       if (this.tempwidth <= this.field_0) {
  2017.          this.nextFunction = true;
  2018.          this.tempwidth = this.field_0;
  2019.       }
  2020.  
  2021.       var1.drawImage(var2, this.revealX, this.revealY, this);
  2022.       if (!this.oldImage || !this.nextFunction) {
  2023.          var1.drawImage(var2, this.tempwidth, this.tempheight, this);
  2024.       }
  2025.    }
  2026.  
  2027.    private synchronized void checkBoard(Graphics var1, Image var2) {
  2028.       var2.getWidth(this);
  2029.       var2.getHeight(this);
  2030.    }
  2031. }
  2032.