int main() { init(&f**k); char* ch; T_game gm; T_comp cp; T_Achi ac; int i,j,k; for(i=1; i<=100; ++i) { sprintf(cp.Name,"%d",i); sprintf(cp.Description,"%d",i); T_Comp *ci=InsertCompany(CompanyFirst(&f**k),cp); for(j=1; j<=100; ++j) { sprintf(gm.Name,"%d,%d",i,j); sprintf(gm.Description,"%d,%d",j,i); T_Game *gi=InsertGame(GameFirst_c(ci),gm); for(k=1; k<=100; ++k) { sprintf(ac.Name,"%d,%d,%d",i,j,k); sprintf(ac.Description,"%d,%d,%d",k,j,i); addAchievev(ac.Name,ac.Description,gi); } } printf("Insert Company %d\n",i); } T_game model; givestr(model.Name,"1"); printf("%d\n",CountGame(GAME_COMPARENAME,model,&f**k)); for(i=1; i<=50; ++i) DelCompany(CompanyLast(&f**k)); clean_up(&f**k); printf("Program exited with no error\n"); return(0); }
/* Retorna numoero de cd + 1 o LASTCD si ya no quedan mas juegos */ int MakeCD (struct mamegame *lista, int tipo, int ncd) { char aux[MAXCAD]; char src[MAXCAD]; char basecd[MAXCAD]; /* Directorio base del CD */ char baseroms[MAXCAD]; /* Directorio base de las roms */ char basesamples[MAXCAD]; /* Directorio base de los samples */ char baseartwork[MAXCAD]; /* Directorio base del artwork */ char baselista[MAXCAD]; /* Directorio base de la lista */ char basetitles[MAXCAD]; /* Directorio de titulos */ char baseimages[MAXCAD]; /* Directorio de imagenes */ char srcroms[MAXCAD]; /* Directorio con las roms */ char neogeozip[MAXCAD]; /* Path completo de la bios de neogeo */ char cvszip[MAXCAD]; /* Path completo de la bios de cvs */ char playchzip[MAXCAD]; /* Path completo de la bios de playchoice */ char decocasszip[MAXCAD]; /* Path completo de la bios de decocass */ char srcimages[MAXCAD]; /* Directorio con las imagenes */ char srctitles[MAXCAD]; /* Directorio con los titulos */ char srcsamples[MAXCAD]; /* Directorio con los samples */ char srcartwork[MAXCAD]; /* Directorio con el artwork */ int tamanyo, tamanyototal; struct mamegame *actual; struct stat buff; /* Creamos los directorios */ sprintf(basecd,"%s/%s/%s", basedir, tmpdir, cddir); mkdir(basecd,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir-ncd */ sprintf(baseroms,"%s/%s",basecd,romsdir); mkdir(baseroms,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir-ncd/roms */ if (tipo==NEOGEO) { sprintf(baseroms,"%s/%s/%s",basecd,romsdir,neogeodir); mkdir(baseroms,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir-ncd/roms/neogeo */ sprintf(srcroms,"%s/%s", srcbasedir, neogeodir); /* /home/carlitos/roms/neogeo */ sprintf(neogeozip,"%s/neogeo.zip", srcroms); } if (tipo==MAME) { sprintf(baseroms,"%s/%s/%s",basecd,romsdir,mamedir); /* ./tmp/cddir-ncd/roms/mame */ mkdir(baseroms,S_IRWXU|S_IRWXG|S_IRWXO); sprintf(srcroms,"%s/%s", srcbasedir, mamedir); /* /home/carlitos/roms/mame */ sprintf(cvszip,"%s/cvs.zip", srcroms); sprintf(playchzip,"%s/playch10.zip", srcroms); sprintf(decocasszip,"%s/decocass.zip", srcroms); /* Los juegos de MAME pueden tener samples y artwork */ sprintf(basesamples,"%s/%s/%s",basecd,romsdir,samplesdir); mkdir(basesamples,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir-ncd/roms/samples */ sprintf(baseartwork,"%s/%s/%s",basecd,romsdir,artworkdir); mkdir(baseartwork,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir-ncd/roms/artwork */ sprintf(srcroms,"%s/%s", srcbasedir, mamedir); /* /home/carlitos/roms/mame */ sprintf(srcsamples,"%s/%s/%s", srcbasedir, romsdir, samplesdir); /* /home/carlitos/roms/samples */ sprintf(srcartwork,"%s/%s/%s", srcbasedir, romsdir, artworkdir); /* /home/carlitos/roms/artwork */ } if (generatelist) { sprintf(baselista,"%s/%s",basecd,listdir); mkdir(baselista,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir.ncd/lista */ sprintf(basetitles,"%s/%s",baselista,titlesdir); mkdir(basetitles,S_IRWXU|S_IRWXG|S_IRWXO); /* ./tmp/cddir.ncd/lista/titulos */ sprintf(baseimages,"%s/%s",baselista,imagesdir); mkdir(baseimages,S_IRWXU|S_IRWXG|S_IRWXO);; /* ./tmp/cddir.ncd/lista/images */ sprintf(srcimages,"%s/%s", srclistdir, imagesdir); /* /home/lista/images */ sprintf(srctitles,"%s/%s", srclistdir, titlesdir); /* /home/lista/titulos */ } /* Reservamos 7 Mb para los ficheros html */ tamanyototal=7*1024*1024; if (tipo==NEOGEO) { /* Si son de neogeo necesitamos la BIOS */ /* Creamos el link a neogeo.zip */ sprintf(aux,"%s/neogeo.zip",baseroms); link(neogeozip,aux); stat(neogeozip,&buff); tamanyototal+=buff.st_size; if (generatelist) { sprintf(src,"%s/neogeo.jpg",srcimages); sprintf(aux,"%s/neogeo.jpg",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; } } if (tipo==MAME) { /* Creamos el link a cvs.zip */ sprintf(aux,"%s/cvs.zip",baseroms); link(cvszip,aux); stat(cvszip,&buff); tamanyototal+=buff.st_size; /* Creamos el link a playch10.zip */ sprintf(aux,"%s/playch10.zip",baseroms); link(playchzip,aux); stat(playchzip,&buff); tamanyototal+=buff.st_size; /* Creamos el link a decocass.zip */ sprintf(aux,"%s/decocass.zip",baseroms); link(decocasszip,aux); stat(decocasszip,&buff); tamanyototal+=buff.st_size; if (generatelist) { sprintf(src,"%s/mame.jpg",srcimages); sprintf(aux,"%s/mame.jpg",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; } } if (generatelist) { sprintf(src,"%s/limage.gif",srcimages); sprintf(aux,"%s/limage.gif",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; sprintf(src,"%s/anterior.jpg",srcimages); sprintf(aux,"%s/anterior.jpg",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; sprintf(src,"%s/centro.jpg",srcimages); sprintf(aux,"%s/centro.jpg",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; sprintf(src,"%s/siguiente.jpg",srcimages); sprintf(aux,"%s/siguiente.jpg",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; sprintf(src,"%s/noimage.gif",srcimages); sprintf(aux,"%s/noimage.gif",baseimages); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; sprintf(src,"%s/notitle.gif",srctitles); sprintf(aux,"%s/notitle.gif",basetitles); link(src,aux); stat(aux,&buff); tamanyototal+=buff.st_size; } actual=lista; while (1) { /* ¿El juego pertenece a algun CD? */ if (actual->numerocd==0) { /* ¿Es del tipo que le hemos dicho? */ if (actual->tipo==tipo) { /* Si es un clonico se insertara con su original */ if (!actual->isclone) { tamanyo=InsertGame(lista, actual, tipo, ncd, tamanyototal); if (tamanyo==ERROR) { #ifdef DEBUG_CD printf("Size of CD %02i %i\n", ncd, tamanyototal); #endif /* El juego no ha cabido en el CD */ return ncd+1; } else { tamanyototal+=tamanyo; } } } else { #ifdef DEBUG_CD_WARNINGS printf("%8s (%i) is not of type %i\n",actual->base, actual->tipo, tipo); #endif } } else { #ifdef DEBUG_CD_WARNINGS if (!actual->isclone) printf("%8s is in CD %02i\n",actual->base, actual->numerocd); #endif } if (actual->next==NULL) { #ifdef DEBUG_CD printf("Size of CD %02i %i\n", ncd, tamanyototal); #endif return LASTCD; } actual=actual->next; } return ncd+1; }