void FPAD_Update( void ) { if (WPAD_ScanPads() > WPAD_ERR_NONE) { WPAD_Pressed = WPAD_ButtonsDown(0) | WPAD_ButtonsDown(1) | WPAD_ButtonsDown(2) | WPAD_ButtonsDown(3); WPAD_Pressed |= WPAD_ButtonsHeld(0) | WPAD_ButtonsHeld(1) | WPAD_ButtonsHeld(2) | WPAD_ButtonsHeld(3); } else { // No Wii remotes are connected WPAD_Pressed = 0; } if (PAD_ScanPads() > PAD_ERR_NONE) { PAD_Pressed = PAD_ButtonsDown(0) | PAD_ButtonsDown(1) | PAD_ButtonsDown(2) | PAD_ButtonsDown(3); PAD_Pressed |= PAD_ButtonsHeld(0) | PAD_ButtonsHeld(1) | PAD_ButtonsHeld(2) | PAD_ButtonsHeld(3); PAD_Stick_Y = PAD_StickY(0) | PAD_StickY(1) | PAD_StickY(2) | PAD_StickY(3); PAD_Stick_X = PAD_StickX(0) | PAD_StickX(1) | PAD_StickX(2) | PAD_StickX(3); } else { // No GC controllers are connected PAD_Pressed = 0; PAD_Stick_Y = 0; PAD_Stick_X = 0; } if( WPAD_Pressed == 0 && PAD_Pressed == 0 && ( PAD_Stick_Y < 25 && PAD_Stick_Y > -25 ) && ( PAD_Stick_X < 25 && PAD_Stick_X > -25 ) ) { SLock = false; SpeedX= DELAY_START; } }
int backupNANDzestig() { printf("\nWould you like to backup your Wii's NAND Flash? Hit A for Yes, or B for no.\n"); while(1) { WPAD_ScanPads(); PAD_ScanPads(); u32 WPAD_Pressed = WPAD_ButtonsDown(0); WPAD_Pressed |= WPAD_ButtonsDown(1); WPAD_Pressed |= WPAD_ButtonsDown(2); WPAD_Pressed |= WPAD_ButtonsDown(3); u32 PAD_Pressed = PAD_ButtonsDown(0); PAD_Pressed |= PAD_ButtonsDown(1); PAD_Pressed |= PAD_ButtonsDown(2); PAD_Pressed |= PAD_ButtonsDown(3); if( (WPAD_Pressed & WPAD_BUTTON_A) || (PAD_Pressed & PAD_BUTTON_A) ) break; if( (WPAD_Pressed & WPAD_BUTTON_B) || (PAD_Pressed & PAD_BUTTON_B) ) return 0; } YAWND_Backup_Zestig(); // Thanks Redbird for releasing the YaWnD source code! return 0; }
void waitforbuttonpress(u32 *out, u32 *outGC) { u32 pressed = 0; u32 pressedGC = 0; while (true) { WPAD_ScanPads(); pressed = WPAD_ButtonsDown(0) | WPAD_ButtonsDown(1) | WPAD_ButtonsDown(2) | WPAD_ButtonsDown(3); PAD_ScanPads(); pressedGC = PAD_ButtonsDown(0) | PAD_ButtonsDown(1) | PAD_ButtonsDown(2) | PAD_ButtonsDown(3); if(pressed || pressedGC) { if (pressedGC) { // Without waiting you can't select anything usleep (20000); } if (out) *out = pressed; if (outGC) *outGC = pressedGC; return; } } }
void wiimenu_dip_cfg() { int refresh = 1; int col = 0; int row = 0; int go = 1; while(go) { if(time_to_leave) break; VIDEO_WaitVSync(); WPAD_ScanPads(); u32 WPAD_Pressed = WPAD_ButtonsDown(0); WPAD_Pressed |= WPAD_ButtonsDown(1); WPAD_Pressed |= WPAD_ButtonsDown(2); WPAD_Pressed |= WPAD_ButtonsDown(3); if(WPAD_Pressed & WPAD_BUTTON_DOWN) { row += 1; row %= 3; refresh = 1; } if(WPAD_Pressed & WPAD_BUTTON_UP) { row -= 1; if(row < 0) row = 2; refresh = 1; } if(WPAD_Pressed & WPAD_BUTTON_RIGHT) { col += 1; col %= 8; refresh = 1; } if(WPAD_Pressed & WPAD_BUTTON_LEFT) { col -= 1; if(col < 0) col = 7; refresh = 1; } if(WPAD_Pressed & WPAD_BUTTON_A) { np2cfg.dipsw[row] ^= 1 << col; refresh = 1; } if(WPAD_Pressed & WPAD_BUTTON_B) { go = 0; } if(refresh) { PrintMenuHead(); printf(" DIP Switches:\n"); printf(" 1 2 3 4 5 6 7 8 \n"); printf(" Switch array 1: "); PrintSwitches(np2cfg.dipsw[0], (row == 0) ? col : 9001); printf("\n Switch array 2: "); PrintSwitches(np2cfg.dipsw[1], (row == 1) ? col : 9001); printf("\n Switch array 3: "); PrintSwitches(np2cfg.dipsw[2], (row == 2) ? col : 9001); BorderOverlay(); } } }
void getWiiJoyEvents() { WPAD_ScanPads(); PAD_ScanPads(); buttonsDown[0] = WPAD_ButtonsDown(WPAD_CHAN_0); buttonsDown[1] = WPAD_ButtonsDown(WPAD_CHAN_1); buttonsHeld[0] = WPAD_ButtonsHeld(WPAD_CHAN_0); buttonsHeld[1] = WPAD_ButtonsHeld(WPAD_CHAN_1); buttonsUp[0] = WPAD_ButtonsUp(WPAD_CHAN_0); buttonsUp[1] = WPAD_ButtonsUp(WPAD_CHAN_1); getGamecubePadInput(); getWiimoteAndNunchukPadInput(); getClassicControllerPadInput(); }
void CMenu::error(const wstringEx &msg) { s32 padsState; WPADData *wd; WPAD_Rumble(WPAD_CHAN_0, 0); _hideAbout(); _hideCode(); _hideConfig(); _hideConfig2(); _hideConfigAdv(); _hideDownload(); _hideGame(); _hideMain(); _hideWBFS(); _hideGameSettings(); m_btnMgr.setText(m_errorLblMessage, msg, true); _showError(); do { WPAD_ScanPads(); padsState = WPAD_ButtonsDown(0); wd = WPAD_Data(0); _mainLoopCommon(wd); } while ((padsState & (WPAD_BUTTON_HOME | WPAD_BUTTON_A | WPAD_BUTTON_B)) == 0); WPAD_Rumble(WPAD_CHAN_0, 0); _hideError(false); }
bool WaitForAnyKey (void) { u32 wbtn, gcbtn; int i; bool pressed = false; char mask[80]; char buff[80]; strcpy (mask, "---------------------------------------------------------------------------"); for (i = 0; i <strlen (mask); i++) { strcpy (buff, mask); buff[i] = '*'; printf ("%s\r", buff); VIDEO_WaitVSync(); WPAD_ScanPads(); // Scan the Wiimotes wbtn = WPAD_ButtonsDown(0); PAD_ScanPads(); gcbtn = PAD_ButtonsDown(0); if (wbtn || gcbtn) { pressed = true; break; } usleep (10 * 1000); } printd ("---------------------------------------------------------------------------\n"); return pressed; }
// rulez nyan scene int main(int argc, char **argv) { bool nyaning = true; // self explain nyan(); MP3Player_PlayBuffer(nyannyannyan_mp3, nyannyannyan_mp3_size, NULL); VIDEO_SetBlack(FALSE); while(nyaning) { u64 cticks = ticks_to_millisecs(gettime()); // Loop the sound if ended if(!MP3Player_IsPlaying()) MP3Player_PlayBuffer(nyannyannyan_mp3, nyannyannyan_mp3_size, NULL); //Check wiimote input WPAD_ScanPads(); u32 pressed = WPAD_ButtonsDown(0); if (pressed & WPAD_BUTTON_HOME) nyaning = false; // blackscreen until 3,8s like the youtube video (not extreme precison ;)) if(cticks < startTime+3900) continue; // bkg frame counter (tick each 100ms) if(cticks > bkgTimeCounter+100) { bkgTimeCounter = cticks; currentBkgStep = (currentBkgStep+1) % BKG_STEP; } // nyan frame counter (tick each 60ms) if(cticks > nyanTimeCounter+60) { nyanTimeCounter = cticks; currentNyanStep = (currentNyanStep+1) % NYAN_STEP; } // Set the 2d matrix guMtxIdentity(GXmodelView2D); GX_LoadPosMtxImm(GXmodelView2D, GX_PNMTX0); // nyan f32 move = delta % BKG_SIZE; f32 x = -move; while(x < rmode->fbWidth) { drawBkgSprite(x, currentBkgStep); x += BKG_SIZE; } // nyan nyan drawNyan(-5, 240 - ((NYAN_HEIGHT*8)/2), currentNyanStep); // Copy & switch fb GX_DrawDone(); GX_CopyDisp(xfb[wichFb], GX_TRUE); VIDEO_SetNextFramebuffer(xfb[wichFb]); VIDEO_Flush(); VIDEO_WaitVSync(); wichFb ^= 1; delta += 8; } return 0; }
void rvlInitFat() { // temporary init video, pad, console VIDEO_Init(); WPAD_Init(); rmode = VIDEO_GetPreferredMode(NULL); xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode)); CON_Init(xfb, 20, 20, rmode->fbWidth, rmode->xfbHeight, rmode->fbWidth * VI_DISPLAY_PIX_SZ); VIDEO_Configure(rmode); VIDEO_SetNextFramebuffer(xfb); VIDEO_SetBlack(FALSE); VIDEO_Flush(); VIDEO_WaitVSync(); if(rmode->viTVMode & VI_NON_INTERLACE) VIDEO_WaitVSync(); // loop until either Home has been pressed, or an SD card has been found while(!fatInitDefault()) { WPAD_ScanPads(); printf("\x1b[2;0HFAT initialization error!"); printf("\x1b[3;0HPlease insert a SD card to continue or press Home to exit!"); u32 pressed = WPAD_ButtonsDown(0); if(pressed & WPAD_BUTTON_HOME) { printf("\x1b[5;0HExiting..."); exit(0); } VIDEO_WaitVSync(); } printf("\x1b[2;0H"); // set the app path strcpy(program.apppath, "sd:/apps/wii_azunyan8"); }
bool UserYesNoStop() { u16 pDown; u16 GCpDown; while(1) { WPAD_ScanPads(); PAD_ScanPads(); pDown = WPAD_ButtonsDown(0); GCpDown = PAD_ButtonsDown(0); if (pDown & WPAD_BUTTON_A || GCpDown & PAD_BUTTON_A) { return true; } if (pDown & WPAD_BUTTON_B || GCpDown & PAD_BUTTON_B) { return false; } if (pDown & WPAD_BUTTON_HOME || GCpDown & PAD_BUTTON_START) { return false; } } //it should never get here, but to kill that silly warning... :) return false; }
static void wpad_config(u8 num) { int i,j; int max = MAX_KEYS; u8 quit; char msg[30]; u32 current = 255; /* check wiimote status */ if (WPAD_Probe(num, ¤t) != WPAD_ERR_NONE) { WaitPrompt("Wiimote is not connected !"); return; } /* index for wpad_keymap */ u8 index = current + (num * 3); /* loop on each mapped keys */ for (i=0; i<max; i++) { /* remove any pending buttons */ while (WPAD_ButtonsHeld(num)) { WPAD_ScanPads(); VIDEO_WaitVSync(); } /* user information */ ClearScreen(); sprintf(msg,"Press key for %s",keys_name[i]); WriteCentre(254, msg); SetScreen(); /* wait for input */ quit = 0; while (quit == 0) { WPAD_ScanPads(); /* get buttons */ for (j=0; j<20; j++) { if (WPAD_ButtonsDown(num) & wpad_keys[j]) { wpad_keymap[index][i] = wpad_keys[j]; quit = 1; j = 20; /* leave loop */ } } } /* wait for input */ } /* loop for all keys */ /* removed any pending buttons */ while (WPAD_ButtonsHeld(num)) { WPAD_ScanPads(); VIDEO_WaitVSync(); } }
static void XenonInputUpdate() { for (int i = 0; i < MAX_INPUTS; i++) { old_ctrl[i] = ctrl[i]; usb_do_poll(); get_controller_data(&ctrl[i], i); } // update wpad for (int i = 0; i < MAX_INPUTS; i++) { wpad_xenon[i].btns_d = WPAD_ButtonsDown(i); wpad_xenon[i].btns_u = WPAD_ButtonsUp(i); wpad_xenon[i].btns_h = WPAD_ButtonsHeld(i); //float irx = (float)((float)PAD_StickX(i)/128.f); //float iry = (float)(-(float)PAD_StickY(i)/128.f)-0.5f; // float iry = 0.5f-((float)PAD_StickY(i)/128.f); float iry = 0.5f + ((float) -PAD_StickY(i) / 128.f); float irx = 0.5f + ((float) PAD_StickX(i) / 128.f); irx *= screenwidth; iry *= screenheight; wpad_xenon[i].ir.x = irx; wpad_xenon[i].ir.y = iry; wpad_xenon[i].ir.valid = 0; } }
static void show_console(int code) { u32 i, b; printf("ScummVM exited abnormally (%d).\n", code); gfx_frame_abort(); gfx_init(); if (!gfx_frame_start()) return; gfx_con_draw(); gfx_frame_end(); for (i = 0; i < 60 * 3; ++i) VIDEO_WaitVSync(); #ifdef DEBUG_WII_GDB printf("attach gdb now\n"); _break(); #endif printf("Press any key to continue.\n"); if (!gfx_frame_start()) return; gfx_con_draw(); gfx_frame_end(); VIDEO_WaitVSync(); while (true) { b = 0; if (PAD_ScanPads() & 1) b = PAD_ButtonsDown(0); #ifndef GAMECUBE WPAD_ScanPads(); if (WPAD_Probe(0, NULL) == WPAD_ERR_NONE) b |= WPAD_ButtonsDown(0); #endif if (b) break; VIDEO_WaitVSync(); } printf("\n\nExiting...\n"); if (!gfx_frame_start()) return; gfx_con_draw(); gfx_frame_end(); VIDEO_WaitVSync(); }
u8 readKeys () { u8 bitmap; int pad; PAD_ScanPads(); WPAD_ScanPads(); bitmap = 0; for (pad=0;pad<4;pad++) { if (PAD_ButtonsDown(pad) & PAD_BUTTON_UP || WPAD_ButtonsDown(pad) & WPAD_BUTTON_UP) { bitmap |= KEY_UP; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_DOWN || WPAD_ButtonsDown(pad) & WPAD_BUTTON_DOWN) { bitmap |= KEY_DOWN; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_LEFT || WPAD_ButtonsDown(pad) & WPAD_BUTTON_LEFT) { bitmap |= KEY_LEFT; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_RIGHT || WPAD_ButtonsDown(pad) & WPAD_BUTTON_RIGHT) { bitmap |= KEY_RIGHT; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_X || WPAD_ButtonsDown(pad) & WPAD_BUTTON_PLUS) { bitmap |= KEY_PLUS; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_Y || WPAD_ButtonsDown(pad) & WPAD_BUTTON_MINUS) { bitmap |= KEY_MINUS; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_A || WPAD_ButtonsDown(pad) & WPAD_BUTTON_A) { bitmap |= KEY_A; } if (PAD_ButtonsDown(pad) & PAD_BUTTON_B || WPAD_ButtonsDown(pad) & WPAD_BUTTON_B) { bitmap |= KEY_B; } } return bitmap; }
uint32_t PadSystem::scanPads(int controller) { #ifdef __WIISYSTEM__ WPAD_ScanPads(); return WPAD_ButtonsDown(controller); #else PAD_ScanPads(); return PAD_ButtonsDown(controller); #endif }
void TProfanationGame::updateInputController() { struct expansion_t stick; bool sleft=false,sright=false,sup=false,sdown=false,nun_C=false,nun_Z=false; WPAD_ScanPads(); WPAD_Expansion(WPAD_CHAN_0, &stick); u16 buttonsHeld = WPAD_ButtonsHeld(0); u16 buttonsDown = WPAD_ButtonsDown(0); if(stick.type == WPAD_EXP_NUNCHUK) { float diffx = stick.nunchuk.js.pos.x - stick.nunchuk.js.center.x; float diffy = stick.nunchuk.js.pos.y - stick.nunchuk.js.center.y; if(fabs(diffx)>SENSIBILITY) { sright = (stick.nunchuk.js.pos.x > stick.nunchuk.js.center.x); sleft = (stick.nunchuk.js.pos.x < stick.nunchuk.js.center.x); } if(fabs(diffy)>SENSIBILITY) { sup = (stick.nunchuk.js.pos.y > stick.nunchuk.js.center.y); sdown = (stick.nunchuk.js.pos.y < stick.nunchuk.js.center.y); } nun_C = stick.nunchuk.btns_held & NUNCHUK_BUTTON_C; nun_Z = stick.nunchuk.btns_held & NUNCHUK_BUTTON_Z; inputController.setStatus(GKEY_LEFT, sleft || (buttonsHeld & WPAD_BUTTON_LEFT)); inputController.setStatus(GKEY_RIGHT,sright || (buttonsHeld & WPAD_BUTTON_RIGHT)); inputController.setStatus(GKEY_UP, sup || (buttonsHeld & WPAD_BUTTON_UP)); inputController.setStatus(GKEY_DOWN, sdown || (buttonsHeld & WPAD_BUTTON_DOWN)); inputController.setStatus(GKEY_LONG_JUMP, nun_C || (buttonsDown & WPAD_BUTTON_1)); inputController.setStatus(GKEY_SHORT_JUMP, nun_Z || (buttonsDown & WPAD_BUTTON_2)); } else { inputController.setStatus(GKEY_LEFT, (buttonsHeld & WPAD_BUTTON_UP)); inputController.setStatus(GKEY_RIGHT,(buttonsHeld & WPAD_BUTTON_DOWN)); inputController.setStatus(GKEY_UP, (buttonsHeld & WPAD_BUTTON_RIGHT)); inputController.setStatus(GKEY_DOWN, (buttonsHeld & WPAD_BUTTON_LEFT)); inputController.setStatus(GKEY_LONG_JUMP, (buttonsDown & WPAD_BUTTON_1)); inputController.setStatus(GKEY_SHORT_JUMP,(buttonsDown & WPAD_BUTTON_2)); } inputController.setStatus(GKEY_SELECT,(buttonsDown & WPAD_BUTTON_A)); inputController.setStatus(GKEY_ABORT,(buttonsDown & WPAD_BUTTON_HOME)); inputController.setStatus(GKEY_SCR_PLUS,(buttonsDown & WPAD_BUTTON_PLUS)); inputController.setStatus(GKEY_SCR_MINUS,(buttonsDown & WPAD_BUTTON_MINUS)); }
cui_menu menu_home(cui_game* p_game) { cui_menu next_state = CUI_MENU_MAIN; bool done=false; GRRLIB_ttfFont* font = GRRLIB_LoadTTF(font_ttf, font_ttf_size); UI_button button_loader; UI_InitBtn(&button_loader, 200, 200, "Loader"); button_loader.img = GRRLIB_LoadTexture(button_png); button_loader.font = font; UI_button button_menu; UI_InitBtn(&button_menu, 400, 200, "Wii menu"); button_menu.img = GRRLIB_LoadTexture(button_png); button_menu.font = font; while(!done) { GRRLIB_FillScreen(0x000000FF); GRRLIB_PrintfTTF (15, 0, font, "HOME Menu", 96, 0xFFFFFFFF); GRRLIB_Line(0, 100, 640, 100, 0xFFFFFFFF); UI_DrawBtn(&button_loader); UI_DrawBtn(&button_menu); cui_cursor_display(p_game->cursor); cui_game_update_cursor(p_game->cursor); u32 pressed = WPAD_ButtonsDown(0); UI_UpdateBtn(&button_loader, p_game->cursor->hotspot_x, p_game->cursor->hotspot_y, pressed & WPAD_BUTTON_A); UI_UpdateBtn(&button_menu, p_game->cursor->hotspot_x, p_game->cursor->hotspot_y, pressed & WPAD_BUTTON_A); if ( pressed & WPAD_BUTTON_HOME ){ done = true; } if(button_loader.click){ done=true; next_state=CUI_MENU_EXIT; } if(button_menu.click){ SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); } GRRLIB_Render(); } GRRLIB_FreeTexture(button_loader.img); GRRLIB_FreeTexture(button_menu.img); free(button_loader.text); free(button_menu.text); return next_state; }
// Wait for any button void pressAnyButton() { u32 pressed = false; printf("\nPress any button to continue...\n"); do { WPAD_ScanPads(); pressed = WPAD_ButtonsDown(0); } while (!pressed); }
void console_pause() { while(1) { VIDEO_WaitVSync(); WPAD_ScanPads(); if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME)exit(0); } }
void Game::run(const string& initialLevel) { this->changeLevel(initialLevel); int frameCount = 0; char framePerSecond[32] = ""; while (!this->levels.empty()) { WPAD_ScanPads(); Level* level = this->levels.top(); level->nextStep(); level->render(); if (this->debugDrawEnabled) level->world->DrawDebugData(); if (this->console.isEnabled()) this->console.render(); // Render FPS GRRLIB_PrintfTTF(570, 32, this->font, framePerSecond, 16, GRRLIB_RED); GRRLIB_Render(); // Render the frame buffer to the screen // If level is finished, resume the previous one if (level->isFinished()) { Console::log(LOG_INFO, "Game::run() - resume previous level"); this->levels.pop(); delete level; if (this->levels.top()) this->levels.top()->loadGraphics(); } // WPAD_ButtonsDown tells us which buttons were pressed in this loop // this is a "one shot" state which will not fire again until the button has been released u32 pressed = WPAD_ButtonsDown(WPAD_CHAN_0); // We return to the launcher application via exit if (pressed & WPAD_BUTTON_HOME) return; if (pressed & WPAD_BUTTON_PLUS) this->console.enable(!this->console.isEnabled()); if (pressed & WPAD_BUTTON_MINUS) this->debugDrawEnabled = !this->debugDrawEnabled; // Count FPS frameCount++; if (this->fpsTimer.isExpired()) { sprintf(framePerSecond, "%2d FPS", frameCount); frameCount = 0; } } }
void save_options() { printf("\nWARNING: READ THE README FIRST!\nPress \x1b[32;1mA\x1b[39;0m to save or \x1b[31;1mB\x1b[39;0m to return to the Configuration.\n"); while(1) { WPAD_ScanPads(); PAD_ScanPads(); u32 WPAD_Pressed; u32 WPAD1_Pressed = WPAD_ButtonsDown(0); u32 WPAD2_Pressed = WPAD_ButtonsDown(1); u32 WPAD3_Pressed = WPAD_ButtonsDown(2); u32 WPAD4_Pressed = WPAD_ButtonsDown(3); u32 PAD_Pressed; u32 PAD1_Pressed = PAD_ButtonsDown(0); u32 PAD2_Pressed = PAD_ButtonsDown(1); u32 PAD3_Pressed = PAD_ButtonsDown(2); u32 PAD4_Pressed = PAD_ButtonsDown(3); WPAD_Pressed = WPAD1_Pressed | WPAD2_Pressed | WPAD3_Pressed | WPAD4_Pressed; PAD_Pressed = PAD1_Pressed | PAD2_Pressed | PAD3_Pressed | PAD4_Pressed ; if((WPAD_Pressed & WPAD_BUTTON_A) || (PAD_Pressed & PAD_BUTTON_A)) { if (country != sadr[0]){ memset(sadr, 0, SADR_LENGTH); sadr[0] = country; int ret = SYSCONF_Set("IPL.SADR", sadr, SADR_LENGTH); if (ret) { printf("SYSCONF_Set IPL.SADR %d", ret); sleep(5); return;} } SYSCONF_SaveChanges(); ClearScreen(); return; } if((WPAD_Pressed & WPAD_BUTTON_B) || (PAD_Pressed & PAD_BUTTON_B)) { ClearScreen(); return; } VIDEO_WaitVSync(); } }
void end() { int columns = 0, rows = 0; CON_GetMetrics(&columns, &rows); printf("\x1b[%i;0H",rows); printf("File written... press Home/Start to exit."); while(1) { WPAD_ScanPads(); PAD_ScanPads(); if ((WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) || (PAD_ButtonsDown(0) & PAD_BUTTON_START)) exit(0); VIDEO_WaitVSync(); } }
void fail(int val) { if (LANG_GER) printf("Fehler: %i\nMit HOME zurueck zum Loader.", val); else printf("Error: %i\nGet back to the Loader by pressing the HOME-Button.", val); while (1) { WPAD_ScanPads(); if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) { end(); } } }
cui_menu menu_credits(cui_game* p_game) { cui_menu next_state = CUI_MENU_MAIN; bool done=false; GRRLIB_ttfFont* font = GRRLIB_LoadTTF(font_ttf, font_ttf_size); UI_button button_return; UI_InitBtn(&button_return, 400, 400, "Return"); button_return.img = GRRLIB_LoadTexture(button_png); button_return.font = font; while(!done){ cui_game_update_cursor(p_game->cursor); u32 pressed = WPAD_ButtonsDown(0); UI_UpdateBtn(&button_return, p_game->cursor->hotspot_x, p_game->cursor->hotspot_y, pressed & WPAD_BUTTON_A); GRRLIB_PrintfTTF2 (20, 60, font, 20, 0xFFFFFFFF, "%s", "ChessUi -- a chess interface for Wii --"); GRRLIB_PrintfTTF2 (20, 80, font, 20, 0xFFFFFFFF, "%s", "Presented & programmed by TheDrev"); GRRLIB_PrintfTTF2 (20, 100, font, 20, 0xFFFFFFFF, "%s", "Using the FirstChess engine by Pham Hong Nguyen "); GRRLIB_PrintfTTF2 (20, 120, font, 20, 0xFFFFFFFF, "%s", "and piece graphismes by Wapcaplet"); GRRLIB_PrintfTTF2 (20, 140, font, 20, 0xFFFFFFFF, "%s", "and also the GRRLIB graphic library"); GRRLIB_PrintfTTF2 (20, 160, font, 20, 0xFFFFFFFF, "%s", "see http://wiibrew.org/wiki/Chessui for more details"); if(button_return.click){ done=true; next_state=CUI_MENU_MAIN; } if ( pressed & WPAD_BUTTON_HOME ){ if(!p_game->is_mute)AESND_Pause(true); if(menu_home(p_game) == CUI_MENU_EXIT){done=true;next_state=CUI_MENU_EXIT;} if(!p_game->is_mute)AESND_Pause(false); } UI_DrawBtn(&button_return); cui_cursor_display(p_game->cursor); GRRLIB_Render(); } GRRLIB_FreeTTF(font); free(button_return.text); GRRLIB_FreeTexture(button_return.img); return next_state; }
void press_button_to_reboot() { s32 pressed = 0; while (1) { WPAD_ScanPads(); pressed = WPAD_ButtonsDown(0); if (pressed) { release_storage(); SYS_ResetSystem(SYS_RESTART,0,0); } } }
int EndingEvents() { static SDL_Event event; player_room = 0; current_boss = 3; boss_fight_mode = 4; MusicUpdate(); #ifdef HW_NINTENDO #ifdef HW_RVL WPAD_ScanPads(); //u32 WM_held = WPAD_ButtonsHeld(0); //u32 WM_up = WPAD_ButtonsUp(0); u32 WM_down = WPAD_ButtonsDown(0); #endif PAD_ScanPads(); //u16 PAD_ButtonsHeld(0); //u16 GC_up = PAD_ButtonsUp(0); u16 GC_down = PAD_ButtonsDown(0); if (GC_down & PAD_BUTTON_START #ifdef HW_RVL || WM_down & WPAD_BUTTON_HOME || WM_down & WPAD_CLASSIC_BUTTON_HOME #endif ) return 1; #endif while (SDL_PollEvent(&event)) { if (event.type == SDL_KEYDOWN) { switch (event.key.keysym.sym) { case SDLK_ESCAPE: return 1; break; default: break; } } if (event.type == SDL_QUIT) { return 1; } } return 0; }
void quit_options() { printf("\nIf you quit, all unsaved changes will be lost.\nPress \x1b[32;1mA\x1b[39;0m to exit or \x1b[31;1mB\x1b[39;0m to return to the Configuration.\n"); while(1) { WPAD_ScanPads(); PAD_ScanPads(); u32 WPAD_Pressed; u32 WPAD1_Pressed = WPAD_ButtonsDown(0); u32 WPAD2_Pressed = WPAD_ButtonsDown(1); u32 WPAD3_Pressed = WPAD_ButtonsDown(2); u32 WPAD4_Pressed = WPAD_ButtonsDown(3); u32 PAD_Pressed; u32 PAD1_Pressed = PAD_ButtonsDown(0); u32 PAD2_Pressed = PAD_ButtonsDown(1); u32 PAD3_Pressed = PAD_ButtonsDown(2); u32 PAD4_Pressed = PAD_ButtonsDown(3); WPAD_Pressed = WPAD1_Pressed | WPAD2_Pressed | WPAD3_Pressed | WPAD4_Pressed; PAD_Pressed = PAD1_Pressed | PAD2_Pressed | PAD3_Pressed | PAD4_Pressed ; if((WPAD_Pressed & WPAD_BUTTON_A) || (PAD_Pressed & PAD_BUTTON_A)) { dont_exit_configure=0; ClearScreen(); return; } if((WPAD_Pressed & WPAD_BUTTON_B) || (PAD_Pressed & PAD_BUTTON_B)) { ClearScreen(); return; } VIDEO_WaitVSync(); } }
u32 ButtonsPressed(void) { int i; u32 buttons = 0; WUPC_UpdateButtonStats(); WPAD_ScanPads(); PAD_ScanPads(); for (i = 3; i >= 0; i--) { buttons |= WUPC_ButtonsDown(i); buttons |= PAD_ButtonsDown(i); buttons |= WPAD_ButtonsDown(i); } return buttons; }
int main() { #if GEKKO VIDEO_Init(); #if HW_RVL WPAD_Init(); #endif PAD_Init(); rmode = VIDEO_GetPreferredMode(nullptr); xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode)); CON_Init(xfb, 20, 20, rmode->fbWidth, rmode->xfbHeight, rmode->fbWidth * VI_DISPLAY_PIX_SZ); CON_EnableGecko(CARD_SLOTB, true); VIDEO_Configure(rmode); VIDEO_SetBlack(false); VIDEO_Flush(); VIDEO_WaitVSync(); if (rmode->viTVMode & VI_NON_INTERLACE) VIDEO_WaitVSync(); athena::io::MemoryCopyReader test("sd:/test.dat"); while(true) { #if HW_RVL WPAD_ScanPads(); #endif PAD_ScanPads(); if (PAD_ButtonsDown(0) & PAD_BUTTON_START) break; #if HW_RVL if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) break; #endif VIDEO_WaitVSync(); } #endif return 0; }
void CMenu::ButtonsPressed() { gc_btnsPressed = 0; if (CheckTime()) { ds3_btnsPressed = DS3_ButtonsDown(); UpdateTime(); } else ds3_btnsPressed = 0; if(ds3_btnsPressed & DBTN_SELECT) shutdown = 1; { for(int chan = WPAD_MAX_WIIMOTES-1; chan >= 0; chan--) { wii_btnsPressed[chan] = WPAD_ButtonsDown(chan); gc_btnsPressed |= PAD_ButtonsDown(chan); wupc_btnsPressed[chan] = WUPC_ButtonsDown(chan); } } }