⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q.java

📁 j2me武林传之刀剑江湖录[中篇]反编译的源代码
💻 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.DataInputStream;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public final class q
{

	private short a;
	private short b[];
	private short c[];
	private byte d;
	private byte e[];
	private short f[];
	private byte g[][];
	private byte h[][];
	private Image i[][];
	private Image j[][];
	private int k;
	private int l;
	private byte m;
	private short n;
	private byte o[];
	private byte p[];
	private Image q;
	private Image r[];
	private boolean s;
	private static int t[];

	public q()
	{
	}

	public final void a(int i1, int j1)
	{
		if (i1 == k && j1 == l)
			return;
		if (i1 < 0 || i1 >= d)
			throw new IllegalArgumentException("ContractionMLG->setImage():Image index is illegal!");
		boolean flag = false;
		if (i1 != k)
		{
			flag = true;
			k = i1;
			m = e[k];
			if (!s)
			{
				n = f[k];
				o = g[k];
				p = h[k];
			}
		}
		if (j1 < 0 || j1 >= m)
			throw new IllegalArgumentException("ContractionMLG->setPallette():Pallette index is illegal!");
		if (j1 != l || flag)
		{
			l = j1;
			q = null;
			if (s)
			{
				r = j[k];
				return;
			}
			if (i[k][l] != null)
			{
				q = i[k][l];
				return;
			}
			a(p, o, l, n);
			i[k][l] = Image.createImage(h[k], 0, h[k].length);
			q = i[k][l];
			for (int k1 = 0; k1 < m; k1++)
				if (i[k][k1] == null)
					return;

			g[k] = null;
			h[k] = null;
		}
	}

	private void a(byte abyte0[], byte abyte1[], int i1, int j1)
	{
		int k1 = 8;
		boolean flag = false;
		do
		{
			int l1 = ((abyte0[k1] & 0xff) << 24) + ((abyte0[k1 + 1] & 0xff) << 16) + ((abyte0[k1 + 2] & 0xff) << 8) + (abyte0[k1 + 3] & 0xff);
			if (abyte0[k1 + 4] != 80 || abyte0[k1 + 5] != 76 || abyte0[k1 + 6] != 84 || abyte0[k1 + 7] != 69)
			{
				k1 += 8 + l1 + 4;
			} else
			{
				System.arraycopy(abyte1, i1 * j1, abyte0, k1 + 4 + 4, l1);
				a(abyte0, k1 + 4, 4 + l1);
				return;
			}
		} while (true);
	}

	private static void c()
	{
		t = new int[256];
		for (int j1 = 0; j1 < 256; j1++)
		{
			int i1 = j1;
			for (int k1 = 0; k1 < 8; k1++)
				if ((i1 & 1) == 1)
					i1 = 0xedb88320 ^ i1 >>> 1;
				else
					i1 >>>= 1;

			t[j1] = i1;
		}

	}

	private static void a(byte abyte0[], int i1, int j1)
	{
		int k1 = -1;
		int l1 = j1 + i1;
		if (t == null)
			c();
		for (int i2 = i1; i2 < l1; i2++)
			k1 = t[(k1 ^ abyte0[i2]) & 0xff] ^ k1 >>> 8;

		int j2 = ~k1;
		abyte0[l1] = (byte)((0xff000000 & j2) >> 24);
		abyte0[l1 + 1] = (byte)((0xff0000 & j2) >> 16);
		abyte0[l1 + 2] = (byte)((0xff00 & j2) >> 8);
		abyte0[l1 + 3] = (byte)(0xff & j2);
	}

	public final short a()
	{
		return (short)((k & 0xff) << 8 | l & 0xff);
	}

	public final void a(Graphics g1, int i1, int j1, int k1, int l1, int i2)
	{
		short word0 = b[i1 << 1];
		short word1 = b[(i1 << 1) + 1];
		if (q == null)
		{
			k.a(g1, r[i1 + a * l], 0, 0, word0, word1, j1, k1, l1, i2);
			return;
		} else
		{
			short word2 = c[i1 << 1];
			short word3 = c[(i1 << 1) + 1];
			k.a(g1, q, word2, word3, word0, word1, j1, k1, l1, i2);
			return;
		}
	}

	public final int a(int i1)
	{
		return b[i1 << 1];
	}

	public final int b(int i1)
	{
		return b[(i1 << 1) + 1];
	}

	public static final q a(DataInputStream datainputstream)
		throws Exception
	{
		q q1;
		(q1 = new q()).a = datainputstream.readShort();
		q1.b = new short[q1.a << 1];
		for (int i1 = 0; i1 < q1.a; i1++)
		{
			q1.b[i1 << 1] = datainputstream.readShort();
			q1.b[(i1 << 1) + 1] = datainputstream.readShort();
		}

		q1.c = new short[q1.a << 1];
		for (int j1 = 0; j1 < q1.a; j1++)
		{
			q1.c[j1 << 1] = datainputstream.readShort();
			q1.c[(j1 << 1) + 1] = datainputstream.readShort();
		}

		q1.d = datainputstream.readByte();
		q1.e = new byte[q1.d];
		q1.f = new short[q1.d];
		q1.g = new byte[q1.d][];
		q1.h = new byte[q1.d][];
		q1.i = new Image[q1.d][];
		q1.j = new Image[q1.d][];
		for (int k1 = 0; k1 < q1.d; k1++)
		{
			q1.e[k1] = datainputstream.readByte();
			q1.i[k1] = new Image[q1.e[k1]];
			q1.f[k1] = datainputstream.readShort();
			q1.g[k1] = new byte[q1.e[k1] * q1.f[k1]];
			datainputstream.read(q1.g[k1]);
			int l1 = datainputstream.readInt();
			q1.h[k1] = new byte[l1];
			datainputstream.read(q1.h[k1]);
			q1.j[k1] = new Image[q1.a * q1.e[k1]];
		}

		q1.k = q1.l = -1;
		q1.a(0, 0);
		return q1;
	}

	public final void b()
	{
		b = null;
		c = null;
		e = null;
		f = null;
		g = (byte[][])null;
		h = (byte[][])null;
		i = (Image[][])null;
		j = (Image[][])null;
		o = null;
		p = null;
		q = null;
		r = null;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -