home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / morphmenu / mmgalaxy.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-19  |  4.5 KB  |  383 lines

  1. class mmgalaxy implements morphmenub {
  2.    // $FF: renamed from: a morphmenu
  3.    morphmenu field_0;
  4.    // $FF: renamed from: b float
  5.    float field_1;
  6.    // $FF: renamed from: c float
  7.    float field_2;
  8.    // $FF: renamed from: d float
  9.    float field_3;
  10.    // $FF: renamed from: e int
  11.    int field_4;
  12.    // $FF: renamed from: f int
  13.    int field_5 = 1;
  14.    // $FF: renamed from: g int
  15.    int field_6;
  16.    // $FF: renamed from: h int
  17.    int field_7;
  18.    // $FF: renamed from: i float[]
  19.    float[] field_8;
  20.    // $FF: renamed from: j int
  21.    int field_9 = 4800;
  22.    // $FF: renamed from: k int[]
  23.    int[] field_10;
  24.    // $FF: renamed from: l int
  25.    int field_11;
  26.    // $FF: renamed from: m int
  27.    int field_12;
  28.    // $FF: renamed from: n int
  29.    int field_13;
  30.    // $FF: renamed from: o int
  31.    int field_14;
  32.    // $FF: renamed from: p int
  33.    int field_15 = 400;
  34.  
  35.    public final void animate() {
  36.       if (this.field_4 == 0) {
  37.          System.arraycopy(this.field_0.j, 0, this.field_0.bA, 0, this.field_0.bL);
  38.       } else if (this.field_4 == 1) {
  39.          int[] var1 = this.field_0.bA;
  40.          int var2 = this.field_0.bw * this.field_0.bv;
  41.  
  42.          for(int var3 = 0; var3 < var2; ++var3) {
  43.             int var4 = var1[var3];
  44.             var1[var3] = (var4 & 16711422) >>> 1;
  45.          }
  46.       } else if (this.field_4 == 2) {
  47.          this.screen_fire();
  48.       }
  49.  
  50.       this.s_filter();
  51.       this.method_1();
  52.       this.method_0();
  53.       this.field_1 = (float)((double)this.field_1 + 0.08);
  54.       this.field_2 = (float)((double)this.field_2 + 0.04);
  55.       this.field_3 = (float)((double)this.field_3 + 0.03);
  56.    }
  57.  
  58.    public final void animate2() {
  59.       if (this.field_7 == 1) {
  60.          int[] var1 = this.field_0.bA;
  61.          int var2 = this.field_0.f;
  62.          int var5 = this.field_0.bL;
  63.  
  64.          for(int var6 = 0; var6 < var5; ++var6) {
  65.             int var3 = (var1[var6] & 16711422) + (var2 & 16711422);
  66.             int var4 = var3 & 16843008;
  67.             var1[var6] = var4 - (var4 >> 8) | var3;
  68.          }
  69.       }
  70.  
  71.    }
  72.  
  73.    public void prep_back(morphmenu var1) {
  74.       this.field_0 = var1;
  75.       this.field_11 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD=$iS")), 16);
  76.       this.field_5 = this.field_0.getParameter(method_2("*kXz\"&~FD(?")).equals(method_2("5oQ|=")) ? 1 : 0;
  77.       String var2 = this.field_0.getParameter(method_2("*kXz\"&~FD-+t"));
  78.       this.field_4 = var2.equals(method_2("!oM~")) ? 2 : (var1.equals(method_2("%jJi")) ? 1 : 0);
  79.       this.field_14 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD<")));
  80.       this.field_13 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD)")));
  81.       this.field_12 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD,")));
  82.       this.field_6 = this.field_0.getParameter(method_2("*kXz\"&~FD(.jK~<")).equals(method_2(">cL")) ? 1 : 0;
  83.       this.field_7 = this.field_0.getParameter(method_2("*kXz\"&~FD,$iS")).equals(method_2(">cL")) ? 1 : 0;
  84.       this.field_10 = new int[this.field_9 * 2];
  85.       this.field_8 = new float[this.field_9 * 3];
  86.       int var3 = 0;
  87.       if (this.field_5 == 0) {
  88.          for(int var17 = 0; var17 < this.field_9; ++var17) {
  89.             double var5 = (double)200.0F * Math.random();
  90.             double var7 = (Math.PI * 2D) * Math.random();
  91.             double var9 = Math.PI * Math.random() - (Math.PI / 2D);
  92.             this.field_8[var3++] = (float)(var5 * Math.cos(var9) * Math.cos(var7));
  93.             this.field_8[var3++] = (float)(var5 * Math.cos(var9) * Math.sin(var7));
  94.             this.field_8[var3++] = (float)(var5 * Math.sin(var9));
  95.          }
  96.  
  97.       } else {
  98.          if (this.field_5 == 1) {
  99.             for(int var12 = 0; var12 < 1500; ++var12) {
  100.                double var4;
  101.                if (Math.random() > (double)0.5F) {
  102.                   var4 = (double)100.0F + (double)10.0F * Math.random();
  103.                } else {
  104.                   var4 = -((double)220.0F + (double)10.0F * Math.random());
  105.                }
  106.  
  107.                double var6 = (double)170.0F + (double)10.0F * Math.random();
  108.                double var8 = (double)200.0F + (double)10.0F * Math.random();
  109.                double var10 = (Math.PI * 2D) * Math.random();
  110.                this.field_8[var3] = (float)(var4 * Math.cos(var10));
  111.                this.field_8[1500 + var3] = (float)(var6 * Math.cos(var10));
  112.                this.field_8[3000 + var3++] = (float)(var8 * Math.cos(var10));
  113.                this.field_8[var3] = (float)(var4 * Math.sin(var10));
  114.                this.field_8[1500 + var3] = (float)(var6 * Math.sin(var10));
  115.                this.field_8[3000 + var3++] = (float)(var8 * Math.sin(var10));
  116.                this.field_8[var3] = (float)(var4 * Math.sin(var10));
  117.                this.field_8[1500 + var3] = 0.0F;
  118.                this.field_8[3000 + var3++] = (float)(var8 * Math.cos(var10));
  119.             }
  120.          }
  121.  
  122.       }
  123.    }
  124.  
  125.    // $FF: renamed from: a () void
  126.    final void method_0() {
  127.       int var6 = this.field_0.bw - 2;
  128.       int var7 = this.field_0.bv - 2;
  129.       int[] var8 = this.field_0.bA;
  130.       int var9 = this.field_0.bw;
  131.       int var10 = 0;
  132.  
  133.       while(var10 < this.field_9 * 2) {
  134.          int var1 = this.field_10[var10++];
  135.          int var2 = this.field_10[var10++];
  136.          int var4 = var1 + var2 * var9;
  137.          int var11 = this.field_11;
  138.          int var12 = (var11 & 16711422) >>> 1;
  139.          int var13 = (var12 & 16711422) >>> 1;
  140.          int var14 = (var13 & 16711422) >>> 1;
  141.          if (var1 >= 2 && var1 < var6 && var2 >= 2 && var2 < var7) {
  142.             int var5 = (var8[var4] & 16711680) >> 16;
  143.             if (var5 < 130) {
  144.                var8[var4] += var11;
  145.             }
  146.  
  147.             int var3 = var4 + 1;
  148.             var5 = (var8[var3] & 16711680) >> 16;
  149.             if (var5 < 141) {
  150.                var8[var3] += var12;
  151.             }
  152.  
  153.             var3 = var4 - 1;
  154.             var5 = (var8[var3] & 16711680) >> 16;
  155.             if (var5 < 141) {
  156.                var8[var3] += var12;
  157.             }
  158.  
  159.             var3 = var4 + var9;
  160.             var5 = (var8[var3] & 16711680) >> 16;
  161.             if (var5 < 141) {
  162.                var8[var3] += var12;
  163.             }
  164.  
  165.             var3 = var4 - var9;
  166.             var5 = (var8[var3] & 16711680) >> 16;
  167.             if (var5 < 141) {
  168.                var8[var3] += var12;
  169.             }
  170.  
  171.             var3 = var4 - 2;
  172.             var5 = (var8[var3] & 16711680) >> 16;
  173.             if (var5 < 203) {
  174.                var8[var3] += var13;
  175.             }
  176.  
  177.             var3 = var4 + 2;
  178.             var5 = (var8[var3] & 16711680) >> 16;
  179.             if (var5 < 203) {
  180.                var8[var3] += var13;
  181.             }
  182.  
  183.             var3 = var4 - var9 - var9;
  184.             var5 = (var8[var3] & 16711680) >> 16;
  185.             if (var5 < 203) {
  186.                var8[var3] += var13;
  187.             }
  188.  
  189.             var3 = var4 + var9 + var9;
  190.             var5 = (var8[var3] & 16711680) >> 16;
  191.             if (var5 < 203) {
  192.                var8[var3] += var13;
  193.             }
  194.  
  195.             var3 = var4 + var9 + 1;
  196.             var5 = (var8[var3] & 16711680) >> 16;
  197.             if (var5 < 219) {
  198.                var8[var3] += var14;
  199.             }
  200.  
  201.             var3 = var4 + var9 - 1;
  202.             var5 = (var8[var3] & 16711680) >> 16;
  203.             if (var5 < 219) {
  204.                var8[var3] += var14;
  205.             }
  206.  
  207.             var3 = var4 - var9 + 1;
  208.             var5 = (var8[var3] & 16711680) >> 16;
  209.             if (var5 < 219) {
  210.                var8[var3] += var14;
  211.             }
  212.  
  213.             var3 = var4 - var9 - 1;
  214.             var5 = (var8[var3] & 16711680) >> 16;
  215.             if (var5 < 219) {
  216.                var8[var3] += var14;
  217.             }
  218.  
  219.             var8[var3] += var14;
  220.          }
  221.       }
  222.  
  223.    }
  224.  
  225.    // $FF: renamed from: b () void
  226.    final void method_1() {
  227.       int var1 = this.field_9;
  228.       float var5 = 0.0F;
  229.       float var6 = 0.0F;
  230.       float var7 = 0.0F;
  231.       int var9 = 0;
  232.       int var10 = 0;
  233.       float var13 = (float)Math.sin((double)this.field_1);
  234.       float var14 = (float)Math.cos((double)this.field_1);
  235.       float var15 = (float)Math.sin((double)this.field_2);
  236.       float var16 = (float)Math.cos((double)this.field_2);
  237.       float var17 = (float)Math.sin((double)this.field_3);
  238.       float var18 = (float)Math.cos((double)this.field_3);
  239.       float var11 = var13 * var17;
  240.       float var12 = var13 * var18;
  241.       float var19 = var16 * var18 + var11 * var15;
  242.       float var20 = var12 * var15 - var17 * var16;
  243.       float var21 = var15 * var14;
  244.       float var22 = var17 * var14;
  245.       float var23 = var14 * var18;
  246.       float var24 = -var13;
  247.       float var25 = var11 * var16 - var15 * var18;
  248.       float var26 = var15 * var17 + var12 * var16;
  249.       float var27 = var14 * var16;
  250.       float var28 = (float)((double)this.field_0.bw / (double)320.0F * (double)256.0F);
  251.       float var29 = (float)((double)this.field_0.bv / (double)200.0F * (double)256.0F);
  252.       float var30 = (float)(this.field_0.bw / 2);
  253.       float var31 = (float)(this.field_0.bv / 2);
  254.  
  255.       do {
  256.          var5 = this.field_8[var9++];
  257.          var6 = this.field_8[var9++];
  258.          var7 = this.field_8[var9++];
  259.          float var2 = var5 * var19 + var6 * var20 + var7 * var21;
  260.          float var3 = var5 * var22 + var6 * var23 + var7 * var24;
  261.          float var4 = var5 * var25 + var6 * var26 + var7 * var27;
  262.          int var8 = (int)var4 + this.field_15;
  263.          this.field_10[var10++] = (int)(var2 * (var28 / (float)var8) + var30);
  264.          this.field_10[var10++] = (int)(var3 * (var29 / (float)var8) + var31);
  265.          --var1;
  266.       } while(var1 > 0);
  267.  
  268.    }
  269.  
  270.    public void s_filter() {
  271.       int[] var1 = this.field_0.bA;
  272.       int var2 = this.field_0.bw;
  273.       int var3 = this.field_0.bv;
  274.       int var4 = var2 + 1;
  275.       if (this.field_6 == 1) {
  276.          for(int var5 = 1; var5 < var3 - 1; ++var5) {
  277.             for(int var6 = 1; var6 < var2 - 1; ++var6) {
  278.                var1[var4] = ((var1[var4] & 16711422) >> 1) + ((var1[var4 + 1] & 16316664) >> 3) + ((var1[var4 - 1] & 16316664) >> 3) + ((var1[var4 + var2] & 16316664) >> 3) + ((var1[var4 - var2] & 16316664) >> 3);
  279.                ++var4;
  280.             }
  281.  
  282.             var4 += 2;
  283.          }
  284.       }
  285.  
  286.    }
  287.  
  288.    public void screen_fire() {
  289.       int[] var1 = this.field_0.bA;
  290.       int var2 = this.field_0.bw;
  291.       int var3 = this.field_0.bv;
  292.       int var4 = var2 * var3;
  293.       int var5 = this.field_0.f;
  294.  
  295.       for(int var6 = 0; var6 < var2; ++var6) {
  296.          var1[var4 - var2 + var6] = 0;
  297.       }
  298.  
  299.       for(int var7 = 1; var7 < var3; ++var7) {
  300.          for(int var8 = 0; var8 < var2; ++var8) {
  301.             int var9 = var1[var7 * var2 + var8];
  302.             int var10 = var9 >> 16 & 255;
  303.             int var11 = var9 >> 8 & 255;
  304.             int var12 = var9 & 255;
  305.             int var13 = (int)(30.0F * this.field_0.rand());
  306.             if (var10 >= var13 * this.field_14) {
  307.                var10 -= var13 * this.field_14;
  308.             }
  309.  
  310.             if (var11 >= var13 * this.field_13) {
  311.                var11 -= var13 * this.field_13;
  312.             }
  313.  
  314.             if (var12 >= var13 * this.field_12) {
  315.                var12 -= var13 * this.field_12;
  316.             }
  317.  
  318.             if (var10 == 0 && var11 == 0 && var12 == 0) {
  319.                if (var7 != var3 - 1) {
  320.                   var1[(var7 - 1) * var2 + var8] = var5;
  321.                }
  322.             } else {
  323.                var1[(var7 - 1) * var2 + var8] = var10 << 16 | var11 << 8 | var12;
  324.             }
  325.          }
  326.       }
  327.  
  328.    }
  329.  
  330.    // $FF: renamed from: a (java.lang.String) java.lang.String
  331.    private static String method_2(String var0) {
  332.       char[] var1 = var0.toCharArray();
  333.       int var2 = var1.length;
  334.       int var3 = 0;
  335.  
  336.       label32:
  337.       while(true) {
  338.          int var4 = 0;
  339.          byte var10000 = 71;
  340.          char[] var10001 = var1;
  341.          int var10002 = var3;
  342.  
  343.          label30:
  344.          while(true) {
  345.             var10001[var10002] ^= var10000;
  346.  
  347.             while(true) {
  348.                ++var3;
  349.                ++var4;
  350.                if (var2 == var3) {
  351.                   return new String(var1);
  352.                }
  353.  
  354.                switch (var4) {
  355.                   case 1:
  356.                      var10000 = 6;
  357.                      var10001 = var1;
  358.                      var10002 = var3;
  359.                      continue label30;
  360.                   case 2:
  361.                      var10000 = 63;
  362.                      var10001 = var1;
  363.                      var10002 = var3;
  364.                      continue label30;
  365.                   case 3:
  366.                      var10000 = 27;
  367.                      var10001 = var1;
  368.                      var10002 = var3;
  369.                      continue label30;
  370.                   case 4:
  371.                      var10000 = 78;
  372.                      var10001 = var1;
  373.                      var10002 = var3;
  374.                      continue label30;
  375.                   case 5:
  376.                      continue label32;
  377.                }
  378.             }
  379.          }
  380.       }
  381.    }
  382. }
  383.