Esempio n. 1
0
File: conv.c Progetto: UIKit0/fsex
int convert_patches(struct fsex_libdata *lib, int dest, char *output, int force)
{
	uint8 *patch, *data;
	int i, fd;
	uint8 newpatch[2000];
	struct fsex_libdata newlib;

	data = lib->data;

	newlib.model = dest;
	fd = create_libfile(&newlib, output, force);
	if (fd < 0) {
		return fd;
	}

	printf("\nPatches from %s:\n\n", lib->filename);

	for (i = 0; i < lib->num_patch; i++) {
		if (lib->patch[i].skip)
			continue;

		memcpy(newpatch, lib->patch[i].patch, lib->patch[i].size);

		/* Patch Common */
		patch = newpatch + (lib->patch[i].common - lib->patch[i].patch);
		printf(" %04d  [%-12.12s]\r", i + 1, &patch[PATCH_NAME_1]);

		/* Patch Tone 1 */
		patch = newpatch + (lib->patch[i].tone1 - lib->patch[i].patch);
		do_conversion(1, lib->model, dest, patch);

		/* Patch Tone 2 */
		patch = newpatch + (lib->patch[i].tone2 - lib->patch[i].patch);
		do_conversion(2, lib->model, dest, patch);

		/* Patch Tone 3 */
		patch = newpatch + (lib->patch[i].tone3 - lib->patch[i].patch);
		do_conversion(3, lib->model, dest, patch);

		/* Patch Tone 4 */
		patch = newpatch + (lib->patch[i].tone4 - lib->patch[i].patch);
		do_conversion(4, lib->model, dest, patch);

		/* write raw data */
		write(fd, newpatch, lib->patch[i].size);
		write32_be(fd, 0);	/* FIXME: comment field */
	}

	printf("\nCreate new library: %s\n", output);

	close_libfile(fd, i);

	return 0;
}
Esempio n. 2
0
static int vmod12e16_ioctl(struct inode *ino,
		    struct file *filp,
		    unsigned int cmd,
		    unsigned long arg)
{
	struct vmod12e16_conversion cnv, *cnvp = &cnv;
	int err;

	switch (cmd) {

	case VMOD12E16_IOCCONVERT:
		if (copy_from_user(cnvp, (const void __user*)arg, sizeof(cnv)))
			return -EINVAL;
		if ((err = do_conversion(filp, cnvp)) != 0)
			return err;
		if (copy_to_user((void __user *)arg, cnvp, sizeof(cnv)))
			return -EINVAL;

		return 0;
		break;

	default:
		return -ENOTTY;
		break;
	}
	return 0;
}
Esempio n. 3
0
start_states()
#endif
{
	zzRULE;
	zzBLOCK(zztasp1);
	zzMake0;
	{
	{
		zzBLOCK(zztasp2);
		zzMake0;
		{
		if ( (LA(1)==PER_PER) ) {
			zzmatch(PER_PER); zzCONSUME;
			do_conversion();
		}
		else {
			if ( (LA(1)==NAME_PER_PER) ) {
				zzmatch(NAME_PER_PER); zzCONSUME;
				do_conversion();
				{
					zzBLOCK(zztasp3);
					zzMake0;
					{
					while ( (LA(1)==NAME_PER_PER) ) {
						zzmatch(NAME_PER_PER); zzCONSUME;
						do_conversion();
						zzLOOP(zztasp3);
					}
					zzEXIT(zztasp3);
					}
				}
			}
			else {zzFAIL(1,zzerr1,&zzMissSet,&zzMissText,&zzBadTok,&zzBadText,&zzErrk); goto fail;}
		}
		zzEXIT(zztasp2);
		}
	}
	zzmatch(PER_PER); zzCONSUME;
	zzEXIT(zztasp1);
	return;
fail:
	zzEXIT(zztasp1);
	zzsyn(zzMissText, zzBadTok, (ANTLRChar *)"", zzMissSet, zzMissTok, zzErrk, zzBadText);
	zzresynch(setwd1, 0x2);
	}
}