void drawTable() { u8* pvmem; pvmem = cpct_getScreenPtr(CPCT_VMEM_START, 2, 0); cpct_etm_drawTilemap2x4_f(MAP_WIDTH, MAP_HEIGHT, pvmem, tmx); }
void gameOver() { cpct_etm_setTileset2x4(g_tile_tileset_4); cpct_etm_drawTilemap2x4_f(MAP_WIDTH_TILES, MAP_HEIGHT_TILES, SCR_VMEM, g_backgroundGameOver); waitNVSYNCs(3000); gameScene=MENUSCREEN; }
void mainMenu() { u8 option=0; cpct_etm_setTileset2x4(g_tile_tileset_bg); cpct_etm_drawTilemap2x4_f(MAP_WIDTH_TILES, MAP_HEIGHT_TILES, SCR_VMEM, g_background); cpct_drawSprite (g_tile_titulo, getScreenPosition(5, 2), 32, 16); cpct_drawStringM0 ("PLAY GAME", getScreenPosition(5, 5), 15, 7); cpct_drawStringM0 ("CONTROLS", getScreenPosition(5, 7), 15, 7); cpct_drawStringM0 ("CREDITS", getScreenPosition(5, 9), 15, 7); initScroll(); initPlayer(); cpct_scanKeyboard_f (); do { waitNVSYNCs(3); cpct_akp_musicPlay(); Road(); drawPlayer(); if ( cpct_isKeyPressed (Key_CursorUp) && option != 0) { --option; } else if ( cpct_isKeyPressed (Key_CursorDown) && option != 2) { ++option; } switch (option) { case 0: cpct_drawSprite(g_tile_sky_blue, getScreenPosition(3, 7), 4, 8); cpct_drawSprite(sprite_skate, getScreenPosition(3, 5), 4, 8); break; case 1: cpct_drawSprite(g_tile_sky_blue, getScreenPosition(3, 5), 4, 8); cpct_drawSprite(g_tile_sky_blue, getScreenPosition(3, 9), 4, 8); cpct_drawSprite(sprite_skate, getScreenPosition(3, 7), 4, 8); break; case 2: cpct_drawSprite(g_tile_sky_blue, getScreenPosition(3, 7), 4, 8); cpct_drawSprite(sprite_skate, getScreenPosition(3, 9), 4, 8); break; } cpct_scanKeyboard_f (); // waitNVSYNCs(5); } while (!cpct_isKeyPressed(Key_Return)); switch (option) { case 0: playMenu(); break; case 1: gameScene=CONTROLSSCREEN; break; case 2: gameScene=CREDITSSCEENE; break; } }
void playMenu() { u8 option=0; cpct_etm_setTileset2x4(g_tile_tileset_bg); cpct_etm_drawTilemap2x4_f(MAP_WIDTH_TILES, MAP_HEIGHT_TILES, SCR_VMEM, g_background); cpct_drawSprite (g_tile_titulo, getScreenPosition(5, 2), 32, 16); cpct_drawStringM0 ("PLAY GAME", getScreenPosition(5, 5), 15, 7); cpct_drawStringM0 ("INFINITY MODE", getScreenPosition(6, 7), 15, 7); cpct_drawStringM0 ("LEVELS MODE", getScreenPosition(6, 9), 15, 7); initScroll(); initPlayer(); cpct_scanKeyboard_f (); do { waitNVSYNCs(3); cpct_akp_musicPlay(); Road(); drawPlayer(); if ( cpct_isKeyPressed (Key_Esc)) { gameScene=MENUSCREEN; return; } else if ( cpct_isKeyPressed (Key_CursorUp) && option != 0) { --option; } else if ( cpct_isKeyPressed (Key_CursorDown) && option != 1) { ++option; } switch (option) { case 0: cpct_drawSprite(g_tile_sky_blue, getScreenPosition(4, 9), 4, 8); cpct_drawSprite(sprite_skate, getScreenPosition(4, 7), 4, 8); break; case 1: cpct_drawSprite(g_tile_sky_blue, getScreenPosition(4, 7), 4, 8); cpct_drawSprite(sprite_skate, getScreenPosition(4, 9), 4, 8); break; } cpct_scanKeyboard_f (); // waitNVSYNCs(5); } while (!cpct_isKeyPressed(Key_Return)); switch (option) { case 0: cpct_akp_stop(); gameScene=PLAYGAMESCREEN; break; case 1: cpct_akp_stop(); gameScene=NEXTLEVELSCREEN; break; } }
///////////////////////////////////////////////////////////////////////// // Initialization routine // Disables firmware, initializes palette and video mode and // draws the background // void initialization (){ cpct_disableFirmware(); // Disable firmware to prevent it from interfering cpct_setPalette(g_palette, 7); // Set palette using hardware colour values cpct_setBorder (g_palette[0]); // Set border colour same as background (0) cpct_setVideoMode(0); // Change to Mode 0 (160x200, 16 colours) // Set the internal tileset for drawing Tilemaps cpct_etm_setTileset2x4(g_tileset); // Draw the background tilemap cpct_etm_drawTilemap2x4_f(MAP_WIDTH_TILES, MAP_HEIGHT_TILES, CPCT_VMEM_START, g_background); }