#include #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); }