//*******************************************************************
//
// File: Asura_PSP_Botanicals_Shared.h
//
// Created: 06 Oct 2006
//
// Description: 
// Classes and structures used to hold PSP Botanicals data
// This file is shared and used by the PC TOOL and PSP platform code
// The tools export data in these structure and the PSP uses them at runtime
//
//*******************************************************************
#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifdef ASURA_USE_BOTANICALS

#ifndef __ASURA_PSP_BOTANICALS_SHARED_H__
#define __ASURA_PSP_BOTANICALS_SHARED_H__

#define ASURA_PSP_BOTANICALS_CHUNK_VERSION 1

// There are two different kind of templates. 
// The botanical shape is composition of elements, each one of which is a list of LoDs. Each LoD is a shape, or a billboard.
// The template shape was used for debugging purpose in other platforms. They can benefit from a deferred renderer, so
// keeping it there seems to be a good idea, for simple on/off rendering stuff.
enum ASURA_PSP_BOTANICALS_TEMPLATE_TYPE
{
	ASURA_PSP_BOTANICALS_TEMPLATE_BOTANICALSHAPE=0,	// BotanicalShape - with LOD
	ASURA_PSP_BOTANICALS_TEMPLATE_SHAPE=1,			// Standard shape - no LOD
	NUM_ASURA_PSP_BOTANICALS_TEMPLATE_TYPES
};

// Different types of geometry a LoD can be. 
enum Asura_PSP_Botanicals_Mesh_Type
{
	ASURA_PSP_BOTANICALS_NORMAL_MESH = 0,	// Normal mesh, textured and lighted
	ASURA_PSP_BOTANICALS_2SIDED_MESH = 1,	// Double sided mesh, textured and lighted
	ASURA_PSP_BOTANICALS_BILLBOARDS = 2,	// Billboards
	ASURA_PSP_BOTANICALS_IMPOSTER = 3		// Defining this symbol just in case, no plans for supporting impostors on PSP yet
};

#endif //  #ifndef __ASURA_PSP_BOTANICALS_SHARED_H__
#endif // #ifdef ASURA_USE_BOTANICALS
