//////////////////////////////////////////////////////////////////////////////
//
// Asura_FlyCam.cpp
//
// Copyright (c) 2006 Rebellion. All rights reserved.
//
// Description:
//
//     Basic camera controlled by analogue sticks or buttons. Intended only
//     for debugging and prototyping purposes. 
//
//////////////////////////////////////////////////////////////////////////////

// I N C L U D E S ///////////////////////////////////////////////////////////

#include "Core/Asura.h"

#ifdef ASURA_SUPPORT_FLYCAM

// This file's header.
#include "Camera/Asura_FlyCam.h"

// Asura includes
#include "Camera/Asura_Camera.h"
#include "Core/Asura_Timers.h"
#include "Input/Asura_PlatformInput.h"


////////////////////////////////////////////////////////////////////////////////
// Function     : Asura_FlyCam::Platform_Initialise
// Author       : Andy Tate
// Date         : 1-Oct-2007
////////////////////////////////////////////////////////////////////////////////

void Asura_FlyCam::Platform_Initialise(void)
{
	AddMoveForwardsBackwardsMapping(ASURA_XBOX360_AXISID_PAD1_LSTICK_V);
	AddMoveForwardsBackwardsMapping(ASURA_XBOX360_KEYID_PAD1_UP, ASURA_XBOX360_KEYID_PAD1_DOWN);
	AddMoveLeftRightMapping(ASURA_XBOX360_AXISID_PAD1_LSTICK_H);
	AddMoveLeftRightMapping(ASURA_XBOX360_KEYID_PAD1_LEFT, ASURA_XBOX360_KEYID_PAD1_RIGHT);
	AddMoveUpDownMapping(ASURA_XBOX360_KEYID_PAD1_Y, ASURA_XBOX360_KEYID_PAD1_A);

	AddRollMapping(ASURA_XBOX360_KEYID_PAD1_X, ASURA_XBOX360_KEYID_PAD1_B);
	AddPitchMapping(ASURA_XBOX360_AXISID_PAD1_RSTICK_V);
	AddYawMapping(ASURA_XBOX360_AXISID_PAD1_RSTICK_H);

	AddFastMapping(ASURA_XBOX360_KEYID_PAD1_L_BUMPER,ASURA_XBOX360_KEYID_PAD1_R_BUMPER);
	AddSlowMapping(ASURA_XBOX360_KEYID_PAD1_L_TRIGGER);
	AddSlowMapping(ASURA_XBOX360_KEYID_PAD1_R_TRIGGER);

	AddInvertYMapping(ASURA_XBOX360_KEYID_PAD1_BACK);

	AddResetRollMapping(ASURA_XBOX360_KEYID_PAD1_L_THUMB);
	AddResetRollMapping(ASURA_XBOX360_KEYID_PAD1_R_THUMB);
}

/// End of function 'Asura_FlyCam::Platform_Initialise'. ///



////////////////////////////////////////////////////////////////////////////////
// Function     : Asura_FlyCam::Platform_Shutdown
// Author       : Andy Tate
// Date         : 1-Oct-2007
////////////////////////////////////////////////////////////////////////////////

void Asura_FlyCam::Platform_Shutdown(void)
{
}

/// End of function 'Asura_FlyCam::Platform_Shutdown'. ///

#endif // #ifdef ASURA_SUPPORT_FLYCAM


/// End of file. ///
