void LookForCustomCampaigns(void) { int i; printf("\nCampaigns:\n"); campaignList = GetFilesFromDirectory(GetDataFilePath("missions/")); GetCampaignTitles(&campaignList); i = 0; while (SetupBuiltinCampaign(i)) { AddFileEntry(&campaignList, "", gCampaign.setting->title, i); i++; } printf("\nDogfights:\n"); dogfightList = GetFilesFromDirectory(GetDataFilePath("dogfights/")); GetCampaignTitles(&dogfightList); i = 0; while (SetupBuiltinDogfight(i)) { AddFileEntry(&dogfightList, "", gCampaign.setting->title, i); i++; } printf("\n"); }
char * CalculateDiscId(const char * directory) { char * * files = GetFilesFromDirectory(directory); char * * file_ptr = files; char offsets[1500], temp_arr[1500]; char * str_ptr = offsets; int total_time = 0; int total_ofset = 2; int som_of_digits = 0; int number_of_tracks = 0; while(*file_ptr != 0) { TagLib_File * file = taglib_file_new(*file_ptr); const TagLib_AudioProperties * audio = taglib_file_audioproperties(file); int length = taglib_audioproperties_length(audio); //printf("Song length: %i -- offset %i \n", length, total_ofset * 75); int chars_printed = sprintf(str_ptr, "%i ", total_ofset * 75); str_ptr = str_ptr + chars_printed; som_of_digits = (SumOfDigits(total_ofset) + som_of_digits) % 255; total_time += length; total_ofset += length; taglib_file_free(file); file_ptr++; number_of_tracks++; } FreeFileList(files); /*printf("Som of digits is: %i\n", som_of_digits); printf("Total time: %i\n", total_time); printf("Number of tracks: %i\n", number_of_tracks); printf("offsets: %s\n", offsets); printf("Total disc length: %i\n", total_time + 2);*/ int total_string_length = sprintf(temp_arr, "%02x%04x%02x %i %s%i\n", som_of_digits, total_time, number_of_tracks, number_of_tracks, offsets, total_time + 2) + 1; char * ret = (char *) malloc (sizeof(char) * total_string_length); strcpy(ret, temp_arr); return ret; }