#pragma once

#include "..\munga\tool.h"
#include "..\munga\audtools.h"

class L4Tool:
	public PlatformTool
{
public:
	ResourceDescription::ResourceID
		CreateModelVideoStreamResource(
			ResourceFile *resource_file,
			const char *model_name,
			NotationFile *model_file,
			const ResourceDirectories *directories
		);

	ResourceDescription::ResourceID
		CreateModelAudioStreamResource(
			ResourceFile *resource_file,
			const char *model_name,
			NotationFile *model_file,
			const ResourceDirectories *directories
		);

	ResourceDescription::ResourceID
		CreateModelGaugeStreamResource(
			ResourceFile *resource_file,
			const char *model_name,
			NotationFile *model_file,
			const ResourceDirectories *directories
		);

	ResourceDescription::ResourceID
		CreateModelGaugeImageStreamResource(
			ResourceFile *resource_file,
			const char *model_name,
			NotationFile *model_file,
			const ResourceDirectories *directories
		);

	ResourceDescription::ResourceID
		CreateModelGaugeMissionReviewStreamResource(
			ResourceFile *resource_file,
			const char *model_name,
			NotationFile *model_file,
			const ResourceDirectories *directories
		);

	ResourceDescription::ResourceID
		CreateStaticAudioStreamResource(
			ResourceFile *resource_file
		);

	FindNameFunction
		GetControlMappingFunction();
};

//##########################################################################
//#####################    AudioCreateSymbols    ###########################
//##########################################################################

class L4AudioCreateSymbols:
	public AudioCreateSymbols
{
protected:
	void WriteEntryStream(std::ofstream &symbol_file);
};
