Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
dayzplayercamera1stperson.c
Go to the documentation of this file.
1
// *************************************************************************************
2
// ! DayZPlayerCamera1stPerson - 1st person camera
3
// *************************************************************************************
4
class
DayZPlayerCamera1stPerson
extends
DayZPlayerCameraBase
5
{
6
static
const
float
CONST_UD_MIN
= -85.0;
7
static
const
float
CONST_UD_MAX
= 85.0;
8
9
static
const
float
CONST_LR_MIN
= -160.0;
10
static
const
float
CONST_LR_MAX
= 160.0;
11
12
13
void
DayZPlayerCamera1stPerson
(
DayZPlayer
pPlayer,
HumanInputController
pInput)
14
{
15
m_iBoneIndex
= pPlayer.GetBoneIndexByName(
"Head"
);
16
if
(
m_iBoneIndex
== -1)
17
{
18
Print
(
"DayZPlayerCamera1stPerson: main bone not found"
);
19
}
20
21
m_OffsetLS
=
"0.04 0.04 0"
;
//x - up, y - forward
22
}
23
24
25
//
26
override
void
OnActivate
(
DayZPlayerCamera
pPrevCamera,
DayZPlayerCameraResult
pPrevCameraResult)
27
{
28
super.OnActivate(pPrevCamera, pPrevCameraResult);
29
30
if
(pPrevCamera)
31
{
32
vector
baseAngles = pPrevCamera.GetBaseAngles();
33
m_fUpDownAngle
= baseAngles[0];
34
m_fLeftRightAngle
= baseAngles[1];
35
36
vector
addAngles = pPrevCamera.GetAdditiveAngles();
37
m_fUpDownAngleAdd
= addAngles[0];
38
m_fLeftRightAngleAdd
= addAngles[1];
39
}
40
}
41
42
//
43
override
void
OnUpdate
(
float
pDt, out
DayZPlayerCameraResult
pOutResult)
44
{
46
m_CurrentCameraYaw
=
UpdateLRAngleUnlocked
(
m_fLeftRightAngle
,
m_fLeftRightAngleAdd
,
CONST_LR_MIN
,
CONST_LR_MAX
, pDt);
47
m_CurrentCameraPitch
=
UpdateUDAngleUnlocked
(
m_fUpDownAngle
,
m_fUpDownAngleAdd
,
CONST_UD_MIN
,
CONST_UD_MAX
, pDt);
48
50
Math3D
.
YawPitchRollMatrix
(
GetCurrentOrientation
(), pOutResult.m_CameraTM);
51
pOutResult.m_CameraTM[3] =
m_OffsetLS
;
52
53
pOutResult.m_iDirectBone =
m_iBoneIndex
;
54
pOutResult.m_iDirectBoneMode = 1;
55
pOutResult.m_fUseHeading = 1.0;
56
pOutResult.m_fInsideCamera = 1.0;
57
58
pOutResult.m_fNearPlane = 0.04;
//0.07 default
59
60
ProcessCameraShake
(pDt,
m_fLeftRightAngle
,
m_fUpDownAngleAdd
);
61
62
InitCameraOnPlayer
();
63
StdFovUpdate
(pDt, pOutResult);
64
UpdateCameraNV
(
PlayerBase
.Cast(
m_pPlayer
));
65
}
66
67
override
vector
GetBaseAngles
()
68
{
69
vector
a;
70
a[0] =
m_fUpDownAngle
;
71
a[1] =
m_fLeftRightAngle
;
72
a[2] = 0;
73
return
a;
74
}
75
76
override
vector
GetAdditiveAngles
()
77
{
78
vector
a;
79
a[0] =
m_fUpDownAngleAdd
;
80
a[1] =
m_fLeftRightAngleAdd
;
81
a[2] = 0;
82
return
a;
83
}
84
85
override
string
GetCameraName
()
86
{
87
return
"DayZPlayerCamera1stPerson"
;
88
}
89
90
protected
int
m_iBoneIndex
;
91
protected
vector
m_OffsetLS
;
92
93
protected
float
m_fUpDownAngle
;
94
protected
float
m_fUpDownAngleAdd
;
95
protected
float
m_fLeftRightAngle
;
96
protected
float
m_fLeftRightAngleAdd
;
97
}
98
99
// *************************************************************************************
100
// ! DayZPlayerCamera1stPersonUnconscious - first person only unconscious
101
// *************************************************************************************
102
class
DayZPlayerCamera1stPersonUnconscious
extends
DayZPlayerCamera1stPerson
103
{
104
void
DayZPlayerCamera1stPersonUnconscious
(
DayZPlayer
pPlayer,
HumanInputController
pInput)
105
{
106
m_iBoneIndex
= pPlayer.GetBoneIndexByName (
"Head"
);
107
}
108
109
override
void
OnUpdate
(
float
pDt, out
DayZPlayerCameraResult
pOutResult)
110
{
111
super.OnUpdate(pDt, pOutResult);
112
113
pOutResult.m_iDirectBone =
m_iBoneIndex
;
114
pOutResult.m_iDirectBoneMode = 4;
115
pOutResult.m_fUseHeading = 0.0;
116
117
vector
rot;
118
rot[0] = 0;
119
rot[1] = 90;
120
rot[2] = 0;
121
122
Math3D
.
YawPitchRollMatrix
(rot, pOutResult.m_CameraTM);
123
}
124
}
DayZPlayerCamera1stPerson
Definition
dayzplayercameravehicles.c:5
DayZPlayerCameraBase
this is main camera class
Definition
dayzplayercamera1stperson.c:5
DayZPlayerCameraBase::OnActivate
override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
Definition
dayzplayercamera1stperson.c:26
DayZPlayerCameraBase::CONST_UD_MAX
static const float CONST_UD_MAX
up limit
Definition
dayzplayercamera1stperson.c:7
DayZPlayerCameraBase::GetAdditiveAngles
override vector GetAdditiveAngles()
Definition
dayzplayercamera1stperson.c:76
DayZPlayerCameraBase::m_iBoneIndex
int m_iBoneIndex
main bone
Definition
dayzplayercamera1stperson.c:90
DayZPlayerCameraBase::CONST_LR_MAX
static const float CONST_LR_MAX
up limit
Definition
dayzplayercamera1stperson.c:10
DayZPlayerCameraBase::GetCameraName
override string GetCameraName()
Definition
dayzplayercamera1stperson.c:85
DayZPlayerCameraBase::OnUpdate
override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Definition
dayzplayercamera1stperson.c:43
DayZPlayerCameraBase::m_fLeftRightAngle
float m_fLeftRightAngle
left right angle in rad (in freelook only)
Definition
dayzplayercamera1stperson.c:95
DayZPlayerCameraBase::m_fUpDownAngle
float m_fUpDownAngle
up down angle in rad
Definition
dayzplayercamera1stperson.c:93
DayZPlayerCameraBase::m_fLeftRightAngleAdd
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
Definition
dayzplayercamera1stperson.c:96
DayZPlayerCameraBase::m_fUpDownAngleAdd
float m_fUpDownAngleAdd
up down angle in rad
Definition
dayzplayercamera1stperson.c:94
DayZPlayerCameraBase::CONST_LR_MIN
static const float CONST_LR_MIN
down limit
Definition
dayzplayercamera1stperson.c:9
DayZPlayerCameraBase::DayZPlayerCamera1stPerson
void DayZPlayerCamera1stPerson(DayZPlayer pPlayer, HumanInputController pInput)
Definition
dayzplayercamera1stperson.c:13
DayZPlayerCameraBase::CONST_UD_MIN
static const float CONST_UD_MIN
down limit
Definition
dayzplayercamera1stperson.c:6
DayZPlayerCameraBase::GetBaseAngles
override vector GetBaseAngles()
Definition
dayzplayercamera1stperson.c:67
DayZPlayerCameraBase::m_OffsetLS
vector m_OffsetLS
position offset
Definition
dayzplayercamera1stperson.c:91
DayZPlayerCameraResult
Definition
dayzplayer.c:12
DayZPlayer
Definition
dayzplayerimplement.c:87
HumanInputController
Definition
human.c:18
Math3D
Definition
enmath3d.c:28
PlayerBase
Definition
playerbaseclient.c:2
vector
Definition
enconvert.c:119
m_pPlayer
DayZPlayer m_pPlayer
data
Definition
dayzplayer.c:135
DayZPlayerCamera
class DayZPlayerCameraResult DayZPlayerCamera(DayZPlayer pPlayer, HumanInputController pInput)
Definition
dayzplayer.c:56
GetCurrentOrientation
vector GetCurrentOrientation()
Definition
dayzplayer.c:112
m_iBoneIndex
int m_iBoneIndex
main bone
Definition
dayzplayercamera1stperson.c:189
DayZPlayerCamera1stPersonUnconscious
class DayZPlayerCamera1stPerson extends DayZPlayerCameraBase DayZPlayerCamera1stPersonUnconscious(DayZPlayer pPlayer, HumanInputController pInput)
Definition
dayzplayercamera1stperson.c:104
UpdateLRAngleUnlocked
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Definition
dayzplayercamera_base.c:191
m_CurrentCameraYaw
float m_CurrentCameraYaw
Definition
dayzplayercamera_base.c:563
m_CurrentCameraPitch
float m_CurrentCameraPitch
Definition
dayzplayercamera_base.c:564
UpdateUDAngleUnlocked
float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Definition
dayzplayercamera_base.c:130
StdFovUpdate
void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Definition
dayzplayercamera_base.c:316
InitCameraOnPlayer
void InitCameraOnPlayer(bool force=false)
Definition
dayzplayercamera_base.c:546
UpdateCameraNV
void UpdateCameraNV(PlayerBase player)
Definition
dayzplayercamera_base.c:422
ProcessCameraShake
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
Definition
dayzplayercamera_base.c:109
Print
proto void Print(void var)
Prints content of variable to console/log.
Math3D::YawPitchRollMatrix
static proto void YawPitchRollMatrix(vector ang, out vector mat[3])
Creates rotation matrix from angles.
OnUpdate
proto native void OnUpdate()
Definition
tools.c:349
Games
Dayz
scripts
4_world
entities
manbase
dayzplayer
dayzplayercamera1stperson.c
Generated by
1.17.0