void Menu_Remove(void) { struct discHdr *header = NULL; s32 ret; /* No game list */ if (!gameCnt) return; /* Selected game */ header = &gameList[gameSelected]; /* Clear console */ Con_Clear(); printf("[+] Are you sure you want to remove this\n"); printf(" game?\n\n"); /* Show game info */ __Menu_PrintInfo(header); printf(" Press A button to continue.\n"); printf(" Press B button to go back.\n\n\n"); /* Wait for user answer */ for (;;) { u32 buttons = Wpad_WaitButtons(); /* A button */ if (buttons & WPAD_BUTTON_A) break; /* B button */ if (buttons & WPAD_BUTTON_B) return; } printf("[+] Removing game, please wait..."); fflush(stdout); /* Remove game */ ret = WBFS_RemoveGame(header->id); if (ret < 0) { printf("\n ERROR! (ret = %d)\n", ret); goto out; } else printf(" OK!\n"); /* Reload entries */ __Menu_GetEntries(); out: printf("\n"); printf(" Press any button to continue...\n"); /* Wait for any button */ Wpad_WaitButtons(); }
bool Menu_Delete(){ WPAD_Rumble(0,0); self.rumbleAmt = 0; struct discHdr *header = NULL; char gameName[31]; /* No game list */ if (!self.gameCnt) return false; /* Selected game */ header = &self.gameList[self.gameSelected]; char title[MAX_TITLE_LEN]; if(self.usingTitlesTxt){ sprintf(title, "%s", header->title); getTitle(titleList, (char*)header->id, title); } else sprintf(title, "%s", (header->title)); if(strlen(title) < 30) { sprintf(gameName, "%s", title); } else { strncpy(gameName, title, 27); gameName[27] = '\0'; strncat(gameName, "...", 3); } //if(WindowPrompt(TX.askDelete, gameName, &yesButton, &noButton)) if(WindowPromptInstall((char*)header->id, gameName, TX.askDelete, &yesButton, &noButton, 1)) { BUFFER_KillBuffer(); if(0 > WBFS_RemoveGame(header->id)) { InitializeBuffer(self.gameList,self.gameCnt,BUFFER_WINDOW,COVER_COUNT/2.0 +self.shift,(settings.covers3d+settings.hq)); BUFFER_InitBuffer(); WindowPrompt(TX.errorDelete, TX.cantDelete, &okButton, 0); } else { GetEntries(); InitializeBuffer(self.gameList,self.gameCnt,BUFFER_WINDOW,COVER_COUNT/2.0 +self.shift,(settings.covers3d+settings.hq)); BUFFER_InitBuffer(); WindowPrompt(TX.successDelete, TX.pressOkContinue, &okButton, 0); WBFS_DiskSpace(&self.usedSpace, &self.freeSpace); return true; } } return false; }