//
// Asura_Chunk_ResourceFile_PS3.h
//
// Created by KJFL - 27 June 2005
//
// Copyright (C) 2005 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __ASURA_CHUNK_RESOURCEFILE_PS3_H__
#define __ASURA_CHUNK_RESOURCEFILE_PS3_H__

enum ASURA_RESOURCEFILE_TYPE_ID_PS3
{
	ASURA_RESOURCEFILE_TYPE_PS3_ENVIRONMENT				= 0,
	ASURA_RESOURCEFILE_TYPE_PS3_CHARACTER				= 1,
	ASURA_RESOURCEFILE_TYPE_PS3_OBJECT_NOT_IN_USE		= 2, //No longer supported -> Use Object Hierarchy
	ASURA_RESOURCEFILE_TYPE_PS3_OBJECTHIERARCHY			= 3,
	ASURA_RESOURCEFILE_TYPE_PS3_MATERIALRESPONSE		= 4,
	ASURA_RESOURCEFILE_TYPE_PS3_BOTANICALS				= 5,
	ASURA_RESOURCEFILE_TYPE_PS3_CARPET					= 6,
	ASURA_RESOURCEFILE_TYPE_PS3_STATICDECALS			= 7,
	ASURA_RESOURCEFILE_TYPE_PS3_STREAMINGSOUNDS			= 8,
	ASURA_RESOURCEFILE_TYPE_PS3_SHADERS					= 9,
};


#define ASURA_PS3_SHADER_READBUFFER_SIZE  0xC000	// Ensure that this value WILL NOT OVERFLOW THE STACK, since stacks are small for threads (<64k)

#define ASURA_PS3_SPUSKINNING_NUM_VERTICES	768		// if these are decreased all characters will need to be re-exported, increases aren't a problem of course.
#define ASURA_PS3_SPUSKINNING_NUM_INDICES	3072

#define ASURA_PS3_CHARACTER_VERTEX_SIZE	40

#define ASURA_PS3_ENVIRONMENT_CHUNK_VERSION				7
#define ASURA_PS3_CHARACTER_CHUNK_VERSION				8
#define ASURA_PS3_OBJECTHIERARCHY_CHUNK_VERSION			6
#define ASURA_PS3_MATERIALRESPONSE_CHUNK_VERSION		( Asura_MaterialResponse_System::EXPORTED_TEXTURE_VERSION + 2 )
#define ASURA_PS3_BOTANICALS_CHUNK_VERSION				4
#define ASURA_PS3_CARPET_CHUNK_VERSION					2
#define ASURA_PS3_STATICDECALS_CHUNK_VERSION			3
#define ASURA_PS3_SHADERS_CHUNK_VERSION					2

#define ASURA_PS3_SHADER_FOG				0x80000000 // can combine this...
#define ASURA_PS3_SHADER_BLEND_INTO_ALBEDO	0x40000000
#define ASURA_PS3_SHADER_FORWARD			0x20000000 // ...with this - assume forward renderers always want fogging
#define ASURA_PS3_SHADER_WATER				0x10000000 // and this...
#define ASURA_PS3_SHADER_DAMAGE_MAP			0x08000000 // ...with this - characters can't be water, environments can't have damage maps


enum ASURA_PS3_SHADERS_TYPE_HASH
{
	ASURA_PS3_SHADER_TYPE_HASH_SKYBOX		= 0xA71F74BA,		//"Skybox_Shader"
};

#endif//__ASURA_CHUNK_RESOURCEFILE_PS3_H__
