Пример #1
0
int main(int argc, char* argv[])
{
	struct options opts;
	int ret;
	uqm_palette_t pal;

	parse_arguments(argc, argv, &opts);
	verbose_level = opts.verbose;

	verbose(2, "Processing '%s', index %d-%d\n", opts.infile, opts.from, opts.to);

	memset(&pal, 0, sizeof(pal));

	ret = readPalette(&pal, opts.infile);
	if (ret != 0)
		return ret;

	if (opts.luma < 0 && !opts.add && !opts.sub && !opts.blend)
		setColor(&pal, opts.from, opts.to, &opts.color);

	if (opts.luma >= 0)
	{
		if (opts.color_set && !opts.add && !opts.sub && !opts.blend)
			setColorLuma(&pal, opts.from, opts.to, opts.luma, &opts.color);
		else
			adjustLuma(&pal, opts.from, opts.to, opts.luma);
	}

	if (opts.add)
		addColor(&pal, opts.from, opts.to, &opts.color, opts.prorate);
	else if (opts.sub)
		subColor(&pal, opts.from, opts.to, &opts.color, opts.prorate);
	else if (opts.blend)
		blendToColor(&pal, opts.from, opts.to, opts.blend, &opts.color,
				opts.prorate);

	ret = writePalette(&pal, opts.outfile);

	return ret;
}
Пример #2
0
void tileReference::save(fstream& file){
    file << "<tileReference>\n";
    file << "<id>" << writeID(false) << "\n";
    file << "<palette>" << writePalette() << "\n";
    file << "<endTileReference>\n";
}