#pragma once

#include "Proxies.hpp"
#include "Process.hpp"

namespace Proxies {

	class GenericProxy;

	class CoalesceTexturesProcess:
		public Process
	{
	public:
		CoalesceTexturesProcess(
			Stuff::NotationFile *megatexture_file, 
			const char *megatexture_list,
			bool s = true,
			void* fcn = NULL
		);
		CoalesceTexturesProcess(
			Stuff::NotationFile *megatexture_file,
			const char *megatexture_list,
			Stuff::NotationFile *config_file,
			bool s = true,
			void* fcn = NULL
		);
		~CoalesceTexturesProcess();

		virtual void
			CoalesceTexturesCallback(GenericProxy* proxy)
				{}
		static MStringChain*
			MakeMegatextureChain(const char* megatexture_list);

		Stuff::NotationFile
			*megatextureFile;
		MStringChain
			*megatextureList;
	};
}
