s32 WBFS_AddGame(void) { if (wbfs_part_fs) return WBFS_FAT_AddGame(); s32 ret; /* No device open */ if (!hdd) return -1; /* Add game to device */ partition_selector_t part_sel = ALL_PARTITIONS; int copy_1_1 = 0; switch (CFG.install_partitions) { default: case CFG_INSTALL_GAME: part_sel = ONLY_GAME_PARTITION; break; case CFG_INSTALL_ALL: part_sel = ALL_PARTITIONS; break; case CFG_INSTALL_1_1: case CFG_INSTALL_ISO: part_sel = ALL_PARTITIONS; copy_1_1 = 1; break; } ret = wbfs_add_disc(hdd, __WBFS_ReadDVD, NULL, __WBFS_Spinner, part_sel, copy_1_1); if (ret < 0) return ret; return 0; }
s32 WBFS_AddGame(void) { s32 ret; /* No device open */ if (!hdd) return -1; /* Add game to device */ ret = wbfs_add_disc(hdd, __WBFS_ReadDVD, NULL, __WBFS_Spinner, ALL_PARTITIONS, 0); if (ret < 0) return ret; return 0; }
int op_add_iso(char *filename, void (*update)(int, int)) { FILE *f; wbfs_disc_t *disc; char code[7]; int ret; cancel_wbfs_op = 0; if (! update) update = progress_update; /* open ISO */ f = fopen(filename, "r"); if (f == NULL) { show_error("Error Adding ISO", "Can't open ISO file '%s'", filename); return 1; } if (fread(code, 1, 6, f) != 6) { fclose(f); show_error("Error Adding ISO", "Can't read disc ID from file '%s'.", filename); return 1; } code[6] = '\0'; /* check if disc is already there */ disc = wbfs_open_disc(app_state.wbfs, (u8 *) code); if (disc != NULL) { wbfs_close_disc(disc); fclose(f); show_error("Error Adding ISO", "The disc is already in the WBFS partition."); return 1; } /* add disc */ ret = wbfs_add_disc(app_state.wbfs, read_wii_file, (void *) f, update, ONLY_GAME_PARTITION, 0, NULL); fclose(f); return ret; }