📄 maincanvas.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
import com.nokia.mid.ui.DeviceControl;
import com.nokia.mid.ui.FullCanvas;
import java.io.InputStream;
import javax.microedition.lcdui.*;
class MainCanvas extends FullCanvas
implements Runnable
{
static final int KEY_SOFT0 = 64;
static final int KEY_SOFT1 = 128;
static final int KEY_0 = 8192;
static final int KEY_1 = 16384;
static final int KEY_2 = 32768;
static final int KEY_3 = 0x10000;
static final int KEY_7 = 0x100000;
static final int KEY_9 = 0x400000;
static final int KEY_UP = 32770;
static final int KEY_DOWN = 0x200004;
static final int KEY_LEFT = 0x20008;
static final int KEY_RIGHT = 0x80010;
static final int KEY_SELECT = 0x40440;
static final int KEY_DL = 12;
static final int KEY_DR = 20;
static final int FIX_1 = 0x10000;
static final int FIX_2 = 0x20000;
static final int FIX_3 = 0x30000;
static final int FIX_4 = 0x40000;
static final int FIX_5 = 0x50000;
static final int FIX_6 = 0x60000;
static final int FIX_7 = 0x70000;
static final int FIX_8 = 0x80000;
static final int FIX_9 = 0x90000;
static final int FIX_01 = 6553;
static final int FIX_02 = 13107;
static final int FIX_03 = 19660;
static final int FIX_04 = 26214;
static final int FIX_05 = 32768;
static final int FIX_06 = 39321;
static final int FIX_07 = 45875;
static final int FIX_08 = 52428;
static final int FIX_09 = 58982;
static final int FIX_001 = 655;
static final int FIX_002 = 1310;
static final int FIX_003 = 1966;
static final int FIX_004 = 2621;
static final int FIX_005 = 3276;
static final int FIX_006 = 3932;
static final int FIX_007 = 4587;
static final int FIX_008 = 5242;
static final int FIX_009 = 5898;
public static final int GAME_WIDTH = 112;
public static final int GAME_HEIGHT = 112;
public static final int GAME_KEYSTOP = 1;
public static final int GAME_WIPEOUT = 2;
public static final int GAME_BACKLIGHT = 8;
public static final int CHAPTER_LOGO = 0;
public static final int CHAPTER_INIT = 1;
public static final int CHAPTER_TITLE = 2;
public static final int CHAPTER_SELECTINIT = 3;
public static final int CHAPTER_SELECT = 4;
public static final int CHAPTER_TARGETINIT = 5;
public static final int CHAPTER_TARGET = 6;
public static final int CHAPTER_GAMEINIT = 7;
public static final int CHAPTER_MAINGAME = 8;
public static final int CHAPTER_CLEARINIT = 9;
public static final int CHAPTER_STAGECLEAR = 10;
public static final int CHAPTER_GAMEOVERINIT = 11;
public static final int CHAPTER_GAMEOVER = 12;
public static final int CHAPTER_ALLCLEARINIT = 13;
public static final int CHAPTER_ALLCLEAR = 14;
public static final int CHAPTER_LOADIMAGE = 16;
public static final int CHAPTER_LOADFIX = 17;
public static final int CHAPTER_LOADIMAGEINIT = 18;
public static final int CHAPTER_STORYINIT = 19;
public static final int CHAPTER_STORY = 20;
public static final int CHAPTER_MENUINIT = 21;
public static final int CHAPTER_MENU = 22;
public static final int CHAPTER_END = 23;
public static final int MY_WIDTH = 32;
public static final int MY_HEIGHT = 32;
public static final int MY_HITWIDTH = 16;
public static final int MY_HITHEIGHT = 32;
public static final int MYSHOT_MAX = 8;
public static final int CHAR_FLAG_LEFT = 1;
public static final int CHAR_FLAG_WALK = 2;
public static final int CHAR_FLAG_JUMP = 4;
public static final int CHAR_FLAG_ACTION = 8;
public static final int CHAR_FLAG_DESCENT = 16;
public static final int CHAR_FLAG_GROUND = 32;
public static final int CHAR_FLAG_DASH = 64;
public static final int CHAR_FLAG_2JUMP = 128;
public static final int CHAR_FLAG_ATTACK = 256;
public static final int CHAR_FLAG_DAMAGE = 512;
public static final int CHAR_FLAG_SHIELD = 1024;
public static final int CHAR_FLAG_DEATH = 2048;
public static final int MY_GTYPE_DESCENT = 4;
public static final int MY_GTYPE_ATTACK = 5;
public static final int EXP_MAX = 32;
public static final int ENEMY_FLAG_AERIAL_L = 1;
public static final int ENEMY_FLAG_AERIAL_R = 2;
public static final int ENEMY_FLAG_HIT_LT = 4;
public static final int ENEMY_FLAG_HIT_RT = 8;
public static final int ENEMY_FLAG_HIT_LB = 16;
public static final int ENEMY_FLAG_HIT_RB = 32;
public static final int MAP_WIDTH_MAX = 64;
public static final int MAP_HEIGHT_MAX = 64;
public static final int CAMERA_SPEED_X = 0x50000;
public static final int CAMERA_SPEED_Y = 0x50000;
public static final int CAMERA_REST_X_R = 0xfff00000;
public static final int CAMERA_REST_X_L = 0xffc00000;
public static final int CAMERA_REST_Y = 0xffd80000;
public static final int DRAW_MAINWIDTH = 112;
public static final int DRAW_MAINHEIGHT = 104;
public static final int DRAW_MY_SHIELD = 0;
public static final int DRAW_MY_WALK0 = 1;
public static final int DRAW_MY_WALK1 = 2;
public static final int DRAW_MY_WALK2 = 3;
public static final int DRAW_MY_JUMP = 4;
public static final int DRAW_MY_DESCENT = 5;
public static final int DRAW_MAP_WIDTH_MAX = 3;
public static final int DRAW_MAP_HEIGHT_MAX = 3;
private MetalEN app;
private Thread thread;
private Display display;
private Runtime Run;
private Font FontC;
private static int ik;
private static int RK;
private static Graphics offGfx;
public static long Mill;
public static int Game_MainFlag = 0;
public static byte Game_MainChapter = 0;
public static byte Game_SubChapter = 0;
public static int Game_MainTimer = 0;
public static int Game_SubTimer = 0;
public static int Game_Stage = 0;
public static int Game_ClearCond;
public static boolean Game_Pause = false;
public static int Game_Font_W = 0;
public static int Game_Font_H = 0;
public static int nOld_Chapter = 0;
public static int nCursor[] = new int[3];
public static int nMenu[] = new int[2];
public static int nMenuCount;
public static int My_X;
public static int My_Y;
public static int My_XSpeed;
public static int My_YSpeed;
public static int My_ActFlag;
public static int My_AP;
public static int My_GType;
public static int My_AnimeCount;
public static int My_AttackCount;
public static byte My_Weapon;
public static byte My_DCount;
public static int My_WSpeed;
public static int Enemy_Max;
public static int Enemy_X[];
public static int Enemy_Y[];
public static int Enemy_HitWidth[];
public static int Enemy_HitHeight[];
public static int Enemy_Speed[];
public static int Enemy_XSpeed[];
public static int Enemy_YSpeed[];
public static int Enemy_Flag[];
public static int Enemy_AP[];
public static byte Enemy_GType[];
public static int Enemy_AnimeCount[];
public static int Enemy_AttackCount[];
public static byte Enemy_AttackType[];
public static byte Enemy_MoveType[];
public static int Camera_X;
public static int Camera_Y;
public static int Draw_FullWidth;
public static int Draw_FullHeight;
public static int Draw_Zero_X;
public static int Draw_Zero_Y;
public static int MyBurst_X;
public static int MyBurst_Y;
public static int MyBurst_Flag;
public static int MyBurst_Count;
public static int MyShot_X[] = new int[8];
public static int MyShot_Y[] = new int[8];
public static int MyShot_XSpeed[] = new int[8];
public static int MyShot_YSpeed[] = new int[8];
public static int MyShot_HitWidth[] = new int[8];
public static int MyShot_HitHeight[] = new int[8];
public static byte MyShot_Attack[] = new byte[8];
public static int MyShot_Flag[] = new int[8];
public static int MyShot_Count[] = new int[8];
public static int EnemyShot_Max;
public static int EnemyShot_X[];
public static int EnemyShot_Y[];
public static int EnemyShot_XSpeed[];
public static int EnemyShot_YSpeed[];
public static byte EnemyShot_Width[];
public static byte EnemyShot_Height[];
public static byte EnemyShot_HitWidth[];
public static byte EnemyShot_HitHeight[];
public static byte EnemyShot_Attack[];
public static int EnemyShot_Flag[];
public static int EnemyShot_Count[];
public static int EnemyShot_GType[];
public static int Exp_X[] = new int[32];
public static int Exp_Y[] = new int[32];
public static int Exp_XSpeed[] = new int[32];
public static int Exp_YSpeed[] = new int[32];
public static byte Exp_GType[] = new byte[32];
public static int Exp_Flag[] = new int[32];
public static int Exp_Count[] = new int[32];
public static byte Map_Front[][];
public static byte Map_Front_G[][];
public static int Map_Width;
public static int Map_Height;
public static int Map_GraWidth;
public static int Map_GraHeight;
public static byte Map_Back_G[][] = new byte[4][8];
public static Image Img_My[][] = new Image[2][6];
public static Image Img_MyParts[][] = new Image[2][3];
public static Image Img_MyShot[] = new Image[2];
public static Image Img_MapChip[] = new Image[7];
public static Image Img_Enemy[][];
public static Image Img_Exp[];
public static Image Img_Gauge;
public static Image Img_EnemyShot[];
public static Image Img_Back;
public static Image Img_Pilot[] = new Image[2];
public static Image Img_No[] = new Image[10];
public static Image Img_Title;
public static Image Img_Mes[] = new Image[2];
public static byte Buff[];
public static int Point;
public static int Table_Burst_Type_X[] = {
0xfff80000, 0x180000
};
public static int Table_Burst_Type_Flag[] = {
0, 1
};
public static byte Table_MyShot_Loop[] = {
0, 2
};
public static byte Table_MyShot_Space[] = {
3, 5
};
public static byte Table_MyShot_Attack[] = {
16, 8
};
public static byte Table_MyShot_Hit_Width[] = {
16, 4
};
public static byte Table_MyShot_Hit_Height[] = {
8, 4
};
public static byte T_MyShot_Count[] = {
6, 11
};
public static int Table_MyShot_Type_PointX[][] = {
{
0x100000, 0
}, {
0x1c0000, 0x40000
}
};
public static int Table_MyShot_Type_PointY[] = {
0x90000, 0x80000
};
public static int Table_MyShot_Type_XSpeed[][][] = {
{
{
0xd0000, 0, 0
}, {
0xfff30000, 0, 0
}
}, {
{
0x59999, 0x80000, 0x5cccc
}, {
0xfffa6667, 0xfff80000, 0xfffa3334
}
}
};
public static int Table_MyShot_Type_YSpeed[][] = {
{
0, 0, 0
}, {
0xfffa6667, 0, 0x5cccc
}
};
public static int Table_ExpGene_Rev_X[] = {
0, 0x100000, 0xb0000, 0, 0xfff50000, 0xfff00000, 0xfff50000, 0, 0xb0000
};
public static int Table_ExpGene_Rev_Y[] = {
0, 0, 0xb0000, 0x100000, 0xb0000, 0, 0xfff50000, 0xfff00000, 0xfff50000
};
public static int Table_AAiming[][] = {
{
0x10000, 0x10000, 0x10000, 0x10000, 0x10000, 0x10000, 0x10000
}, {
0, 46530, 58326, 62258, 63569, 64224, 64880
}, {
0, 29490, 46530, 54394, 58326, 60948, 62258
}, {
0, 20970, 36044, 46530, 52428, 56360, 58326
}, {
0, 15728, 29490, 39321, 46530, 51117, 54394
}, {
0, 13107, 24247, 33423, 40631, 46530, 50462
}, {
0, 10485, 20970, 29490, 36044, 41942, 46530
}
};
public static int Table_Speed_X2[] = {
0xfffa0000, 0xfffb0000, 0xfffc0000, 0xfffd0000, 0xfffe0000, 0xffff0000
};
public static byte TableD_My_Anime[][] = {
{
0, 0, 0, 0, 0, 0
}, {
3, 3, 1, 2, 2, 1
}, {
2, 2, 2, 2, 2, 2
}, {
3, 3, 3, 3, 3, 3
}, {
1, 1, 1, 1, 1, 1
}, {
3, 3, 3, 3, 3, 3
}
};
public static int TableD_My_Arm_X[][][] = {
{
{
0, 0, 0, 0xffff0000, 0, 0, 0, 0
}, {
0xfffb0000, 0xfffb0000, 0xfffb0000, 0xfffc0000, 0xfffb0000, 0xfffb0000, 0xfffb0000, 0xfffb0000
}
}, {
{
0, 0, 0, 0, 0, 0xffff0000, 0, 0
}, {
0xfffb0000, 0xfffb0000, 0xfffb0000, 0xfffb0000, 0xfffb0000, 0xfffc0000, 0xfffb0000, 0xfffb0000
}
}
};
public static int TableD_Burst_Type_X[] = {
0xfff60000, 0x1a0000
};
public static byte TableD_Exp_Anime[][] = {
{
3, 2, 1, 0
}, {
4, 4, 4, 4
}, {
3, 3, 3, 3
}, {
8, 7, 6, 5
}
};
public static byte TableD_Enemy_Anime[][] = {
{
0, 0, 0, 0, 0, 0, 0, 0
}, {
1, 1, 1, 1, 1, 1, 1, 1
}, {
2, 2, 2, 2, 2, 2, 2, 2
}, {
3
}, {
4, 4, 4, 4, 4, 4, 4, 4
}, {
5, 5, 5, 5, 5, 5, 5, 5
}, {
6, 6, 6, 6, 6, 6, 6, 6
}, {
7, 8, 8, 7, 7, 9, 9, 7
}, {
3, 3, 3, 3, 3, 3, 3, 3
}, {
0, 0, 0, 0, 0, 0, 0, 0
}, {
0, 1, 0, 1, 0, 1, 0, 1
}, {
2, 3, 2, 3, 2, 3, 2, 3
}, {
0, 0, 0, 0, 0, 0, 0, 0
}
};
public static byte TableD_Back_Y[] = {
40, 0, 0, 0, 0, 72
};
public static int Camera_Limit[] = {
0, 0, 0, 0, 0, 0x100000
};
public MainCanvas(Display display1, MetalEN metalen)
{
thread = null;
display = null;
display = display1;
app = metalen;
Run = getRuntime();
FontC = Font.getDefaultFont();
Game_Font_W = FontC.stringWidth("0");
Game_Font_H = FontC.getHeight();
Draw_FullWidth = getWidth();
Draw_FullHeight = getHeight();
Draw_Zero_X = (Draw_FullWidth - 112) / 2;
Draw_Zero_Y = (Draw_FullHeight - Game_Font_H - 112) / 2;
Mill = System.currentTimeMillis();
Game_MainFlag |= 0x8;
DeviceControl.setLights(0, 100);
Point = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -