DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnActivate()

override void DayZPlayerCamera1stPersonUnconscious::OnActivate ( DayZPlayerCamera pPrevCamera,
DayZPlayerCameraResult pPrevCameraResult )

См. определение в файле DayZPlayerCamera1stPerson.c строка 125

129{
130 static const float CONST_UD_MIN = -85.0;
131 static const float CONST_UD_MAX = 85.0;
132
133 static const float CONST_LR_MIN = -160.0;
134 static const float CONST_LR_MAX = 160.0;
135
136
138 {
139 m_iBoneIndex = pPlayer.GetBoneIndexByName("Head");
140 if (m_iBoneIndex == -1)
141 {
142 Print("DayZPlayerCamera1stPerson: main bone not found");
143 }
144
145 m_OffsetLS = "0.04 0.04 0"; //x - up, y - forward
146 }
147
148
149 //
150 override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
151 {
152 super.OnActivate(pPrevCamera, pPrevCameraResult);
153
154 if (pPrevCamera)
155 {
156 vector baseAngles = pPrevCamera.GetBaseAngles();
157 m_fUpDownAngle = baseAngles[0];
158 m_fLeftRightAngle = baseAngles[1];
159
160 vector addAngles = pPrevCamera.GetAdditiveAngles();
161 m_fUpDownAngleAdd = addAngles[0];
162 m_fLeftRightAngleAdd = addAngles[1];
163 }
164 }
165
166 //
167 override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
168 {
172
174 Math3D.YawPitchRollMatrix(GetCurrentOrientation(), pOutResult.m_CameraTM);
175 pOutResult.m_CameraTM[3] = m_OffsetLS;
176
177 pOutResult.m_iDirectBone = m_iBoneIndex;
178 pOutResult.m_iDirectBoneMode = 1;
179 pOutResult.m_fUseHeading = 1.0;
180 pOutResult.m_fInsideCamera = 1.0;
181
182 pOutResult.m_fNearPlane = 0.04; //0.07 default
183
185
187 StdFovUpdate(pDt, pOutResult);
189 }
190
191 override vector GetBaseAngles()
192 {
193 vector a;
194 a[0] = m_fUpDownAngle;
195 a[1] = m_fLeftRightAngle;
196 a[2] = 0;
197 return a;
198 }
199
200 override vector GetAdditiveAngles()
201 {
202 vector a;
203 a[0] = m_fUpDownAngleAdd;
205 a[2] = 0;
206 return a;
207 }
208
209 override string GetCameraName()
210 {
211 return "DayZPlayerCamera1stPerson";
212 }
213
214 protected int m_iBoneIndex;
215 protected vector m_OffsetLS;
216
217 protected float m_fUpDownAngle;
218 protected float m_fUpDownAngleAdd;
219 protected float m_fLeftRightAngle;
220 protected float m_fLeftRightAngleAdd;
221}
222
223// *************************************************************************************
224// ! DayZPlayerCamera1stPersonUnconscious - first person only unconscious
225// *************************************************************************************
227{
228 void DayZPlayerCamera1stPersonUnconscious(DayZPlayer pPlayer, HumanInputController pInput)
229 {
230 m_iBoneIndex = pPlayer.GetBoneIndexByName ("Head");
231 }
232
233 override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
234 {
235 super.OnUpdate(pDt, pOutResult);
236
237 pOutResult.m_iDirectBone = m_iBoneIndex;
238 pOutResult.m_iDirectBoneMode = 4;
239 pOutResult.m_fUseHeading = 0.0;
240
241 vector rot;
242 rot[0] = 0;
243 rot[1] = 90;
244 rot[2] = 0;
245
246 Math3D.YawPitchRollMatrix(rot, pOutResult.m_CameraTM);
247 }
248}
void DayZPlayerCamera1stPerson(DayZPlayer pPlayer, HumanInputController pInput)
Определения DayZPlayerCamera1stPerson.c:112
int m_iBoneIndex
main bone
Определения DayZPlayerCamera1stPerson.c:189
float m_fLeftRightAngle
left right angle in rad (in freelook only)
Определения DayZPlayerCamera1stPerson.c:194
float m_fUpDownAngle
up down angle in rad
Определения DayZPlayerCamera1stPerson.c:192
static const float CONST_UD_MAX
up limit
Определения DayZPlayerCamera1stPerson.c:106
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
Определения DayZPlayerCamera1stPerson.c:195
float m_fUpDownAngleAdd
up down angle in rad
Определения DayZPlayerCamera1stPerson.c:193
static const float CONST_LR_MIN
down limit
Определения DayZPlayerCamera1stPerson.c:108
override vector GetBaseAngles()
Определения DayZPlayerCamera1stPerson.c:166
static const float CONST_LR_MAX
up limit
Определения DayZPlayerCamera1stPerson.c:109
static const float CONST_UD_MIN
down limit
Определения DayZPlayerCamera1stPerson.c:105
override vector GetAdditiveAngles()
Определения DayZPlayerCamera1stPerson.c:175
class DayZPlayerCamera1stPerson extends DayZPlayerCameraBase DayZPlayerCamera1stPersonUnconscious(DayZPlayer pPlayer, HumanInputController pInput)
Определения DayZPlayerCamera1stPerson.c:104
vector m_OffsetLS
position offset
Определения DayZPlayerCamera1stPerson.c:190
override string GetCameraName()
Определения DayZPlayerCamera1stPerson.c:184
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:190
float m_CurrentCameraYaw
Определения DayZPlayerCamera_Base.c:578
float m_CurrentCameraPitch
Определения DayZPlayerCamera_Base.c:579
float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:129
void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCamera_Base.c:315
void InitCameraOnPlayer(bool force=false)
Определения DayZPlayerCamera_Base.c:561
void UpdateCameraNV(PlayerBase player)
Определения DayZPlayerCamera_Base.c:421
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
Определения DayZPlayerCamera_Base.c:108
void OnActivate()
Определения Trap_LandMine.c:67
Определения human.c:18
Определения EnMath3D.c:28
Определения PlayerBaseClient.c:2
Определения EnConvert.c:106
void DayZPlayerCameraResult()
cannot be instanced from script (always created from C++)
Определения dayzplayer.c:83
DayZPlayer m_pPlayer
data
Определения dayzplayer.c:135
class DayZPlayerCameraResult DayZPlayerCamera(DayZPlayer pPlayer, HumanInputController pInput)
Определения dayzplayer.c:56
vector GetCurrentOrientation()
Определения dayzplayer.c:112
proto void Print(void var)
Prints content of variable to console/log.
static proto void YawPitchRollMatrix(vector ang, out vector mat[3])
Creates rotation matrix from angles.
proto native void OnUpdate()
Определения tools.c:349