PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
DayZPlayerCamera_Base.c File Reference

Enumerations

enum  NVTypes {
  NONE = 0 , NV_GOGGLES , NV_GOGGLES_OFF , NV_OPTICS_ON ,
  NV_OPTICS_OFF , NV_PUMPKIN , NV_OPTICS_KAZUAR_DAY , NV_OPTICS_KAZUAR_NIGHT ,
  NV_OPTICS_STARLIGHT_DAY , NV_OPTICS_STARLIGHT_NIGHT , MAX
}
 

Functions

float Limit (float pV, float pMin, float pMax)
 limit function
 
float fixAngle_PI_PI (float pAngle)
 
float fixAngle_180_180 (float pAngle)
 
void DayZPlayerCameraBase (DayZPlayer pPlayer, HumanInputController pInput)
 constructor must be same
 
void HandleShoulderCameraOverride (HumanInputController pInput)
 
void ProcessCameraShake (float delta, out float leftRight, out float upDown)
 
void Init ()
 Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside of a non-static system)
 
float UpdateUDAngleUnlocked (out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
 
float UpdateLRAngleUnlocked (out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
 
float UpdateUDAngle (out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
 
float UpdateLRAngle (float pAngle, float pMin, float pMax, float pDt)
 
void StdFovUpdate (float pDt, out DayZPlayerCameraResult pOutResult)
 
override void SpawnCameraShakeProper (float strength, float radius, float smoothness, float radius_decay_speed)
 
override void OnUpdate (float pDt, out DayZPlayerCameraResult pOutResult)
 
override void OnActivate (DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
 
float GetWeaponSwayModifier ()
 
override string GetCameraName ()
 
void SetCameraPPDelay (DayZPlayerCamera pPrevCamera)
 
void SetCameraNV (bool nightvision)
 
bool IsCameraNV ()
 
void SetCameraNVType (int type)
 
int GetCameraNVType ()
 
void UpdateCameraNV (PlayerBase player)
 
void SetCameraPP (bool state, DayZPlayerCamera launchedFrom)
 by default sets camera PP to zero, regardless of parameter. Override if needed.
 
override float GetCurrentYaw ()
 
override float GetCurrentPitch ()
 
override float GetCurrentRoll ()
 
void ForceFreelook (bool state)
 
void SetNVPostprocess (int NVtype)
 DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::GetCameraNVType.
 
void InitCameraOnPlayer (bool force=false)
 

Variables

enum NVTypes CONST_NEARPLANE_OPTICS_MIN = 0.04
 
protected Weapon_Base m_weaponUsed
 
protected ItemOptics m_opticsUsed
 
protected ref CameraShake m_CameraShake
 
protected float m_fLRAngleVel [1]
 
protected float m_fUDAngleVel [1]
 
protected float m_fFovAbsVel [1]
 
protected float m_fFovAbsolute
 
protected bool m_bForceFreeLook
 
protected float m_WeaponSwayModifier
 
protected float m_CameraPPDelay
 
protected float m_CurrentCameraYaw
 
protected float m_CurrentCameraPitch
 
protected float m_CurrentCameraRoll
 
protected HumanCommandWeapons m_CommandWeapons
 
protected bool m_IsNightvision
 
protected int m_NightvisionType
 

Enumeration Type Documentation

◆ NVTypes

enum NVTypes
Enumerator
NONE 
NV_GOGGLES 
NV_GOGGLES_OFF 
NV_OPTICS_ON 
NV_OPTICS_OFF 
NV_PUMPKIN 
NV_OPTICS_KAZUAR_DAY 
NV_OPTICS_KAZUAR_NIGHT 
NV_OPTICS_STARLIGHT_DAY 
NV_OPTICS_STARLIGHT_NIGHT 
MAX 

Function Documentation

◆ DayZPlayerCameraBase()

◆ fixAngle_180_180()

float fixAngle_180_180 ( float  pAngle)

◆ fixAngle_PI_PI()

float fixAngle_PI_PI ( float  pAngle)

References Math::PI, and Math::PI2.

◆ ForceFreelook()

void ForceFreelook ( bool  state)

References m_bForceFreeLook.

◆ GetCameraName()

override string GetCameraName ( )

◆ GetCameraNVType()

int GetCameraNVType ( )

◆ GetCurrentPitch()

override float GetCurrentPitch ( )

References m_CurrentCameraPitch.

◆ GetCurrentRoll()

override float GetCurrentRoll ( )

References m_CurrentCameraRoll.

◆ GetCurrentYaw()

override float GetCurrentYaw ( )

References m_CurrentCameraYaw.

◆ GetWeaponSwayModifier()

float GetWeaponSwayModifier ( )

References m_WeaponSwayModifier.

◆ HandleShoulderCameraOverride()

void HandleShoulderCameraOverride ( HumanInputController  pInput)

◆ Init()

void Init ( )

Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside of a non-static system)

pre-init arrays

References IsCameraNV(), m_pPlayer, SetCameraNV(), and SetCameraNVType().

◆ InitCameraOnPlayer()

void InitCameraOnPlayer ( bool  force = false)

◆ IsCameraNV()

◆ Limit()

float Limit ( float  pV,
float  pMin,
float  pMax 
)

limit function

◆ OnActivate()

◆ OnUpdate()

override void OnUpdate ( float  pDt,
out DayZPlayerCameraResult  pOutResult 
)

◆ ProcessCameraShake()

void ProcessCameraShake ( float  delta,
out float  leftRight,
out float  upDown 
)

◆ SetCameraNV()

void SetCameraNV ( bool  nightvision)

References m_IsNightvision.

Referenced by Init(), SetCameraPP(), and UpdateCameraNV().

◆ SetCameraNVType()

void SetCameraNVType ( int  type)

References m_NightvisionType.

Referenced by Init(), and UpdateCameraNV().

◆ SetCameraPP()

void SetCameraPP ( bool  state,
DayZPlayerCamera  launchedFrom 
)

by default sets camera PP to zero, regardless of parameter. Override if needed.

References GetCameraNVType(), IsCameraNV(), m_pPlayer, m_weaponUsed, and SetNVPostprocess().

◆ SetCameraPPDelay()

void SetCameraPPDelay ( DayZPlayerCamera  pPrevCamera)

◆ SetNVPostprocess()

void SetNVPostprocess ( int  NVtype)

DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::GetCameraNVType.

References GameplayEffectWidgets_base::AddActiveEffects(), Mission::GetEffectWidgets(), GetGame(), CGame::GetMission(), m_pPlayer, and GameplayEffectWidgets_base::RemoveActiveEffects().

Referenced by SetCameraPP(), and DayZPlayerCameraBase::SetCameraPP().

◆ SpawnCameraShakeProper()

override void SpawnCameraShakeProper ( float  strength,
float  radius,
float  smoothness,
float  radius_decay_speed 
)

References m_CameraShake.

Referenced by SpawnCameraShake(), and SpawnDiagCameraShake().

◆ StdFovUpdate()

void StdFovUpdate ( float  pDt,
out DayZPlayerCameraResult  pOutResult 
)

change abs FOV for naked eye zoom

switch shooting from camera to weapon (firearms)

References GetDayZGame(), DayZPlayer::GetEyeZoomLevel(), DayZPlayer::IsShootingFromCamera(), m_fFovAbsolute, m_fFovAbsVel, m_pPlayer, and Math::SmoothCD().

Referenced by DayZPlayerCameraBase::OnUpdate(), and OnUpdate().

◆ UpdateCameraNV()

◆ UpdateLRAngle()

◆ UpdateLRAngleUnlocked()

◆ UpdateUDAngle()

float UpdateUDAngle ( out float  pAngle,
out float  pAngleAdd,
float  pMin,
float  pMax,
float  pDt 
)

pAngle + pAngleAdd == aimingUDAngle + aimingUDAdd now we set pAngleAdd to be the differenc from aimingAngle and we change camera angle to be the aiming angle

lr angle

update it in degrees

References Math::AbsFloat(), HumanInputController::CameraIsFreeLook(), HumanInputController::CameraIsTracking(), HumanInputController::GetAimChange(), HumanCommandWeapons::GetBaseAimingAngleUD(), HumanInputController::GetTracking(), Limit, m_CommandWeapons, m_fUDAngleVel, m_pInput, Math::RAD2DEG, and Math::SmoothCD().

◆ UpdateUDAngleUnlocked()

Variable Documentation

◆ CONST_NEARPLANE_OPTICS_MIN

enum NVTypes CONST_NEARPLANE_OPTICS_MIN = 0.04

◆ m_bForceFreeLook

protected bool m_bForceFreeLook

◆ m_CameraPPDelay

◆ m_CameraShake

◆ m_CommandWeapons

protected HumanCommandWeapons m_CommandWeapons

◆ m_CurrentCameraPitch

protected float m_CurrentCameraPitch

◆ m_CurrentCameraRoll

protected float m_CurrentCameraRoll

◆ m_CurrentCameraYaw

protected float m_CurrentCameraYaw

◆ m_fFovAbsolute

protected float m_fFovAbsolute

◆ m_fFovAbsVel

◆ m_fLRAngleVel

◆ m_fUDAngleVel

◆ m_IsNightvision

protected bool m_IsNightvision

Referenced by IsCameraNV(), and SetCameraNV().

◆ m_NightvisionType

protected int m_NightvisionType

Referenced by GetCameraNVType(), and SetCameraNVType().

◆ m_opticsUsed

◆ m_WeaponSwayModifier

◆ m_weaponUsed