44,7 → 44,6 |
#define FIELD_CRATER 25 |
|
char* header = "Laser Tank"; |
bool w_redraw = true; |
|
struct Level |
{ |
55,20 → 54,14 |
{ |
kos_Pause(time); |
Byte keyCode; |
Dword buttons; |
int mX, mY; |
for (int i = 0; i < 10; ++i) |
{ |
kos_GetKey(keyCode); |
kos_GetMouseState(buttons, mX, mY); |
} |
} |
|
Level *levels; |
int levelCount = 0; |
int levelIndex = 0; |
int levelPage = 0; |
float clickTime = 0; |
|
RGBA img_tank[576]; |
RGB img_water[576]; |
183,8 → 176,6 |
{ |
gameMode = mode; |
draw_window(); |
|
pause(40); |
} |
|
bool IsWater(Point pos) |
937,10 → 928,6 |
|
void key_press(int key) |
{ |
sProcessInfo sPI; |
kos_ProcessInfo(&sPI); |
if (sPI.rawData[70] & 0x04) |
return; |
//rtlDebugOutString(ftoa(key)); |
|
switch (gameMode) |
1005,7 → 992,7 |
case MODE_PAUSE: |
if (key == 27) |
SetMode(MODE_LEVELS); |
else |
|
if ((key == 32 || key == 13) && (gameStatus == GAME_NONE || (gameStatus == GAME_VICTORY && levelIndex < (levelCount - 1)))) |
{ |
if (gameStatus == GAME_VICTORY) |
1012,8 → 999,8 |
openLevel(levelIndex + 1); |
SetMode(MODE_GAME); |
} |
else |
if (key == 114) |
|
if (key == 114 || (gameStatus == GAME_DEFEAT && (key == 32 || key == 13))) |
{ |
openLevel(levelIndex); |
SetMode(MODE_GAME); |
1160,17 → 1147,8 |
|
void draw_window(void) |
{ |
if (w_redraw) |
{ |
kos_WindowRedrawStatus(1); |
|
//kos_DefineAndDrawWindow(50, 50, 640, 506 - 22 + kos_GetSkinHeight(), 0x74, 0xEEEEEE, 0, 0, (Dword)windowTitle); |
|
kos_DefineAndDrawWindow(10, 40, 384 + 9, 384 + 25, 0x74, 0x444444, 0, 0, (Dword)header); |
kos_WindowRedrawStatus(2); |
w_redraw = false; |
} |
|
kos_DefineAndDrawWindow(10, 40, 384 + 9, 384 + 25, 0x33, 0x444444, 0, 0, (Dword)header); |
Point level_pos = Point(0, 0); |
switch (gameMode) |
{ |
1273,6 → 1251,7 |
} |
break; |
} |
kos_WindowRedrawStatus(2); |
} |
|
void LevelsLoad() |
1470,7 → 1449,6 |
switch (kos_WaitForEvent()) |
{ |
case 1: |
w_redraw = true; |
draw_window(); |
break; |
case 2: |