This repository has been archived on 2022-09-26. You can view files and clone it, but cannot push or open issues or pull requests.
fd2/src/start.h

71 lines
1.4 KiB
C

// start
bool selectingStartMenu, aboutShowing;
u8 currentStartMenu;
#define START_W 32
#define START_H 28
#define START_I 32
// events
static void loadGameFromStart(){
selectingStartMenu = FALSE;
aboutShowing = FALSE;
VDP_clearTileMapRect(BG_A, 0, 0, START_W, START_H);
VDP_clearTileMapRect(BG_B, 0, 0, START_W, START_H);
loadGame();
}
static void selectStartMenu(){
selectingStartMenu = TRUE;
switch(currentStartMenu){
case 0: loadGameFromStart(); break;
}
}
// draw
static void drawStartBg(){
VDP_fillTileMapRect(BG_B, TILE_ATTR_FULL(PAL2, 0, 0, 0, START_I), 0, 0, START_W, START_H);
}
#define LOGO_X 8
#define LOGO_Y 6
static void drawStartLogo(){
VDP_drawImageEx(BG_B, &startLogo1, TILE_ATTR_FULL(PAL1, 0, 0, 0, START_I + 32), LOGO_X, LOGO_Y, 0, DMA);
}
#define MENU_X 13
#define MENU_Y 14
#define ARROW_X 13
static void drawStartMenu(){
// VDP_drawText(">", ARROW_X, MENU_Y);
VDP_drawText("start?", MENU_X, MENU_Y);
VDP_drawText("HOW-TO", MENU_X, MENU_Y + 2);
VDP_drawText("ABOUT!", MENU_X, MENU_Y + 4);
}
// loop
void loadStart(){
VDP_setScreenWidth256();
currentStartMenu = 0;
VDP_loadTileSet(startBg1.tileset, START_I, DMA);
drawStartBg();
drawStartLogo();
drawStartMenu();
VDP_drawText("VER 0.1", 1, 26);
// loadGameFromStart();
}
void updateStart(){
if((ctrl.a || ctrl.start) && !aboutShowing && !selectingStartMenu) selectStartMenu();
}