home *** CD-ROM | disk | FTP | other *** search
- class mmgalaxy implements morphmenub {
- // $FF: renamed from: a morphmenu
- morphmenu field_0;
- // $FF: renamed from: b float
- float field_1;
- // $FF: renamed from: c float
- float field_2;
- // $FF: renamed from: d float
- float field_3;
- // $FF: renamed from: e int
- int field_4;
- // $FF: renamed from: f int
- int field_5 = 1;
- // $FF: renamed from: g int
- int field_6;
- // $FF: renamed from: h int
- int field_7;
- // $FF: renamed from: i float[]
- float[] field_8;
- // $FF: renamed from: j int
- int field_9 = 4800;
- // $FF: renamed from: k int[]
- int[] field_10;
- // $FF: renamed from: l int
- int field_11;
- // $FF: renamed from: m int
- int field_12;
- // $FF: renamed from: n int
- int field_13;
- // $FF: renamed from: o int
- int field_14;
- // $FF: renamed from: p int
- int field_15 = 400;
-
- public final void animate() {
- if (this.field_4 == 0) {
- System.arraycopy(this.field_0.j, 0, this.field_0.bA, 0, this.field_0.bL);
- } else if (this.field_4 == 1) {
- int[] var1 = this.field_0.bA;
- int var2 = this.field_0.bw * this.field_0.bv;
-
- for(int var3 = 0; var3 < var2; ++var3) {
- int var4 = var1[var3];
- var1[var3] = (var4 & 16711422) >>> 1;
- }
- } else if (this.field_4 == 2) {
- this.screen_fire();
- }
-
- this.s_filter();
- this.method_1();
- this.method_0();
- this.field_1 = (float)((double)this.field_1 + 0.08);
- this.field_2 = (float)((double)this.field_2 + 0.04);
- this.field_3 = (float)((double)this.field_3 + 0.03);
- }
-
- public final void animate2() {
- if (this.field_7 == 1) {
- int[] var1 = this.field_0.bA;
- int var2 = this.field_0.f;
- int var5 = this.field_0.bL;
-
- for(int var6 = 0; var6 < var5; ++var6) {
- int var3 = (var1[var6] & 16711422) + (var2 & 16711422);
- int var4 = var3 & 16843008;
- var1[var6] = var4 - (var4 >> 8) | var3;
- }
- }
-
- }
-
- public void prep_back(morphmenu var1) {
- this.field_0 = var1;
- this.field_11 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD=$iS")), 16);
- this.field_5 = this.field_0.getParameter(method_2("*kXz\"&~FD(?")).equals(method_2("5oQ|=")) ? 1 : 0;
- String var2 = this.field_0.getParameter(method_2("*kXz\"&~FD-+t"));
- this.field_4 = var2.equals(method_2("!oM~")) ? 2 : (var1.equals(method_2("%jJi")) ? 1 : 0);
- this.field_14 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD<")));
- this.field_13 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD)")));
- this.field_12 = Integer.valueOf(this.field_0.getParameter(method_2("*kXz\"&~FD,")));
- this.field_6 = this.field_0.getParameter(method_2("*kXz\"&~FD(.jK~<")).equals(method_2(">cL")) ? 1 : 0;
- this.field_7 = this.field_0.getParameter(method_2("*kXz\"&~FD,$iS")).equals(method_2(">cL")) ? 1 : 0;
- this.field_10 = new int[this.field_9 * 2];
- this.field_8 = new float[this.field_9 * 3];
- int var3 = 0;
- if (this.field_5 == 0) {
- for(int var17 = 0; var17 < this.field_9; ++var17) {
- double var5 = (double)200.0F * Math.random();
- double var7 = (Math.PI * 2D) * Math.random();
- double var9 = Math.PI * Math.random() - (Math.PI / 2D);
- this.field_8[var3++] = (float)(var5 * Math.cos(var9) * Math.cos(var7));
- this.field_8[var3++] = (float)(var5 * Math.cos(var9) * Math.sin(var7));
- this.field_8[var3++] = (float)(var5 * Math.sin(var9));
- }
-
- } else {
- if (this.field_5 == 1) {
- for(int var12 = 0; var12 < 1500; ++var12) {
- double var4;
- if (Math.random() > (double)0.5F) {
- var4 = (double)100.0F + (double)10.0F * Math.random();
- } else {
- var4 = -((double)220.0F + (double)10.0F * Math.random());
- }
-
- double var6 = (double)170.0F + (double)10.0F * Math.random();
- double var8 = (double)200.0F + (double)10.0F * Math.random();
- double var10 = (Math.PI * 2D) * Math.random();
- this.field_8[var3] = (float)(var4 * Math.cos(var10));
- this.field_8[1500 + var3] = (float)(var6 * Math.cos(var10));
- this.field_8[3000 + var3++] = (float)(var8 * Math.cos(var10));
- this.field_8[var3] = (float)(var4 * Math.sin(var10));
- this.field_8[1500 + var3] = (float)(var6 * Math.sin(var10));
- this.field_8[3000 + var3++] = (float)(var8 * Math.sin(var10));
- this.field_8[var3] = (float)(var4 * Math.sin(var10));
- this.field_8[1500 + var3] = 0.0F;
- this.field_8[3000 + var3++] = (float)(var8 * Math.cos(var10));
- }
- }
-
- }
- }
-
- // $FF: renamed from: a () void
- final void method_0() {
- int var6 = this.field_0.bw - 2;
- int var7 = this.field_0.bv - 2;
- int[] var8 = this.field_0.bA;
- int var9 = this.field_0.bw;
- int var10 = 0;
-
- while(var10 < this.field_9 * 2) {
- int var1 = this.field_10[var10++];
- int var2 = this.field_10[var10++];
- int var4 = var1 + var2 * var9;
- int var11 = this.field_11;
- int var12 = (var11 & 16711422) >>> 1;
- int var13 = (var12 & 16711422) >>> 1;
- int var14 = (var13 & 16711422) >>> 1;
- if (var1 >= 2 && var1 < var6 && var2 >= 2 && var2 < var7) {
- int var5 = (var8[var4] & 16711680) >> 16;
- if (var5 < 130) {
- var8[var4] += var11;
- }
-
- int var3 = var4 + 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 141) {
- var8[var3] += var12;
- }
-
- var3 = var4 - 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 141) {
- var8[var3] += var12;
- }
-
- var3 = var4 + var9;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 141) {
- var8[var3] += var12;
- }
-
- var3 = var4 - var9;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 141) {
- var8[var3] += var12;
- }
-
- var3 = var4 - 2;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 203) {
- var8[var3] += var13;
- }
-
- var3 = var4 + 2;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 203) {
- var8[var3] += var13;
- }
-
- var3 = var4 - var9 - var9;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 203) {
- var8[var3] += var13;
- }
-
- var3 = var4 + var9 + var9;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 203) {
- var8[var3] += var13;
- }
-
- var3 = var4 + var9 + 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 219) {
- var8[var3] += var14;
- }
-
- var3 = var4 + var9 - 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 219) {
- var8[var3] += var14;
- }
-
- var3 = var4 - var9 + 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 219) {
- var8[var3] += var14;
- }
-
- var3 = var4 - var9 - 1;
- var5 = (var8[var3] & 16711680) >> 16;
- if (var5 < 219) {
- var8[var3] += var14;
- }
-
- var8[var3] += var14;
- }
- }
-
- }
-
- // $FF: renamed from: b () void
- final void method_1() {
- int var1 = this.field_9;
- float var5 = 0.0F;
- float var6 = 0.0F;
- float var7 = 0.0F;
- int var9 = 0;
- int var10 = 0;
- float var13 = (float)Math.sin((double)this.field_1);
- float var14 = (float)Math.cos((double)this.field_1);
- float var15 = (float)Math.sin((double)this.field_2);
- float var16 = (float)Math.cos((double)this.field_2);
- float var17 = (float)Math.sin((double)this.field_3);
- float var18 = (float)Math.cos((double)this.field_3);
- float var11 = var13 * var17;
- float var12 = var13 * var18;
- float var19 = var16 * var18 + var11 * var15;
- float var20 = var12 * var15 - var17 * var16;
- float var21 = var15 * var14;
- float var22 = var17 * var14;
- float var23 = var14 * var18;
- float var24 = -var13;
- float var25 = var11 * var16 - var15 * var18;
- float var26 = var15 * var17 + var12 * var16;
- float var27 = var14 * var16;
- float var28 = (float)((double)this.field_0.bw / (double)320.0F * (double)256.0F);
- float var29 = (float)((double)this.field_0.bv / (double)200.0F * (double)256.0F);
- float var30 = (float)(this.field_0.bw / 2);
- float var31 = (float)(this.field_0.bv / 2);
-
- do {
- var5 = this.field_8[var9++];
- var6 = this.field_8[var9++];
- var7 = this.field_8[var9++];
- float var2 = var5 * var19 + var6 * var20 + var7 * var21;
- float var3 = var5 * var22 + var6 * var23 + var7 * var24;
- float var4 = var5 * var25 + var6 * var26 + var7 * var27;
- int var8 = (int)var4 + this.field_15;
- this.field_10[var10++] = (int)(var2 * (var28 / (float)var8) + var30);
- this.field_10[var10++] = (int)(var3 * (var29 / (float)var8) + var31);
- --var1;
- } while(var1 > 0);
-
- }
-
- public void s_filter() {
- int[] var1 = this.field_0.bA;
- int var2 = this.field_0.bw;
- int var3 = this.field_0.bv;
- int var4 = var2 + 1;
- if (this.field_6 == 1) {
- for(int var5 = 1; var5 < var3 - 1; ++var5) {
- for(int var6 = 1; var6 < var2 - 1; ++var6) {
- 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);
- ++var4;
- }
-
- var4 += 2;
- }
- }
-
- }
-
- public void screen_fire() {
- int[] var1 = this.field_0.bA;
- int var2 = this.field_0.bw;
- int var3 = this.field_0.bv;
- int var4 = var2 * var3;
- int var5 = this.field_0.f;
-
- for(int var6 = 0; var6 < var2; ++var6) {
- var1[var4 - var2 + var6] = 0;
- }
-
- for(int var7 = 1; var7 < var3; ++var7) {
- for(int var8 = 0; var8 < var2; ++var8) {
- int var9 = var1[var7 * var2 + var8];
- int var10 = var9 >> 16 & 255;
- int var11 = var9 >> 8 & 255;
- int var12 = var9 & 255;
- int var13 = (int)(30.0F * this.field_0.rand());
- if (var10 >= var13 * this.field_14) {
- var10 -= var13 * this.field_14;
- }
-
- if (var11 >= var13 * this.field_13) {
- var11 -= var13 * this.field_13;
- }
-
- if (var12 >= var13 * this.field_12) {
- var12 -= var13 * this.field_12;
- }
-
- if (var10 == 0 && var11 == 0 && var12 == 0) {
- if (var7 != var3 - 1) {
- var1[(var7 - 1) * var2 + var8] = var5;
- }
- } else {
- var1[(var7 - 1) * var2 + var8] = var10 << 16 | var11 << 8 | var12;
- }
- }
- }
-
- }
-
- // $FF: renamed from: a (java.lang.String) java.lang.String
- private static String method_2(String var0) {
- char[] var1 = var0.toCharArray();
- int var2 = var1.length;
- int var3 = 0;
-
- label32:
- while(true) {
- int var4 = 0;
- byte var10000 = 71;
- char[] var10001 = var1;
- int var10002 = var3;
-
- label30:
- while(true) {
- var10001[var10002] ^= var10000;
-
- while(true) {
- ++var3;
- ++var4;
- if (var2 == var3) {
- return new String(var1);
- }
-
- switch (var4) {
- case 1:
- var10000 = 6;
- var10001 = var1;
- var10002 = var3;
- continue label30;
- case 2:
- var10000 = 63;
- var10001 = var1;
- var10002 = var3;
- continue label30;
- case 3:
- var10000 = 27;
- var10001 = var1;
- var10002 = var3;
- continue label30;
- case 4:
- var10000 = 78;
- var10001 = var1;
- var10002 = var3;
- continue label30;
- case 5:
- continue label32;
- }
- }
- }
- }
- }
- }
-