
///////////////////////////////////////////////////////////////////////////////
//
// File   : AVP_Predalien_Description.cpp
// Author : Andy Tate
// Date   : 12-Feb-2007
//
// Copyright (C) 2007 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Include files...
////////////////////////////////////////////////////////////////////////////////

#include "Core/Asura.h"

// This file's header...
#include "Actor/Vertebrates/Predalien/AVP_Predalien_Description.h"

// Asura independent header-files...
#ifdef ASURA_TOOLS
	#include "Blueprint/Tools_Mode_Blueprint.h"
#endif
// Asura platform header-files...

// Game independent header-files...
#include "Blueprint/AVP_Blueprint_HashIDs.h"
#include "Rendering/Asura_Project_Skin_Elements.h"

// Game platform header-files...

// Tools header-files...
#if defined(ASURA_TOOLS)
	#include "Particles/Tools_Mode_PFX.h"
#endif	// defined(ASURA_TOOLS)

////////////////////////////////////////////////////////////////////////////////
// Constant declarations...
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
// Static variable declarations...
////////////////////////////////////////////////////////////////////////////////

// Marker-point hash-IDs...
const Asura_Hash_ID AVP_Predalien_Description::s_auMarkerPointHashIDs[NUM_MARKER_POINT_IDS] =
{
	0x002FBC62, //Asura_GetHashID("eyes"),				//EYES_MARKER_POINT_HASH,
	0xE5A85D03, //Asura_GetHashID("target_1"),			//TARGET_MARKER_POINT_HASH,
};

const int AVP_Predalien_Description::s_aiThirdPersonFootBoneID[ AVP_ClientEntity_Actor::MAX_NUM_FEET ] = 
{
	BIP01_L_FOOT,
	BIP01_R_FOOT,
	-1,
	-1
};

const int AVP_Predalien_Description::s_aiThirdPersonLeftLegChainBonesArray[ uAVP_PREDALIEN_NUM_IK_BONES_PER_LIMB + 1 ] =
{
	BIP01_L_THIGH,
	BIP01_L_CALF,
	BIP01_L_FOOT,
	-1
};

const int AVP_Predalien_Description::s_aiThirdPersonRightLegChainBonesArray[ uAVP_PREDALIEN_NUM_IK_BONES_PER_LIMB + 1 ] =
{
	BIP01_R_THIGH,
	BIP01_R_CALF,
	BIP01_R_FOOT,
	-1
};

const int AVP_Predalien_Description::s_aiTailChainBonesArray[ uAVP_PREDALIEN_NUM_IK_BONES_PER_TAIL + 1  ] = 
{
	BIP01_TAIL,
	BIP01_TAIL1,
	BIP01_TAIL2,
	BIP01_TAIL3,
	BIP01_TAIL4,
	BIP01_TAIL5,
	BIP01_TAIL6,
	BIP01_TAIL7,
	BIP01_TAIL8,
	BIP01_TAIL9,
	BIP01_TAIL10,
	BIP01_TAIL11,
	-1
};

const int* AVP_Predalien_Description::s_apiThirdPersonChainsArray[ NUM_IK_CHAINS ] =
{
	s_aiThirdPersonLeftLegChainBonesArray,
	s_aiThirdPersonRightLegChainBonesArray,
	s_aiTailChainBonesArray
};


////////////////////////////////////////////////////////////////////////////////
// Private functions...
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
// Protected functions...
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
// Public functions...
////////////////////////////////////////////////////////////////////////////////

#if defined(ASURA_TOOLS)

////////////////////////////////////////////////////////////////////////////////
// Function     : AVP_Predalien_Description::AddFilesToExport
// Author       : Adam Law
// Date         : 21-Mar-2007
////////////////////////////////////////////////////////////////////////////////

void AVP_Predalien_Description::AddFilesToExport(const bool bFirstPerson,
												const Asura_Hash_ID uBlueprintHash,
												List<Asura_String>& xNameList)
{
	if(uBlueprintHash != ASURA_HASH_ID_UNSET)
	{
		Tools_Mode_Blueprint::AddBlueprintFilesToExportList(xNameList, uAVP_BLUEPRINT_TYPE_ACTORS, uBlueprintHash, false);
	}

	// Also add everything of type "Grapple Alien". This has first and third person anims, so do it regardless of skin type.
	Tools_Mode_Blueprint::AddBlueprintFilesToExportList(xNameList, uAVP_BLUEPRINT_TYPE_GRAPPLEALIEN, ASURA_HASH_ID_UNSET, true);
}

#endif	// defined(ASURA_TOOLS)


/// End of file. ///
