/*********************************************
**	Camera Instanzen				**
*********************************************/

/* Standard Camera loaded at beginning */
// minRange besser nicht unter 1.5


INSTANCE CamModRun(CCamSys_Def)
{
	bestRange 			= 2.0 ; 
	minRange  			= 1.9 ; 
	maxRange  			= 2.1 ; 
	bestElevation		= 30.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	bestAzimuth			= 0.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 15.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 1.0;  
	indolenceTrans			= 0.00;    
};


/* Tombraider Style - Azimuth Grenzen 0/0/0 - Rotations-Stop-Geschw. langsam, Offset X -15 Grad */

INSTANCE CamModNormal(CCamSys_Def)
{
	bestRange 			= 2.0 ; 
	minRange  			= 1.9 ; 
	maxRange  			= 2.1 ; 
	bestElevation		= 25.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	timePosChange		= 4;  
	bestAzimuth			= 0.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 15.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 1.0;  
};


INSTANCE CamModDialog(CCamSys_Def)
{
	bestRange 			= 3.0 ;
	minRange  			= 2.5 ;
	maxRange  			= 3.5 ;
	bestElevation		= 10.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0;
	bestAzimuth			= 45.0;
	minAzimuth			= -45.0;  
	maxAzimuth			= 45.0;   
	rotOffsetX			= 0.0;
	rotOffsetY			= -20.0;
	warpTime			= 0.5;
	maxErrorRotY		= 0.0;
	maxErrorRange		= 1.0;
	allowEvasionSearch	= 1;
	bestAziMode			= BESTAZI_MODE_DELAY;
	bestAziDelay		= 2.0;
	aiType		    	= AI_TYPE_DIALOG ;
};


INSTANCE CamModInventory(CCamSys_Def)
{
	bestRange 			= 2.0 ;
	minRange  			= 1.5 ;
	maxRange  			= 2.5 ;
	bestElevation		= 10.0 ;
	minElevation		= 10.0;
	maxElevation		= 90.0;
	bestAzimuth			= 180.0;
	minAzimuth			= 180.0;
	maxAzimuth			= 180.0;
	rotOffsetX			= 5.0;
	rotOffsetY			= 0.0;
	warpTime			= 1.0;
	seekPlayerPOI		= 0;
	allowEvasionSearch	= 1;
};


INSTANCE CamModMelee(CCamSys_Def)
{
	bestRange 			= 3.0 ;
	minRange  			= 1.5 ;
	maxRange  			= 6.0 ;
	bestElevation		= 10.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	bestAzimuth			= 0.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 0.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 0.8;
	maxErrorRotY		= 0.0;
	allowEvasionSearch	= 1;
	translate			= 0;    // translate to target, 1: on, 0: off
	rotate				= 0;    // rotate around target, 1: on, 0:off
	aiType		    	= AI_TYPE_MELEE;    // 0: Any suitable, 1:Switches, 2:Straight rays, 3: Rotation & Range, 4: Splines, 5: AI1, 6:AI2 etc.
};

INSTANCE CamModMeleeMult(CCamSys_Def)
{
	bestRange 			= 6.0 ;
	minRange  			= 2.5 ;
	maxRange  			= 10.0 ;
	bestElevation		= 15.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	bestAzimuth			= 0.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 0.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 0.8;
	maxErrorRotY		= 0.0;
	allowEvasionSearch	= 1;
	translate			= 0;    // translate to target, 1: on, 0: off
	rotate				= 0;    // rotate around target, 1: on, 0:off
	aiType		    	= AI_TYPE_MELEE;    // 0: Any suitable, 1:Switches, 2:Straight rays, 3: Rotation & Range, 4: Splines, 5: AI1, 6:AI2 etc.
};


INSTANCE CamModRanged(CCamSys_Def)
{
	bestRange 			= 3.5 ; 
	minRange  			= 2.0 ; 
	maxRange  			= 4.5 ; 
	bestElevation		= 45.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	bestAzimuth			= 30.0;  
	minAzimuth			= -30.0;
	maxAzimuth			= 30.0; 
	rotOffsetX			= 20.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 1.0;  
	maxErrorRange		= 4.0;  
	allowEvasionSearch	= 1;
	aiType		    	= AI_TYPE_RANGED;    // 0: Any suitable, 1:Switches, 2:Straight rays, 3: Rotation & Range, 4: Splines, 5: AI1, 6:AI2 etc.
};


INSTANCE CamModMagic(CCamSys_Def)
{
	bestRange 			= 1.8 ;
	minRange  			= 1.6 ;
	maxRange  			= 2.0 ;
	bestElevation			= 20.0 ;
	minElevation			= 0.0;
	maxElevation			= 90.0;
	bestAzimuth			= 45.0;
	minAzimuth			= -45.0;	
	maxAzimuth			= 45.0;	
	rotOffsetX			= 0.0;
	rotOffsetY			= -30.0;
	timePosChange			= 3;
	warpTime			= 1.0;
	allowEvasionSearch		= 1;
};


INSTANCE CamModSwim(CCamSys_Def)
{
	bestRange 			= 3.0 ;
	minRange  			= 2.9 ;
	maxRange  			= 3.1 ;
	bestElevation		= 20.0 ;
	minElevation		= 10.0;
	maxElevation		= 45.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -45.0;
	maxAzimuth			= 45.0;
	rotOffsetX			= 15.0;
	rotOffsetY			= 0.0;
	timePosChange		= 2;
	warpTime			= 1.0;
	maxErrorRange		= 0.5;
	allowEvasionSearch	= 1;
	seekPlayerPOI		= 0;
};


INSTANCE CamModDive(CCamSys_Def)
{
	bestRange 			= 3.0 ;
	minRange  			= 3.0 ;
	maxRange  			= 3.0 ;
	bestElevation		= -20.0 ;
	minElevation		= -60.0;
	maxElevation		= -10.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -45.0;
	maxAzimuth			= 45.0;
	rotOffsetX			= -10.0;
	rotOffsetY			= 0.0;
	timePosChange		= 2;
	warpTime			= 1.0;
	maxErrorRange		= 0.5;
	allowEvasionSearch	= 1;
	seekPlayerPOI		= 0;
};


INSTANCE CamModJump(CCamSys_Def)
{
	bestRange 			= 2.0 ; 
	minRange  			= 1.5 ; 
	maxRange  			= 2.5 ; 
	bestElevation		= 35.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0; 
	bestAzimuth			= 0.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 20.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 1.0;  
	seekPlayerPOI		= 0;
};


INSTANCE CamModJumpUp(CCamSys_Def)
{
	bestRange 			= 2.0 ;
	minRange  			= 1.5 ;
	maxRange  			= 2.5 ;
	bestElevation		= -30.0 ;
	minElevation		= -90.0;
	maxElevation		= 0.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0;
	rotOffsetX			= 40.0;
	rotOffsetY			= 0.0;
	timePosChange		= 4;

	warpTime			= 0.3;
	maxErrorRange		= 0.5;
	seekPlayerPOI		= 0;
};


INSTANCE CamModClimb(CCamSys_Def)
{
	bestRange 			= 2.0 ;
	minRange  			= 1.5 ;
	maxRange  			= 2.5 ;
	bestElevation		= 30.0 ;
	minElevation		= -90.0;
	maxElevation		= 90.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0;
	rotOffsetX			= 15.0;
	rotOffsetY			= 0.0;
	timePosChange		= 2;
	warpTime			= 1.0;
	maxErrorRange		= 0.5;
	allowEvasionSearch	= 1;
};


INSTANCE CamModFall(CCamSys_Def)
{
	bestRange 			= 2.0 ;
	minRange  			= 1.5 ;
	maxRange  			= 2.5 ;
	bestElevation		= 60.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -30.0;
	maxAzimuth			= 30.0;
	rotOffsetX			= -10.0;
	rotOffsetY			= 0.0;
	timePosChange		= 3;
	warpTime			= 1.0;
	maxErrorRange		= 0.5;
	allowEvasionSearch	= 1;
	rotate				= 0;    // rotate around target, 1: on, 0:off
};


INSTANCE CamModDeath(CCamSys_Def)
{
	bestRange 			= 3.0 ;
	minRange  			= 2.0 ;
	maxRange  			= 6.0 ;
	bestElevation		= 80.0 ;
	minElevation		= 0.0;
	maxElevation		= 90.0;
	bestAzimuth			= 180.0;
	minAzimuth			= -89.0;
	maxAzimuth			= 89.0;
	rotOffsetX			= 0.0;
	rotOffsetY			= 0.0;
	timePosChange		= 1;
	warpTime			= 1.0;
	maxErrorRange		= 0.5;
	rotate				= 0;    // rotate around target, 1: on, 0:off
	seekPlayerPOI		= 0;
};


INSTANCE CamModFocus(CCamSys_Def)
{
	bestRange 			= 2.5 ; 
	minRange  			= 1.9 ; 
	maxRange  			= 3.5 ; 
	bestElevation			= 25.0 ;
	minElevation			= 0.0;
	maxElevation			= 90.0; 
	bestAzimuth			= 45.0;  
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 0.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 1.0;  
	maxErrorRange			= 4.0;  
	allowEvasionSearch		= 1;
	aiType		    		= AI_TYPE_MELEE;    // 0: Any suitable, 1:Switches, 2:Straight rays, 3: Rotation & Range, 4: Splines, 5: AI1, 6:AI2 etc.
};




// internal Cameras. Change at own risk

// Firstperson Camera
// bis auf die Trägheitsconstanten indolenceTrans & indolenceHead sind die Vars irrelevant
// vielleicht sind auch noch andere Parameter sinnvoll

INSTANCE FirstPerson(CCamSys_Def)
{
	bestRange 			= 2.0 ; 
	minRange  			= 1.5 ;
	maxRange  			= 2.5 ;
	bestElevation		= 0.0 ;
	minElevation		= -90.0;
	maxElevation		= 90.0;
	bestAzimuth			= 0.0;
	minAzimuth			= -45.0;
	maxAzimuth			= 45.0;
	rotOffsetX			= 60.0;
	rotOffsetY			= 0.0;
	warpTime			= 0.0;
	maxErrorRotX		= 50.0;
	maxErrorRotY		= 50.0;
	maxErrorRange		= 1.0;
	collision			= 0;	// disable collision for this mode (ideal pos must be near player)
};


INSTANCE CamModLook(CCamSys_Def)
{
	bestRange 			= 3.0 ; 
	minRange  			= 1.5 ; 
	maxRange  			= 4.5 ; 
	bestElevation		= 30.0 ;
	minElevation		= -55.0;
	maxElevation		= 80.0; 
	bestAzimuth			= 0.0;  
	timePosChange			= 6;  
	indolenceTrans			= 0.02;    
	minAzimuth			= -90.0;
	maxAzimuth			= 90.0; 
	rotOffsetX			= 0.0; 
	rotOffsetY			= 0.0;  
	warpTime			= 0.4;  
	maxErrorRotY		= 0.0;
	rotate				= 0;    // rotate around target, 1: on, 0:off
};


INSTANCE CamModRangedShort(CCamSys_Def)
{
	bestRange 			= 0.5 ;
	minRange  			= 0.4 ;
	maxRange  			= 1.2 ;
	bestElevation		= 60.0 ;
	minElevation		= 40.0;
	maxElevation		= 90.0;		// CHANGED
	bestAzimuth			= 34.0;
	minAzimuth			= 34.0;
	maxAzimuth			= 34.0;
	rotOffsetX			= 55.0;
	rotOffsetY			= -27.0;
	warpTime			= 1.0;
	collision			= 0;	// disable collision for this mode (ideal pos must be near player)
};

INSTANCE CamModShoulder(CCamSys_Def)
{
	bestRange 			= 0.75 ;
	minRange  			= 0.4 ;
	maxRange  			= 1.2 ;
	bestElevation		= 80.0 ;
	minElevation		= 40.0;
	maxElevation		= 90.0;		// CHANGED
	bestAzimuth			= 90.0;
	minAzimuth			= 0.0;
	maxAzimuth			= 0.0;
	rotOffsetX			= 50.0;
	rotOffsetY			= -90.0;
	warpTime			= 1.0;
	collision			= 1;	// disable collision for this mode (ideal pos must be near player)
};

