📄 y.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 y
{
public static z e[];
public short f[];
public short g[];
public short h[];
public short i;
public short j;
public int k;
public int l;
public int m;
public short n;
public short o;
public short p;
public short q[];
public short r;
public short s;
public short t;
public int u;
public static byte v;
public short w;
private int V;
public byte x;
public byte y;
public byte z;
public byte A;
public byte B;
public short C[];
public Vector D;
public int E;
public byte F[][];
public byte G[][];
public short H;
public short I;
public byte J[];
public boolean K;
public Vector L;
public static final byte M[] = {
2, 3, 4, 7, 8, 9, 14
};
public int N;
public int O;
public static final int P[] = {
0xffffff, 65331, 52479, 0xcc9900, 0xffcc00, 0xfafd02
};
public boolean Q[];
public int R[];
public short S[];
public static final byte T[] = {
63, 62, 64
};
public short U[][];
public y()
{
m = -1;
q = new short[2];
C = new short[4];
D = new Vector();
E = -1;
I = 0;
L = new Vector();
O = 0;
Q = new boolean[3];
R = new int[3];
S = new short[3];
U = new short[3][2];
}
public final void a(short aword0[])
{
f = aword0;
f[3] = 0;
k.a(this);
i = f[8];
j = f[9];
a();
}
public final void h()
{
L.removeAllElements();
}
public abstract byte[][] g();
public final void a(int i1)
{
f[2] |= i1;
}
public final void b(int i1)
{
f[2] &= ~i1;
}
public final boolean c(int i1)
{
return (f[2] & i1) != 0;
}
public final short[] i()
{
C[0] = f[10];
C[1] = f[11];
C[2] = f[12];
C[3] = f[13];
return C;
}
public final boolean j()
{
if (f[5] > -1 && !K)
{
k.c(this);
if (K)
return true;
}
return false;
}
public final void a(short word0)
{
f[4] = word0;
}
public boolean b()
{
G();
if (Q[2] && f[3] != 0 && f[3] != 6 && f[3] != 8)
{
if ((this instanceof e) || (this instanceof l) || (this instanceof m))
return true;
if ((this instanceof aa) && f[3] != 12 || f[3] != 11 || f[3] != 10)
return true;
if ((this instanceof q) && f[3] != 14 || f[3] != 11 || f[3] != 10)
return true;
if ((this instanceof s) && f[3] != 13 || f[3] != 14 || f[3] != 10)
return true;
}
if (B > 0)
B--;
if (A > 0)
A--;
if (j())
return true;
switch (f[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()
{
F();
}
public void m()
{
}
public void n()
{
}
public void o()
{
if (s())
b((short)0);
}
public void p()
{
if (s())
{
b(128);
a(256);
b(8);
b(16);
}
}
public final void q()
{
byte abyte0[];
int j1 = (abyte0 = k.aF[k.ay][N]).length / 9;
int i1;
do
{
i1 = O * 9;
byte byte0 = abyte0[i1 + 8];
if (k.az == k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
{
if (k.aA % 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)
{
N = -1;
return;
}
int k1 = abyte0[i1 + 2] & 0xff;
f[8] = k.a(abyte0[i1 + 4], abyte0[i1 + 4 + 1]);
f[9] = k.a(abyte0[i1 + 6], abyte0[i1 + 6 + 1]);
byte byte1;
if ((byte1 = abyte0[i1 + 3]) == 99)
k.k();
else
if (byte1 == 100)
k.m();
boolean flag = false;
d((short)k1);
}
break;
}
if (k.az > k.a(abyte0[(abyte0.length - 9) + 0], abyte0[(abyte0.length - 9) + 0 + 1]) || k.az > k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) && k.az < k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
break;
if (k.az < k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]))
{
O--;
if (O < 0)
{
b(16);
O = 0;
return;
}
} else
if (k.az >= k.a(abyte0[i1 + 9 + 0], abyte0[i1 + 9 + 0 + 1]))
O++;
} while (true);
if (O < 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.aA - k.a(abyte0[i1 + 0], abyte0[i1 + 0 + 1]) * 3;
f[8] = (short)(word0 + ((word2 - word0) * i2) / l1);
f[9] = (short)(word1 + ((word3 - word1) * i2) / l1);
}
}
public void a(Graphics g1, int i1, int j1)
{
z z1 = null;
short word0;
if ((word0 = f[6]) < 0)
return;
if ((z1 = e[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=" + f[1] + "\n\tclassID=" + f[0] + "\n\tanimationID=" + word0);
return;
}
if (f[0] != 5)
z1.b(g1, f[7], q[0], i1, j1, f[14] == 1);
else
z1.a(g1, f[7], q[0], i1, j1, f[14] == 1, h);
if (!c(128) && !c(256))
{
d(g1, i1, j1);
if (f[3] != 8 && ((k.l[f[0]] & 4) == 4 || (k.l[f[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 = (g[4] * 20) / g[5] + 1;
g1.setColor(0xff0000);
g1.fillRect(k1, l1, i2, 2);
g1.setColor(0);
g1.drawRect(k1, l1, 20, 2);
u.a(g1, k.f(g[19]), i1, l1 - 3, 33, P[g[20]], 0);
}
public final void d(int i1)
{
if (E != i1)
E = i1;
}
public final void c(Graphics g1, int i1, int j1)
{
if (E != -1)
k.a(g1, E, i1, j1);
}
public final void d(Graphics g1, int i1, int j1)
{
boolean flag = false;
for (int l1 = 0; l1 < D.size(); l1++)
{
String as[];
int k1 = Integer.parseInt((as = (String[])D.elementAt(l1))[1]);
if (as[0].startsWith("-"))
{
k1++;
boolean flag1 = false;
if (k1 > 1)
{
int i2 = String.valueOf(as[0]).length() * 8 >> 1;
u.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;
u.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)
u.a(g1, as[0], i1, j1 - 20 - k1 * 2, 33, 0xf0ba09, 0);
D.removeElementAt(l1);
if (k1 < 8)
{
as[1] = String.valueOf(k1);
D.insertElementAt(as, l1);
}
}
}
public abstract void a();
public boolean a(y y1)
{
boolean flag = y1.f[0] == 5;
byte byte0 = k.l[f[0]];
if (flag && ((byte0 & 2) != 2 && (byte0 & 4) != 4 || f[3] == 8 || (byte0 & 2) == 2 && f[3] == 6 && y == 2))
return false;
boolean flag1 = false;
int i1;
if (y1 instanceof f)
i1 = ((f)y1).ab();
else
i1 = y1.g[8];
if (u.a(y1.g[32]))
{
i1 *= 2;
flag1 = true;
}
short word0 = g[9];
int j1;
if ((j1 = a(i1, word0)) > 0)
{
a(j1, ((String) (null)));
A = 4;
if (flag1)
k.s.a(0, "致命一击");
}
if (flag)
a(y1, byte0, false);
return true;
}
private void a(y y1, byte byte0, boolean flag)
{
if (c(128))
{
k.s.d(this);
y = 0;
b((short)8);
return;
}
int i1 = 0;
i1 = y1.y();
if ((byte0 & 2) == 2)
{
if (i1 > 0)
{
c(c(y1));
a(y1, i1);
} else
{
y = (byte)i1;
}
} else
if ((byte0 & 4) == 4)
y = 0;
w = y1.f[14];
b((short)6);
b(y1);
}
public final void b(y y1)
{
for (int i1 = Q.length - 1; i1 >= 0; i1--)
if (Q[i1])
return;
boolean flag = false;
for (int j1 = 12; j1 <= 14 && !flag; j1++)
{
if (!u.a(y1.g[j1]))
continue;
int k1 = j1 - 12;
int l1 = y1.k(k1);
int i2 = y1.l(k1);
int j2 = k1 + 3;
short word0 = 0;
short word1 = 0;
if (g[12 + j2] >= 0)
{
word0 = n.d[j2][g[12 + j2]][2];
word1 = n.d[j2][g[12 + j2]][1];
}
l1 -= word0;
i2 -= word1;
if (l1 > 0)
{
a((byte)k1, l1, (short)i2);
flag = true;
}
}
}
private final int k(int i1)
{
if (this instanceof f)
return ((f)this).t(i1);
if (g[18] >= 0)
switch (i1)
{
case 0: // '\0'
return n.d[i1][g[18]][2];
case 1: // '\001'
return n.d[i1][g[18]][2];
case 2: // '\002'
return n.d[i1][g[18]][2];
}
return 0;
}
private final int l(int i1)
{
if (this instanceof f)
return ((f)this).u(i1);
if (g[18] >= 0)
switch (i1)
{
case 0: // '\0'
return n.d[i1][g[18]][1];
case 1: // '\001'
return n.d[i1][g[18]][1];
case 2: // '\002'
return n.d[i1][g[18]][1];
}
return 0;
}
private final void a(byte byte0, int i1, short word0)
{
Q[byte0] = true;
R[byte0] = (i1 * 1000) / 70;
switch (byte0)
{
case 0: // '\0'
S[byte0] = g[2];
g[2] *= (100 - word0) / 100;
if (g[2] <= 0)
{
g[2] = 2;
return;
}
break;
case 2: // '\002'
S[byte0] = 0;
b((short)0);
return;
case 1: // '\001'
S[byte0] = word0;
break;
}
}
public final void a(byte byte0)
{
switch (byte0)
{
case 0: // '\0'
g[2] = S[byte0];
// fall through
case 1: // '\001'
case 2: // '\002'
default:
Q[byte0] = false;
break;
}
R[byte0] = 0;
S[byte0] = 0;
}
private final void G()
{
for (byte byte0 = 0; byte0 < Q.length; byte0++)
{
if (!Q[byte0])
continue;
R[byte0]--;
if (R[byte0] <= 0)
a(byte0);
if (R[byte0] % 14 == 0)
switch (byte0)
{
case 1: // '\001'
f(-S[byte0]);
if (S[byte0] > 0)
a(S[byte0], ((String) (null)));
if (c(128))
{
if (!(this instanceof f))
k.s.d(this);
b((short)8);
R[byte0] = 0;
a(byte0);
t();
}
break;
}
}
}
public final void e(Graphics g1, int i1, int j1)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -