--[[ 
Camera.lua - this file contains all the tweakable parameters for cameras in Evil Dead 3.  Since this is a lua file, the order doesn't matter.
Comments begin with '--', and multi-line comments begin with '--[[' and end with ']]', obviously nestable.
]]

-- These are the default parameters.
DEFAULT = 
{
	eCTP_ViewX							= 0.7;	-- view window X
	eCTP_ViewY							= 0.525;	-- view window Y     (X view window) / (4/3) <;---aspect ratio
	eCTP_ViewOffsetX					= 0;		-- view offset X
	eCTP_ViewOffsetY					= 0;		-- view offset Y
	eCTP_NearClip						= 0.5;	-- near clip
	eCTP_FarClip						= 65.0;	-- far clip

	eCTP_FogDistance					= 100.0;	-- fog distance (equal to far clip to disable)

	eCTP_CamRigDamping				= 0.2;	-- camera constraint damping (.9 breaks this)
	eCTP_CamRigStrength				= 3;		-- camera constraint strength (1.5 starting value)
	eCTP_CamRigDisabled				= 0;		-- camera constraint disabled (1 turns off springy-ness)

	eCTP_CamBoomOffsetY				= 1.45;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_CamBoomCollideEnable		= 1;		-- camera boom collision enabled

	eCTP_CollisionTurnCheck			= 0.3;	-- collision turn check (the angle off of the boom to check for pending collisions)
	eCTP_CollisionTurnRate			= 0.05;	-- collision turn rate (the angle to turn to avoid pending collisions)
	eCTP_CamCollideSphereRadius	= 0.35;	-- camera collision sphere radius

	eCTP_CamBoomMinLength			= 1.0;	-- camera boom length minimum when colliding (length before attempting to wall climb)
	eCTP_CamBoomPitch					= 1.4;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomPitchAdjust			= 1;		-- boom pitch adjust on/off
	eCTP_CamBoomPitchMin				= 0.3;	-- boom pitch min
	eCTP_CamBoomPitchMax				= 1.95;	-- boom pitch max
	eCTP_CamBoomPitchSpeed			= 1.2;	-- boom pitch speed
	eCTP_CamBoomLength				= 5.0;	-- boom length default 
	eCTP_CamBoomHeading				= 3.14;	-- boom heading default (Angle of camera at reset, PI is behind Ash)
	eCTP_CamBoomHeadingSpeed		= 2.4;	-- boom rotation speed

	eCTP_WVaneOnMoveOnly				= 1;		-- weathervane only on target moving (1=true, 0=false)
	eCTP_WVaneBlendFactor			= 0.4;	-- weathervane blend factor (0 = all target facing angle, 1.0 = all target speed, 0.5 = split evenly between them)
	eCTP_WVaneMinFacingAngle		= 175;	-- weathervane min facing angle (Smaller makes weathervaning not kick in when running at cam)
	eCTP_WVaneMaxFacingAngle		= 100;	-- weathervane max facing angle
	eCTP_WVaneEndFacingAngle		= 15;		-- weathervade end facing angle (where weathervaning tapers off behind the target)
	eCTP_WVaneMinTargetSpeed		= 1.0;	-- weathervane min target speed (speed at which max weathervaning occurs)
	eCTP_WVaneMaxTargetSpeed		= 5.0;	-- weathervane max target speed (speed at which min weathervaning occurs)
	eCTP_WVaneMinSpeed				= 0.0;	-- min weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_WVaneMaxSpeed				= 1.3;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_WVaneClamp					= 0.0;	-- weathervane clamp tolerance
	eCTP_PitchAdjustSpeed			= 50.0;	-- vertical weathervane speed

	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement

	eCTP_FocalRigDamping				= 0.2;	-- focal constraint damping
	eCTP_FocalRigStrength			= 3.0;	-- focal constraint strength
	eCTP_FocalRigDisabled			= 0;		-- focal constraint disabled (1 turns off springy-ness)

	eCTP_FocalLeadDistance			= 0.2;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.75;	-- focal point raised length 

	eCTP_TargetLockToleranceSticky		= 8.0;	-- Target lock view cone angle (camera moves to within this angle of straight at the target)
	eCTP_TargetLockToleranceZoneSticky	= 181.0;	-- Target lock snap-to angle (camera will move to look straight at target if beyond this angle)
	eCTP_TargetLockToleranceManual		= 5.0;	-- Target lock view cone angle (camera moves to within this angle of straight at the target)
	eCTP_TargetLockToleranceZoneManual	= 181.0;	-- Target lock snap-to angle (camera will move to look straight at target if beyond this angle)

	eCTP_AutoMoveTimeout				= 0.0;	-- seconds to wait after user input to resume auto-pitch & weathervaning
	eCTP_AutoMoveWaitForPlayer		= 1;		-- wait for player movement before starting timout. (0/1)
	
	eCTP_JumpScale 					= 0.0;	-- The percent (0.0 - 1.0) of the jump height to track.
	eCTP_MaxYDiscrepency				= 1.45;	-- Keeps Ash in frame when falling off high objects.

}

-- These are the parameters used when controlling Sam instead of Ash.
sam =
{
	eCTP_ViewX							= 1.2;	-- view window X
	eCTP_ViewY							= 0.9;	-- view window Y     (X view window) / (4/3) <;---aspect ratio
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.3;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 2.4;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.0;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.45;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.40;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
	eCTP_CamCollideSphereRadius	= 0.5;	-- camera collision sphere radius
}

-- These are the parameters used during a spirit_run
spirit_run = 
{
	eCTP_WVaneMaxSpeed				= 1.3;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.2;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 6.2;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.2;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.4;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}


-- These are the parameters when the player dies
death =
{
	eCTP_CamBoomPitch					= 0.9;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 3.5;	-- boom length default 
	eCTP_FocalLeadDistance			= 1.0;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 0.25;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.10;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.05;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= -0.05;	-- automatic vertical boom movement
	eCTP_CamBoomPitchMin				= 0.9;	-- boom pitch min
	eCTP_CamBoomPitchMax				= 1.5;	-- boom pitch max

}


-- These are the parameters used in outdoor or wide open spaces.
outdoor = 
{
	eCTP_WVaneMaxSpeed				= 1.4;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.3;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 5.0;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.2;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.75;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.45;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}


-- These are the parameters used in tight or indoor spaces.
indoor =
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.4;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 4.1;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- These are the parameters used during finishing moves.
finishing =
{
	eCTP_CamBoomLength				= 2.5;	-- boom length default 
	eCTP_CamBoomPitchMin				= 1.5;	-- boom pitch min
	eCTP_CamBoomPitchMax				= 1.5;	-- boom pitch max
	eCTP_FocalLeadDistance			= 0.0;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 0.75;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.3;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_CamBoomHeading				= 1.52;	-- boom heading default (Angle of camera at reset, PI is behind Ash)
	eCTP_ControllerOverrideX 		= 0.8;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- These are the parameters used during finishing moves.
wire =
{
	eCTP_ViewX							= 1.2;	-- view window X
	eCTP_ViewY							= 0.9;	-- view window Y     (X view window) / (4/3) <;---aspect ratio
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.3;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 2.4;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.0;	-- focal lead distance
	eCTP_FocalRaisedDistance		= -0.513;-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.40;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- These are the parameters used during Ride Deadite
ride =
{
	eCTP_NearClip						= 0.5;	-- near clip
	
	eCTP_CamBoomMinLength			= 0.0;	-- camera boom length minimum when colliding (length before attempting to wall climb)
	eCTP_CamBoomPitch				= 0.9;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomPitchAdjust			= 1;		-- boom pitch adjust on/off
	eCTP_CamBoomPitchMin				= 0.3;	-- boom pitch min
	eCTP_CamBoomPitchMax				= 1.95;	-- boom pitch max
	eCTP_CamBoomPitchSpeed			= 1.2;	-- boom pitch speed
	eCTP_CamBoomLength				= 4.0;	-- boom length default 
	eCTP_CamBoomHeading				= 3.14;	-- boom heading default (Angle of camera at reset, PI is behind Ash)
	eCTP_CamBoomHeadingSpeed		= 0;	-- boom rotation speed

	eCTP_CamBoomOffsetY				= 2.45;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_CamBoomCollideEnable		= 1;		-- camera boom collision enabled

	eCTP_WVaneOnMoveOnly				= 0;		-- weathervane only on target moving (1=true, 0=false)
	eCTP_WVaneBlendFactor			= 0.0;	-- weathervane blend factor (0 = all target facing angle, 1.0 = all target speed, 0.5 = split evenly between them)
	eCTP_WVaneMinFacingAngle		= 180;	-- weathervane min facing angle (Smaller makes weathervaning not kick in when running at cam)
	eCTP_WVaneMaxFacingAngle		= 10;	-- weathervane max facing angle
	eCTP_WVaneEndFacingAngle		= 10;		-- weathervade end facing angle (where weathervaning tapers off behind the target)
	eCTP_WVaneMinTargetSpeed		= 1.0;	-- weathervane min target speed (speed at which max weathervaning occurs)
	eCTP_WVaneMaxTargetSpeed		= 5.0;	-- weathervane max target speed (speed at which min weathervaning occurs)
	eCTP_WVaneMinSpeed				= 0.0;	-- min weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_WVaneMaxSpeed				= 4;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_WVaneClamp					= 0.0;	-- weathervane clamp tolerance
	eCTP_PitchAdjustSpeed			= 50.0;	-- vertical weathervane speed
	
	eCTP_FocalRigDamping				= 0.2;	-- focal constraint damping
	eCTP_FocalRigStrength			= 3.0;	-- focal constraint strength
	eCTP_FocalRigDisabled			= 0;		-- focal constraint disabled (1 turns off springy-ness)

	eCTP_FocalLeadDistance			= 2.2;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 2.5;	-- focal point raised length 

}

-- Evil Cam 10mm (121 AOV)
evil =
{
	eCTP_NearClip					= 0.5;		-- near clip
	eCTP_ViewX						= 1.778;		-- view window X	 bigger # is wider angle
	eCTP_ViewY						= 1.3335;	-- view window Y (X view window) / (4/3) <;---aspect ratio  x *.75 or x/1.3333333333
}

-- Not So Evil Cam 25mm (71.51 AOV)
Twentyfive =
{
	eCTP_NearClip					= 0.5;		-- near clip
	eCTP_ViewX						= 0.7112;	-- view window X	 bigger # is wider angle
	eCTP_ViewY						= 0.5334;	-- view window Y (X view window) / (4/3) <;---aspect ratio  x *.75 or x/1.3333333333
}

-- Not So Evil Cam 2 20mm (83.97 AOV)
Twenty =
{
	eCTP_NearClip					= 0.5;		-- near clip
	eCTP_ViewX						= 0.889;		-- view window X	 bigger # is wider angle
	eCTP_ViewY						= 0.66675;	-- view window Y (X view window) / (4/3) <;---aspect ratio  x *.75 or x/1.3333333333
}

-- Cinema camera used for in-game cinematics 40mm (48 AOV)
cinema =
{
	eCTP_NearClip   				= 0.5;		-- near clip
	eCTP_ViewX						= 0.4445;	-- view window X	 bigger # is wider angle
	eCTP_ViewY						= 0.333375;	-- view window Y (X view window) / (4/3) <;---aspect ratio  x *.75 or x/1.3333333333
}

-- These are the parameters used in the Papa Jaws boss battle
papajaws = 
{
	eCTP_CamBoomPitch					= 1.0;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 8.0;	-- boom length default 
}

-- These are the parameters used in outdoor or wide open spaces.
necroqueen = 
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.5;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 5.5;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- This is a special cam for Sam's Hand over hand. It has a lower focal point.
samhoh =
{
 eCTP_ViewX       = 1.2; -- view window X
 eCTP_ViewY       = 0.9; -- view window Y     (X view window) / (4/3) <;---aspect ratio
 eCTP_WVaneMaxSpeed    = 1.6; -- max weathervaning speed (actual rotation speed of the weathervaning)
 eCTP_CamBoomPitch     = 1.3; -- boom pitch default (less moves the camera up) 
 eCTP_CamBoomLength    = 2.4; -- boom length default 
 eCTP_FocalLeadDistance   = 0.0; -- focal lead distance
 eCTP_FocalRaisedDistance  = 0.0; -- focal point raised length 
 eCTP_CamBoomOffsetY    = 1.40; -- camera boom start offset along Y axis (0=use tracked object's exact position) 
 eCTP_ControllerOverrideX   = 0.0; -- automatic horizontal boom movement
 eCTP_ControllerOverrideY   = 0.0; -- automatic vertical boom movement
}

-- Not quite as low as the low cam.
midcam = 
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch					= 1.5;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 4;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}
-- Use this cam when you want the camera to look higher than Ash.
lowcam = 
{
 eCTP_WVaneMaxSpeed    = 1.6; -- max weathervaning speed (actual rotation speed of the weathervaning)
 eCTP_CamBoomPitch    = 1.6; -- boom pitch default (less moves the camera up) 
 eCTP_CamBoomLength    = 5; -- boom length default 
 eCTP_FocalLeadDistance   = 0.25; -- focal lead distance
 eCTP_FocalRaisedDistance  = 1.6; -- focal point raised length 
 eCTP_CamBoomOffsetY    = 1.6; -- camera boom start offset along Y axis (0=use tracked object's exact position) 
 eCTP_ControllerOverrideX   = 0.0; -- automatic horizontal boom movement
 eCTP_ControllerOverrideY   = 0.0; -- automatic vertical boom movement
}

-- A crane cam designed to show flanking enemies.
highcam = 
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch				= 1.2;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 6;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- Gets closer to ash, and expands the FOV. Good for long or tight hallways.
nearcam = 
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch				= 1.4;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 3.0;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}

-- Use this cam when you want to look down.
downcam = 
{
 eCTP_WVaneMaxSpeed    = 1.6; -- max weathervaning speed (actual rotation speed of the weathervaning)
 eCTP_CamBoomPitch    = 1.0; -- boom pitch default (less moves the camera up) 
 eCTP_CamBoomLength    = 5; -- boom length default 
 eCTP_FocalLeadDistance   = 0.25; -- focal lead distance
 eCTP_FocalRaisedDistance  = 1.6; -- focal point raised length 
 eCTP_CamBoomOffsetY    = 1.6; -- camera boom start offset along Y axis (0=use tracked object's exact position) 
 eCTP_ControllerOverrideX   = 0.0; -- automatic horizontal boom movement
 eCTP_ControllerOverrideY   = 0.0; -- automatic vertical boom movement
}

-- Like indoor, but closer. Very tight on Ash, and high enough to see what's in front of you.
nearcam2 =
{
	eCTP_WVaneMaxSpeed				= 1.6;	-- max weathervaning speed (actual rotation speed of the weathervaning)
	eCTP_CamBoomPitch				= 1.4;	-- boom pitch default (less moves the camera up) 
	eCTP_CamBoomLength				= 3.5;	-- boom length default 
	eCTP_FocalLeadDistance			= 0.25;	-- focal lead distance
	eCTP_FocalRaisedDistance		= 1.65;	-- focal point raised length 
	eCTP_CamBoomOffsetY				= 1.6;	-- camera boom start offset along Y axis (0=use tracked object's exact position) 
	eCTP_ControllerOverrideX 		= 0.0;	-- automatic horizontal boom movement
	eCTP_ControllerOverrideY 		= 0.0;	-- automatic vertical boom movement
}