void __Menu_ShowList(void) { f32 free, used; /* Get free space */ WBFS_DiskSpace(&used, &free); printf("[+] Select the game you want to boot:\n\n"); /* No game list*/ if (gameCnt) { u32 cnt; /* Print game list */ for (cnt = gameStart; cnt < gameCnt; cnt++) { struct discHdr *header = &gameList[cnt]; /* Entries per page limit reached */ if ((cnt - gameStart) >= ENTRIES_PER_PAGE) break; /* Print entry */ printf("\t%2s %s\n", (gameSelected == cnt) ? ">>" : " ", __Menu_PrintTitle(header->title)); } } else printf("\t>> No games found!!\n"); printf("\n\n"); /* Print free/used space */ printf("[+] Free space: %.2fGB\n", free); printf(" Used space: %.2fGB\n", used); }
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; }