コード例 #1
0
ファイル: main_emscripten.c プロジェクト: kidanger/Drystal
static void on_zip_downloaded(_unused_ void* userdata, void* buffer, int size)
{
	log_info("Done.");
	mz_zip_archive za;
	if (!mz_zip_reader_init_mem(&za, buffer, size, 0)) {
		log_error("Cannot unzip game files: invalid archive");
		return;
	}

	for (mz_uint i = 0; i < mz_zip_reader_get_num_files(&za); i++) {
		mz_zip_archive_file_stat file_stat;
		if (!mz_zip_reader_file_stat(&za, i, &file_stat)) {
			log_error("Cannot unzip game files");
			break;
		}
		const char* filename = file_stat.m_filename;

		int r = mkdir_p(filename);
		if (r < 0) {
			log_error("Cannot unzip game files: %s", strerror(-r));
			break;
		}
		if (!mz_zip_reader_is_file_a_directory(&za, i)) {
			mz_zip_reader_extract_to_file(&za, i, filename, 0);
		}
	}
	mz_zip_reader_end(&za);
	engine_load();
}
コード例 #2
0
ファイル: main.c プロジェクト: dumrelu/GameOfLife
Engine *prepare_game(char *save_name)
{
	char input;
	
	//Read option
	printf("Load save? [Y/n]: ");
	scanf("%c", &input);

	//Process
	if(toupper(input) == 'Y')
	{
		printf("Name of the save file to be loaded: ");
		scanf("%s", save_name);
		return engine_load(save_name);
	} else
	{
		printf("Name of the new save file: ");
		scanf("%s", save_name);
		
		int height, width, ups;
		
		printf("New engine:\n\t->height: ");
		scanf("%d", &height);

		printf("\t->width: ");
		scanf("%d", &width);

		printf("\t->ups: ");
		scanf("%d", &ups);

		return engine_create(height, width, ups);
	}
}