Пример #1
0
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");
}
Пример #2
0
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;
}