//
// Asura_Platform_Chunk_ResourceFile.h
//
// Created by KOR - 09 October 2006
//
// Copyright (C) 2006 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_PLATFORM_CHUNK_RESOURCEFILE_H__
#define __ASURA_PLATFORM_CHUNK_RESOURCEFILE_H__

// T Y P E S /////////////////////////////////////////////////////////////////

// Headers
#include "ChunkSystem/Asura_Chunk_ResourceFile.h"

enum ASURA_RESOURCEFILE_WII_TYPE_ID
{
    ASURA_RESOURCEFILE_TYPE_WII_STRIPPEDENV,
	ASURA_RESOURCEFILE_TYPE_WII_SHAPE,
	ASURA_RESOURCEFILE_TYPE_WII_HIERARCHY,
	ASURA_RESOURCEFILE_TYPE_WII_SMOOTHSKIN,
	ASURA_RESOURCEFILE_TYPE_WII_ALPHAMAPS,
	ASURA_RESOURCEFILE_TYPE_WII_STREAMINGSOUNDS,
};

const u_int ASURA_WII_SMOOTHSKIN_CHUNK_VERSION = 4;
const u_int ASURA_WII_HIERARCHY_CHUNK_VERSION = 5;

enum ASURA_WII_SMOOTHSKIN_CHUNK_FLAGS
{
	ASURA_WII_SMOOTHSKIN_CHUNK_FLAG_HAS_NORMALS = 0x00000001,
};

enum ASURA_WII_HIERARCHY_CHUNK_FLAGS
{
	ASURA_WII_HIERARCHY_CHUNK_FLAG_NORMALS			= 0x00000001,
	ASURA_WII_HIERARCHY_CHUNK_FLAG_COLOURS			= 0x00000002,
	ASURA_WII_HIERARCHY_CHUNK_FLAG_UV1				= 0x00000004,
	ASURA_WII_HIERARCHY_CHUNK_FLAG_DISPLAYLIST		= 0x00000008,
	ASURA_WII_HIERARCHY_CHUNK_FLAG_ALPHA			= 0x00000010,
};

class Asura_Chunk_ResourceFile_Wii_StrippedEnv: Asura_Chunk_ResourceFile
{
	public:
		bool Process(Asura_Handle fileHandle);
};

class Asura_Chunk_ResourceFile_Wii_Shape: Asura_Chunk_ResourceFile
{
	public:
		bool Process(Asura_Handle fileHandle);
};

class Asura_Chunk_ResourceFile_Wii_Hierarchy: Asura_Chunk_ResourceFile
{
	public:
		bool Process(Asura_Handle fileHandle);
};

class Asura_Chunk_ResourceFile_Wii_SmoothSkin: Asura_Chunk_ResourceFile
{
	public:
		bool Process(Asura_Handle fileHandle);
};

class Asura_Chunk_ResourceFile_Wii_AlphaMaps: Asura_Chunk_ResourceFile
{
	public:
		bool Process(Asura_Handle fileHandle);
};

// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

#endif//__ASURA_PLATFORM_CHUNK_RESOURCEFILE_H__