rendered paste body#include <tigcclib.h>
#include "extgraph.h"
BITMAP titleScreen = {100,160,{
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0x80,0x67,0xFF,0xFF,0xFF,0xF3,0xFF,0xFF,0xFE,
0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0x80,0x67,0xFF,0xFF,0xFF,
0xC0,0xFF,0xFF,0xFE,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,
0xE7,0xFF,0xFF,0xFF,0xDE,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xF3,0xE6,0x7F,0x3F,0xFF,0x9E,0xFC,0xFF,0x3F,0xCF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,0xE4,0x3C,0x0F,0xFF,0x9F,0xF0,0x3C,0x0F,
0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,0xE7,0x9D,0xEF,0xFF,
0x9F,0xF7,0xBD,0xEF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,
0xE7,0x99,0xE7,0xFF,0x9F,0xE7,0x99,0xE7,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xF3,0xE7,0x98,0x07,0xFF,0x9F,0xE7,0x99,0xE7,0xCF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,0xE7,0x99,0xFF,0xFF,0x9E,0xE7,0x99,0xE7,
0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,0xE7,0x9D,0xEF,0xFF,
0xDE,0xF7,0xBD,0xEF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xF3,
0xE7,0x9C,0x0F,0xFF,0xC0,0xF0,0x3C,0x0F,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xF3,0xE7,0x9F,0x3F,0xFF,0xF3,0xFC,0xFF,0x3F,0xCF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0x83,
0xFF,0xFF,0xE7,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0x81,0xFF,0xFF,0xE7,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xC0,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0x9C,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,0xFC,0xFE,0x67,0x99,
0xC1,0xE6,0x7E,0x67,0xFF,0x9E,0xFC,0x79,0x6F,0xCF,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,
0x70,0x3C,0x07,0x09,0xC1,0xE4,0x3C,0x27,0xFF,0x9F,0xF0,0x38,0x07,0x03,0xF7,0xFF,
0xFF,0xFF,0xEF,0x9E,0x77,0xBD,0xE7,0x79,0xF9,0xE7,0x9D,0xE7,0xFF,0x9F,0xF7,0x99,
0x27,0x7B,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,0x67,0x99,0xE6,0x79,0xF9,0xE7,0x99,0xE7,
0xFF,0x98,0x7F,0x19,0x26,0x79,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,0x67,0x99,0xE6,0x79,
0xF9,0xE7,0x99,0xE7,0xFF,0x98,0x73,0x99,0x26,0x01,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,
0xE7,0x99,0xE6,0x79,0xF9,0xE7,0x99,0xE7,0xFF,0x9E,0x67,0x99,0x26,0x7F,0xF7,0xFF,
0xFF,0xFF,0xEF,0x9C,0xF7,0xBD,0xE7,0x79,0xF9,0xE7,0x9D,0xE7,0xFF,0xDE,0x67,0x99,
0x27,0x7B,0xF7,0xFF,0xFF,0xFF,0xEF,0x81,0xF0,0x3C,0x07,0x01,0xF9,0xE7,0x9C,0x07,
0xFF,0xC0,0xF0,0x19,0x27,0x03,0xF7,0xFF,0xFF,0xFF,0xEF,0x87,0xFC,0xFE,0x67,0x99,
0xF9,0xE7,0x9E,0x67,0xFF,0xF3,0xF9,0x99,0x27,0xCF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xFE,0x7B,0xFF,0xFF,0xF9,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFC,0x0F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0x87,0xFF,0xFF,0xFE,0x1F,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,
0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0x93,0x9F,0xFF,0xFC,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xFF,0xFF,0x9F,
0x07,0x1F,0xB8,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFC,0xFF,0xFF,0xCF,0x9F,0xCC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xE7,0x9F,0xCC,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xF3,0x9F,0x4C,0xFC,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF3,0xFF,0xD3,
0x9F,0x4C,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFC,0xF3,0xFF,0xC7,0xC7,0x4C,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0xEF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0x7F,0xFF,0xD7,0xFF,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0x93,
0x2E,0x0C,0x3E,0xF2,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFE,0xFF,0xFF,0x93,0x2F,0x3F,0x3D,0x72,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0x93,0x27,0x3F,0x39,0x32,0xF3,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0x93,0x27,0x3F,0x39,0x32,
0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0xF3,0xFF,0xD7,
0x2F,0x3F,0x3D,0x72,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF0,0x73,0xFF,0xEF,0x2F,0x8F,0x3E,0xF2,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0xFF,0xFF,0x83,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0x7F,0xFF,0x9F,0xFF,0xFE,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x9F,
0x6E,0x1C,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFC,0xFF,0xFF,0x83,0x0F,0x9E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x9F,0x9F,0x9E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0x9F,0x9F,0x9E,0x7F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0xF3,0xFF,0x9F,
0x0F,0x9E,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF9,0xF3,0xFF,0x83,0x6F,0x9F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
}};
void error(const char* message){
clrscr();
printf("%s",message);
ngetchx();
exit(0);
}
void _main(void)
{
HSym hsym;
HANDLE handle;
//MULTI_EXPR *VarPtr;
unsigned char* VarPtr;
SYM_ENTRY *SymPtr;
unsigned short dodgeBall[16] = {
0x0FF0,0x1FF8,0x3FFC,0x7FFE,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0xFFFF,0xFFFF,0xFFFF,0xFFFF,
0x7FFE,0x3FFC,0x1FF8,0x0FF0
};
unsigned short ship[16] = {
0x0180,0x0240,0x0420,0x0420,
0x0C30,0x1248,0x6186,0x8181,
0x8181,0x4242,0x2244,0x2424,
0x1818,0x1008,0x0810,0x07E0
};
void* plane;
SCR_RECT fullScreen;
INT_HANDLER save_int_1, save_int_5;
char buffer[2];
char enemyx[5];
char enemyy[5];
char increase[5];
short x;
/*
char *fptr=HLock(symentry->handle);
unsigned short size=*(((unsigned short*)fptr)++);
*/
if((plane = malloc(LCD_SIZE)) == NULL){
error("Error allocating memory for hidden plane");
}
hsym = SymFind (SYMSTR ("cdgsave"));
if(hsym.folder == 0){
hsym = SymAdd (SYMSTR ("cdgsave"));
// HeapAlloc must be executed before DerefSym
// because of possible garbage collection.
if((handle = HeapAlloc (17))==H_NULL){
// Optimized!
error("Error allocating memory for save data");
}
SymPtr = (DerefSym (hsym));
//VarPtr = HeapDeref (SymPtr->handle = handle);
VarPtr =HLock(SymPtr->handle=handle); // HLock or HeapDeref?
if(VarPtr==NULL){
error("Error creatubg save data file");
}
*VarPtr=0;
*(VarPtr+1)=15;
//VarPtr->Size = 14; // length of the variable data
/*
VarPtr->Expr[0] = 5; // Speed
VarPtr->Expr[1] = 5; // Randomness
VarPtr->Expr[2] = 1; // Dangerous Mode
VarPtr->Expr[3] = 1; // Crazy Mode
VarPtr->Expr[4] = 0; // High Score
VarPtr->Expr[5] = 0;
VarPtr->Expr[6] = 0;
VarPtr->Expr[7] = 0;
VarPtr->Expr[8] = 'C';
VarPtr->Expr[9] = 'D';
VarPtr->Expr[10] = 'G';
VarPtr->Expr[11] = 'D';
VarPtr->Expr[12] = 0;
VarPtr->Expr[13] = OTH_TAG;
*/
*(VarPtr+2) = 5; // Speed
*(VarPtr+3) = 5; // Randomness
*(VarPtr+4) = 1; // Dangerous Mode
*(VarPtr+5) = 1; // Crazy Mode
*(VarPtr+6) = 0; // High Score
*(VarPtr+7) = 0;
*(VarPtr+8) = 0;
*(VarPtr+9) = 0;
*(VarPtr+10) = 0;
*(VarPtr+11) = 'C';
*(VarPtr+12) = 'D';
*(VarPtr+13) = 'G';
*(VarPtr+14) = 'D';
*(VarPtr+15) = 0;
//*(VarPtr+15) = OTH_TAG;
*(VarPtr+16) = 0xf8;
/*
VarPtr[0] = 2; // Speed
VarPtr[1] = 2; // Difficulty
VarPtr[2] = 0; // High score
VarPtr[3] = 0;
VarPtr[4] = 'C';
VarPtr[5] = 'T';
VarPtr[6] = 'S';
VarPtr[7] = 'D';
VarPtr[8] = 0;
VarPtr[9] = OTH_TAG;
*/
}
else{
SymPtr = (DerefSym (hsym));
//VarPtr = HeapDeref (SymPtr->handle);
VarPtr =HLock(SymPtr->handle);
//VarPtr =HeapDeref(SymPtr->handle);
if(VarPtr==NULL){
error("Error reading save file");
}
VarPtr+=2;
}
randomize();
fullScreen=(const SCR_RECT){{0,0,LCD_WIDTH-1,LCD_HEIGHT-1}};
menu:
BitmapPut (0, 0, &titleScreen, &fullScreen, A_REPLACE);
while((x=ngetchx()) != KEY_ESC){
if(x=='1'){
goto start;
}
else if(x=='2'){
goto options;
}
else if(x=='3'){
return;
}
}
return;
options:
clrscr();
FontSetSys(F_8x10);
printf("Options\n\n");
FontSetSys(F_6x8);
printf("1. Speed %d\n2. Randomness %d\n3. Dangerous Walls\n4. Crazy Mode\n5. Back",*(VarPtr+2),*(VarPtr+3));
//OSFreeTimer (1);
//OSRegisterTimer (1, 10);
//while(!OSTimerExpired (1));
//GKeyFlush();
//ngetchx();
if(*(VarPtr+4))DrawStr(114,36,"On ",A_REPLACE);
else DrawStr(114,36,"Off",A_REPLACE);
if(*(VarPtr+5))DrawStr(84,44,"Off",A_REPLACE);
else DrawStr(84,44,"On ",A_REPLACE);
while((x=ngetchx()) != KEY_ESC){
if(x=='1'){
(*(VarPtr+2))++;
if(*(VarPtr+2)>9)*(VarPtr+2)=1;
sprintf(buffer,"%d",*(VarPtr+2));
DrawStr(54,20,buffer,A_REPLACE);
}
else if(x=='2'){
(*(VarPtr+3))++;
if(*(VarPtr+3)>5)*(VarPtr+3)=1;
sprintf(buffer,"%d",*(VarPtr+3));
DrawStr(84,28,buffer,A_REPLACE);
}
else if(x=='3'){
*(VarPtr+4)=1-(*(VarPtr+4));
if(*(VarPtr+4))DrawStr(114,36,"On ",A_REPLACE);
else DrawStr(114,36,"Off",A_REPLACE);
}
else if(x=='4'){
*(VarPtr+5)=1-(*(VarPtr+5));
if(*(VarPtr+5))DrawStr(84,44,"Off",A_REPLACE);
else DrawStr(84,44,"On ",A_REPLACE);
}
else if(x=='5'){
goto menu;
}
}
return;
start:;
save_int_1=GetIntVec(AUTO_INT_1);
save_int_5=GetIntVec(AUTO_INT_5);
SetIntVec(AUTO_INT_1, DUMMY_HANDLER);
SetIntVec(AUTO_INT_5, DUMMY_HANDLER);
short trueRandom = 16**(VarPtr+3)+64;
unsigned long score = 0;
int a;
x=72;
for(a=0;a<5;a++){
enemyx[a]=random(trueRandom);
enemyy[a]=0;
increase[a]=random(3)+1;
}
while(!_keytest(RR_ESC)){
if(*(VarPtr+5)){
memset(plane,0,LCD_SIZE);
}
Sprite16_RPLC_R(x,84,16,ship,plane);
for(a=0;a<5;a++){
ClipSprite16_OR_R(enemyx[a],enemyy[a],16,dodgeBall,plane);
enemyy[a]+=increase[a];
if(enemyy[a]==100){
enemyx[a]=random(trueRandom);
enemyy[a]=-16;
increase[a]=random(2)+1;
}
if(x+16>=enemyx[a] && x<= enemyx[a]+16 && enemyy[a]>83){
goto gameOver;
}
}
FastCopyScreen_R(plane,LCD_MEM);
if(_keytest(RR_2ND)){
x+=2;
}
x--;
if(x<0){
if(*(VarPtr+4)){
goto gameOver;
}
x=0;
}
if(x>trueRandom){
if(*(VarPtr+4)){
goto gameOver;
}
x=trueRandom;
}
score++;
for(a=0;a<1801-200*(*VarPtr+2);a++){
rand();
}
// Find something to do in all this time!
}
gameOver:;
SetIntVec(AUTO_INT_1, save_int_1);
SetIntVec(AUTO_INT_5, save_int_5);
clrscr();
FontSetSys(F_8x10);
printf("Game Over\n\n");
FontSetSys(F_6x8);
//char* highScoreBuffer = malloc(6);
//memcpy(highScoreBuffer,VarPtr+4,4);
// unsigned long* scoreBuffer = &score;
//unsigned long* scoreBuffer;
//scoreBuffer=&score;
unsigned long highScore = *((unsigned long*)((char*)VarPtr+6));
if(score>highScore){
printf("New High Score: %lu, %lu",score,highScore);
//memcpy(VarPtr+4,scoreBuffer,4);
*((unsigned long*)(VarPtr+6))=score;
//(unsigned long)*(VarPtr+4)=score;
//printf("\n%lu,%hu,%hu,%hu,%hu,%hu,%hu,%hu",(unsigned long)*highScoreBuffer,(unsigned char)*highScoreBuffer,(unsigned char)*(highScoreBuffer+1),(unsigned char)*(highScoreBuffer+2),(unsigned char)*(highScoreBuffer+3),(unsigned char)*(highScoreBuffer+4),(unsigned char)*(highScoreBuffer+5),(unsigned char)*(highScoreBuffer+6));
}
else{
printf("Your Score: %lu\nHigh Score: %lu",score,highScore);
}
//printf("\n%hu,%hu,%hu,%hu,%hu,%hu",(unsigned char)*(VarPtr+2),*(VarPtr+3),*(VarPtr+4),*(VarPtr+5),*(VarPtr+6),*(VarPtr+7));
//printf("\n%hu,%hu,%hu,%hu,%hu,%hu",*(highScoreBuffer+0),*(highScoreBuffer+1),*(highScoreBuffer+2),*(highScoreBuffer+3),*(highScoreBuffer+4),*(highScoreBuffer+5));
printf("\n%hu,%hu,%hu,%hu",*(VarPtr+6),*(VarPtr+7),*(VarPtr+8),*(VarPtr+9));
ngetchx();
free(plane);
//free(highScoreBuffer);
}