📄 z.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
import java.io.PrintStream;
import java.util.Vector;
import javax.microedition.lcdui.Graphics;
public abstract class z
{
public static aa d[];
public short e[];
public short f[];
public short g[];
public short h;
public short i;
public int j;
public int k;
public int l;
public short m;
public short n;
public short o;
public short p[];
public short q;
public short r;
public short s;
public int t;
public static byte u;
public short v;
private int U;
public byte w;
public byte x;
public byte y;
public byte z;
public byte A;
public short B[];
public Vector C;
public int D;
public byte E[][];
public byte F[][];
public short G;
public short H;
public byte I[];
public boolean J;
public Vector K;
public static final byte L[] = {
2, 3, 4, 7, 8, 9, 14
};
public int M;
public int N;
public static final int O[] = {
0xffffff, 65331, 52479, 0xcc9900, 0xffcc00, 0xfafd02
};
public boolean P[];
public int Q[];
public short R[];
public static final byte S[] = {
63, 62, 64
};
public short T[][];
public z()
{
l = -1;
p = new short[2];
B = new short[4];
C = new Vector();
D = -1;
H = 0;
K = new Vector();
N = 0;
P = new boolean[3];
Q = new int[3];
R = new short[3];
T = new short[3][2];
}
public final void a(short aword0[])
{
e = aword0;
e[3] = 0;
k.a(this);
h = e[8];
i = e[9];
a();
}
public final void h()
{
K.removeAllElements();
}
public abstract byte[][] g();
public final void a(int i1)
{
e[2] |= i1;
}
public final void b(int i1)
{
e[2] &= ~i1;
}
public final boolean c(int i1)
{
return (e[2] & i1) != 0;
}
public final boolean d(int i1)
{
return a(k.l[e[0]], i1);
}
public static final boolean a(int i1, int j1)
{
return (i1 & j1) != 0;
}
public final short[] i()
{
B[0] = e[10];
B[1] = e[11];
B[2] = e[12];
B[3] = e[13];
return B;
}
public final boolean j()
{
if (e[5] > -1 && !J)
{
k.c(this);
if (J)
return true;
}
return false;
}
public final void a(short word0)
{
e[4] = word0;
}
public boolean b()
{
r();
if (P[2] && e[3] != 0 && e[3] != 6 && e[3] != 8)
{
if ((this instanceof e) || (this instanceof l) || (this instanceof n))
return true;
if ((this instanceof ab) && e[3] != 12 || e[3] != 11 || e[3] != 10)
return true;
if ((this instanceof r) && e[3] != 14 || e[3] != 11 || e[3] != 10)
return true;
if ((this instanceof t) && e[3] != 13 || e[3] != 14 || e[3] != 10)
return true;
}
if (A > 0)
A--;
if (z > 0)
z--;
if (j())
return true;
switch (e[3])
{
case 0: // '\0'
d();
return true;
case 1: // '\001'
e();
return true;
case 2: // '\002'
k();
return true;
case 3: // '\003'
return true;
case 4: // '\004'
l();
return true;
case 5: // '\005'
m();
return true;
case 6: // '\006'
n();
return true;
case 7: // '\007'
o();
return true;
case 8: // '\b'
p();
return true;
}
return false;
}
public void d()
{
}
public void k()
{
}
public void e()
{
}
public void l()
{
H();
}
public void m()
{
}
public void n()
{
}
public void o()
{
if (t())
b((short)0);
}
public void p()
{
if (t())
{
b(128);
a(256);
b(8);
b(16);
}
}
public final void q()
{
byte abyte0[];
int j1 = (abyte0 = k.aK[k.aD][M]).length / 9;
int i1;
do
{
i1 = N * 9;
byte byte0 = abyte0[i1 + 8];
if (k.aE == k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
{
if (k.aF % 3 == 0)
{
if ((byte0 & 2) == 2 || (byte0 & 4) == 4)
{
b(16);
b(8);
} else
{
a(16);
}
if ((byte0 & 1) == 1)
c((short)1);
else
c((short)3);
if ((byte0 & 8) == 8)
{
M = -1;
return;
}
int k1 = abyte0[i1 + 2] & 0xff;
e[8] = k.a(abyte0[i1 + 4], abyte0[i1 + 4 + 1]);
e[9] = k.a(abyte0[i1 + 6], abyte0[i1 + 6 + 1]);
boolean flag = false;
boolean flag1 = false;
d((short)k1);
}
break;
}
if (k.aE > k.a(abyte0[(abyte0.length - 9) + 0], abyte0[(abyte0.length - 9) + 0 + 1]) || k.aE > k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) && k.aE < k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
break;
if (k.aE < k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
{
N--;
if (N < 0)
{
b(16);
N = 0;
return;
}
} else
if (k.aE >= k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
N++;
} while (true);
if (N < j1 - 1)
{
short word0 = k.a(abyte0[i1 + 4], abyte0[i1 + 4 + 1]);
short word1 = k.a(abyte0[i1 + 6], abyte0[i1 + 6 + 1]);
short word2 = k.a(abyte0[i1 + 4 + 9], abyte0[i1 + 4 + 9 + 1]);
short word3 = k.a(abyte0[i1 + 6 + 9], abyte0[i1 + 6 + 9 + 1]);
int l1 = (k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]) - k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1])) * 3;
int i2 = k.aF - k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) * 3;
e[8] = (short)(word0 + ((word2 - word0) * i2) / l1);
e[9] = (short)(word1 + ((word3 - word1) * i2) / l1);
}
}
public void a(Graphics g1, int i1, int j1)
{
aa aa1 = null;
short word0;
if ((word0 = e[6]) < 0)
return;
if ((aa1 = d[word0]) == null)
{
System.out.println(">>paint(): Cant paint! maybe you don't set \"Pack Anim?\" to \"No\"!! Or you dont select this animation into this scene! Or has error in load animation\n\tactorID=" + e[1] + "\n\tclassID=" + e[0] + "\n\tanimationID=" + word0);
return;
}
if (e[0] != 5)
aa1.b(g1, e[7], p[0], i1, j1, e[14] == 1);
else
aa1.a(g1, e[7], p[0], i1, j1, e[14] == 1, g);
if (!c(128) && !c(256))
{
d(g1, i1, j1);
if (e[3] != 8 && ((k.l[e[0]] & 4) == 4 || (k.l[e[0]] & 2) == 2) && k.V)
b(g1, i1, j1);
c(g1, i1, j1 - 50);
e(g1, i1, j1);
}
return;
JVM INSTR dup ;
Exception exception;
exception;
printStackTrace();
}
public final void b(Graphics g1, int i1, int j1)
{
boolean flag = false;
boolean flag1 = false;
int k1 = i1 - 10;
int l1 = j1 - 50;
int i2 = (f[4] * 20) / f[5] + 1;
g1.setColor(0xff0000);
g1.fillRect(k1, l1, i2, 2);
g1.setColor(0);
g1.drawRect(k1, l1, 20, 2);
v.a(g1, k.h(f[19]), i1, l1 - 3, 33, O[f[20]], 0);
}
public final void e(int i1)
{
if (D != i1)
D = i1;
}
public final void c(Graphics g1, int i1, int j1)
{
if (D != -1)
k.a(g1, D, i1, j1);
}
public final void d(Graphics g1, int i1, int j1)
{
boolean flag = false;
for (int l1 = 0; l1 < C.size(); l1++)
{
String as[];
int k1 = Integer.parseInt((as = (String[])C.elementAt(l1))[1]);
if (as[0].startsWith("-"))
{
k1++;
boolean flag1 = false;
if (k1 > 1)
{
int i2 = String.valueOf(as[0]).length() * 8 >> 1;
v.a(g1, k.H, String.valueOf(as[0]), new int[] {
0, i1 - i2, j1 - 50 - k1 * 2 - 7, i2 << 1, 7
});
} else
{
int j2 = String.valueOf(as[0]).length() * 9 >> 1;
v.a(g1, k.I, String.valueOf(as[0]), new int[] {
0, i1 - j2, j1 - 50 - k1 * 2 - 9, j2 << 1, 9
});
}
} else
if (++k1 > 0)
v.a(g1, as[0], i1, j1 - 20 - k1 * 2, 33, 0xf0ba09, 0);
C.removeElementAt(l1);
if (k1 < 8)
{
as[1] = String.valueOf(k1);
C.insertElementAt(as, l1);
}
}
}
public abstract void a();
public boolean a(z z1)
{
boolean flag = z1.e[0] == 5;
byte byte0 = k.l[e[0]];
if (flag && ((byte0 & 2) != 2 && (byte0 & 4) != 4 || e[3] == 8 || (byte0 & 2) == 2 && e[3] == 6 && x == 2))
return false;
boolean flag1 = false;
int i1;
if (z1 instanceof f)
i1 = ((f)z1).ad();
else
i1 = z1.f[8];
if (v.a(z1.f[32]))
{
i1 *= 2;
flag1 = true;
}
short word0 = f[9];
int j1;
if ((j1 = b(i1, word0)) > 0)
{
a(j1, ((String) (null)));
z = 4;
if (flag1)
k.s.a(0, "致命一击");
}
if (flag)
a(z1, byte0, false);
return true;
}
private void a(z z1, byte byte0, boolean flag)
{
if (c(128))
{
k.s.d(this);
x = 0;
b((short)8);
return;
}
int i1 = 0;
i1 = z1.A();
if ((byte0 & 2) == 2)
{
if (i1 > 0)
{
c(c(z1));
a(z1, i1);
} else
{
x = (byte)i1;
}
} else
if ((byte0 & 4) == 4)
{
if (e[0] == 14 && e[3] == 10 || e[0] == 15 && e[3] == 10 || e[0] == 16 && e[3] == 10)
x = 3;
else
x = (byte)i1;
c(c(z1));
a(z1, x);
}
v = z1.e[14];
b((short)6);
b(z1);
}
public final void b(z z1)
{
for (int i1 = P.length - 1; i1 >= 0; i1--)
if (P[i1])
return;
boolean flag = false;
for (int j1 = 12; j1 <= 14 && !flag; j1++)
{
if (!v.a(z1.f[j1]))
continue;
int k1 = j1 - 12;
int l1 = z1.l(k1);
int i2 = z1.m(k1);
int j2 = k1 + 3;
short word0 = 0;
short word1 = 0;
if (f[12 + j2] >= 0)
{
word0 = o.d[j2][f[12 + j2]][2];
word1 = o.d[j2][f[12 + j2]][1];
}
l1 -= word0;
i2 -= word1;
if (l1 > 0)
{
a((byte)k1, l1, (short)i2);
flag = true;
}
}
}
private final int l(int i1)
{
if (this instanceof f)
return ((f)this).w(i1);
if (f[18] >= 0)
switch (i1)
{
case 0: // '\0'
return o.d[i1][f[18]][2];
case 1: // '\001'
return o.d[i1][f[18]][2];
case 2: // '\002'
return o.d[i1][f[18]][2];
}
return 0;
}
private final int m(int i1)
{
if (this instanceof f)
return ((f)this).x(i1);
if (f[18] >= 0)
switch (i1)
{
case 0: // '\0'
return o.d[i1][f[18]][1];
case 1: // '\001'
return o.d[i1][f[18]][1];
case 2: // '\002'
return o.d[i1][f[18]][1];
}
return 0;
}
private final void a(byte byte0, int i1, short word0)
{
P[byte0] = true;
Q[byte0] = (i1 * 1000) / 70;
switch (byte0)
{
case 0: // '\0'
R[byte0] = f[2];
f[2] *= (100 - word0) / 100;
if (f[2] <= 0)
{
f[2] = 2;
return;
}
break;
case 2: // '\002'
R[byte0] = 0;
b((short)0);
return;
case 1: // '\001'
R[byte0] = word0;
break;
}
}
public final void a(byte byte0)
{
switch (byte0)
{
case 0: // '\0'
f[2] = R[byte0];
// fall through
case 1: // '\001'
case 2: // '\002'
default:
P[byte0] = false;
break;
}
Q[byte0] = 0;
R[byte0] = 0;
}
public final void r()
{
for (byte byte0 = 0; byte0 < P.length; byte0++)
{
if (!P[byte0])
continue;
Q[byte0]--;
if (Q[byte0] <= 0)
a(byte0);
if (Q[byte0] % 14 == 0)
switch (byte0)
{
case 1: // '\001'
g(-R[byte0]);
if (R[byte0] > 0)
a(R[byte0], ((String) (null)));
if (c(128))
{
if (!(this instanceof f))
k.s.d(this);
b((short)8);
Q[byte0] = 0;
a(byte0);
v();
}
break;
}
}
}
public final void e(Graphics g1, int i1, int j1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -