DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
DayZPlayerCameraIronsights.c
См. документацию.
1
3class DayZPlayerCameraIronsights extends DayZPlayerCameraBase
4{
5 static const float CONST_UD_MIN = -85.0;
6 static const float CONST_UD_MAX = 85.0;
7 static const float CONST_UD_MIN_BACK = -25.0;
8
9 static const float CONST_LR_MIN = -160.0;
10 static const float CONST_LR_MAX = 160.0;
11
12 protected bool m_isEntering = false;
13 protected bool m_opticsHasWeaponOverride = false;
14 protected ref array<float> temp_array; //DOF only
15
16 protected PPERequester_CameraADS m_RequesterADS;
17
19 float m_velocityYaw[1];
24
30
31
33 {
34 if (!temp_array)
36 m_iBoneIndex = pPlayer.GetBoneIndexByName("RightHand_Dummy");
37
38 if (m_iBoneIndex == -1)
39 {
40 Print("DayZPlayerCamera1stPerson: main bone not found");
41 }
42
45
48 m_isEntering = true;
50
56
57 Class.CastTo(m_RequesterADS,PPERequester_CameraADS.Cast(PPERequesterBank.GetRequester(PPERequester_CameraADS)));
58
59 Init();
60 }
61
63 {
64 EntityAI inHands = m_pPlayer.GetEntityInHands();
65 if (inHands)
66 {
67 m_weaponUsed = Weapon_Base.Cast(inHands);
68 if( m_weaponUsed )
69 {
70 m_SightMisalignmentModifier = m_weaponUsed.GetPropertyModifierObject().m_SightMisalignment;
73 m_opticsUsed = m_weaponUsed.GetAttachedOptics();
74 if( m_opticsUsed )
75 {
76 m_opticsHasWeaponOverride = m_opticsUsed.HasWeaponIronsightsOverride();
77 }
78 }
79 else
80 {
81 m_opticsUsed = ItemOptics.Cast(inHands);
82 }
83 }
84 }
85
86 //
87 override void OnActivate (DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
88 {
89 super.OnActivate(pPrevCamera, pPrevCameraResult);
90
91 if (pPrevCamera)
92 {
93 vector baseAngles = pPrevCamera.GetBaseAngles();
94 m_fUpDownAngle = baseAngles[0];
95 m_fLeftRightAngle = baseAngles[1];
96
97 vector addAngles = pPrevCamera.GetAdditiveAngles();
98 m_fUpDownAngleAdd = addAngles[0];
99 m_fLeftRightAngleAdd = addAngles[1];
100 }
101 }
102
104 {
106 return m_opticsUsed;
107
108 return m_weaponUsed;
109 }
110
111 bool GetCurrentSightInfo (out vector camPos, out vector camDir)
112 {
114 if (e)
115 {
116 if (e == m_weaponUsed)
117 {
118 m_weaponUsed.GetCameraPoint(m_weaponUsed.GetCurrentMuzzle(), camPos, camDir);
119 return true;
120 }
121 else if (e == m_opticsUsed)
122 {
123 m_opticsUsed.UseWeaponIronsightsOverride(m_opticsHasWeaponOverride);
124 m_opticsUsed.GetCameraPoint(camPos, camDir);
125 return true;
126 }
127 }
128 else
129 {
130 ErrorEx("No sight entity found in " + this,ErrorExSeverity.INFO);
131 }
132 return false;
133 }
134
135 //
136 override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
137 {
139 float min;
140 DayZPlayerImplement player = DayZPlayerImplement.Cast(g_Game.GetPlayer());
141 if (player && player.IsPlayerInStance(DayZPlayerConstants.STANCEMASK_RAISEDPRONE))
142 min = CONST_UD_MIN_BACK;
143 else
144 min = CONST_UD_MIN;
145
148
149 // get model space transform matrix of the gun's eye vector
150 vector matTM[4];
151 HumanItemAccessor hia = m_pPlayer.GetItemAccessor();
153 hia.WeaponGetCameraPointBoneRelative(GetCurrentSightEntity(), m_OpticsCamPos, m_OpticsCamDir, m_iBoneIndex, matTM);
154
155 // aim change based on character movement
156 vector aimChangeYPR;
157 float aimChangeX = m_pInput.GetAimDelta(pDt)[0] * Math.RAD2DEG;
158 float aimChangeY = m_pInput.GetAimDelta(pDt)[1] * Math.RAD2DEG;
159
160 HumanCommandMove hcm = m_pPlayer.GetCommand_Move();
161 if (hcm)
162 {
163 float speed = hcm.GetCurrentMovementSpeed();
164
165 if( speed > 0 )
166 m_movementTimeAcc += pDt;
167 else
169
172 }
173
174 aimChangeYPR[0] = Math.SmoothCD(aimChangeYPR[0], -(m_dynamicsStrength * aimChangeY), m_velocityYaw, m_dynamicsSmoothTime, 1000, pDt);
175 aimChangeYPR[1] = Math.SmoothCD(aimChangeYPR[1], -(m_dynamicsStrength * aimChangeX), m_velocityPitch, m_dynamicsSmoothTime, 1000, pDt);
176 aimChangeYPR[2] = 0;
177
178 vector dynamics[4];
179 Math3D.YawPitchRollMatrix(aimChangeYPR, dynamics);
180 dynamics[3] = vector.Zero;
181
182 // aiming model offsets
183 vector aimingMatTM[4];
184 hia.WeaponGetAimingModelDirTm(aimingMatTM);
185
186 // final offset matrix
187 Math3D.MatrixMultiply4(dynamics, aimingMatTM, dynamics);
188 Math3D.MatrixMultiply4(dynamics, matTM, pOutResult.m_CameraTM);
189
190 AdjustCameraParameters(pDt, pOutResult);
193
194 if(m_CameraShake)
195 {
196 float x,y;
197 m_CameraShake.Update(pDt, x, y);
198 DayZPlayerImplement.Cast(m_pPlayer).GetAimingModel().SetCamShakeValues(x, y);
199 }
200 }
201
203 {
204 vector a;
205 a[0] = m_fUpDownAngle;
206 a[1] = m_fLeftRightAngle;
207 a[2] = 0;
208 return a;
209 }
210
212 {
213 vector a;
214 a[0] = m_fUpDownAngleAdd;
216 a[2] = 0;
217 return a;
218 }
219
220 void AdjustCameraParameters(float pDt, inout DayZPlayerCameraResult pOutResult)
221 {
222 pOutResult.m_iDirectBone = m_iBoneIndex;
223 pOutResult.m_iDirectBoneMode = 4;
224
225 pOutResult.m_fFovAbsolute = HoldBreathFOVEffect(pDt);
226
227 pOutResult.m_bUpdateWhenBlendOut = false;
228 pOutResult.m_fDistance = 0;
229 pOutResult.m_fUseHeading = 0;
230 pOutResult.m_fInsideCamera = 1.0;
231 pOutResult.m_fShootFromCamera = m_fShootFromCamera;
232
233 pOutResult.m_fNearPlane = 0.04; //0.07 default
234 }
235
236 float HoldBreathFOVEffect(float pDt)
237 {
238 if (m_pPlayer.IsHoldingBreath())
239 {
241 }
242 else if (m_isEntering) //sets FOV immediatelly to avoid "floating camera" effect
243 {
245 m_isEntering = false;
246 }
247 else
248 {
250 }
251
252 return m_fFovAbsolute;
253 }
254
255 // sets PP for ironsights and optics (override) cameras
256 override void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
257 {
258 //Print("SetCameraPP - ADS");
259 if (PlayerBase.Cast(m_pPlayer) && launchedFrom.Type() != PlayerBase.Cast(m_pPlayer).GetCurrentPlayerCamera().Type())
260 {
261 //Print("DayZPlayerCameraIronsights | SetCameraPP | skipping, wrong camera type active!");
262 return;
263 }
264
265 //if (!state || !m_weaponUsed || (PlayerBase.Cast(m_pPlayer) && launchedFrom != PlayerBase.Cast(m_pPlayer).GetCurrentPlayerCamera()))
266 if (!state || !m_weaponUsed)
267 {
268 m_RequesterADS.Stop();
269
270 if (IsCameraNV())
271 {
272 int resolvedType = ResolveNVType(GetCameraNVType(), PlayerBase.Cast(m_pPlayer));
273 m_ResolvedNVType = resolvedType;
274 SetNVPostprocess(resolvedType);
275 }
276 else
277 {
279 }
280 }
281 else
282 {
283 temp_array = {false, 0.0, 0.0, 0.0, 0.0, 1.0};
284
285 if (m_weaponUsed.GetWeaponDOF() || (m_opticsUsed && m_opticsUsed.GetOpticsDOF()))
286 {
287 if (m_opticsUsed && m_opticsUsed.GetOpticsDOF().Count() == 6)
288 {
289 temp_array = m_opticsUsed.GetOpticsDOF();
290 }
291 else
292 {
293 temp_array = m_weaponUsed.GetWeaponDOF();
294 }
295 if (temp_array.Count() != 6)
296 temp_array = {false, 0.0, 0.0, 0.0, 0.0, 1.0};
297 }
298
299 m_RequesterADS.SetValuesIronsights(temp_array); //DOF only
300
301 if (IsCameraNV())
302 {
304 }
305 else
306 {
308 }
309 }
310
311 if (m_weaponUsed)
312 {
313 m_weaponUsed.HideWeaponBarrel(false);
314 }
315 }
316
317 override string GetCameraName()
318 {
319 return "DayZPlayerCameraIronsights";
320 }
321
322 override void SetCameraPPDelay(DayZPlayerCamera pPrevCamera)
323 {
324 if (pPrevCamera.GetCameraName() == "DayZPlayerCamera1stPerson")
325 {
326 //Print("---ironsights---DayZPlayerCamera1stPerson");
328 }
329 else if (pPrevCamera.GetCameraName() == "DayZPlayerCameraOptics")
330 {
331 m_CameraPPDelay = 0;
332 }
333 else
334 {
335 //Print("---ironsights---else");
337 }
338 }
339
341 {
342 ItemOptics optics = ItemOptics.Cast(entity);
343 if (optics)
345 }
346
348 protected float m_fShootFromCamera = 0.0;
349
351 protected int m_iBoneIndex;
354
355 protected float m_fUpDownAngle;
356 protected float m_fUpDownAngleAdd;
357 protected float m_fLeftRightAngle;
358 protected float m_fLeftRightAngleAdd;
359
360}
361
362class DayZPlayerCameraOptics : DayZPlayerCameraIronsights
363{
364 static const float CONST_NEARPLANE_OPTICS = 0.06; //Default near plane value for this camera
365 protected float m_RecoilOffsetZ = 0.0;
366
368 {
369 if (!temp_array)
370 temp_array = new array<float>;
372 }
373
374 override void Init()
375 {
376 if (m_opticsUsed && m_opticsUsed.IsNVOptic() && m_opticsUsed.IsWorking())
377 {
378 SetCameraNV(true);
379 }
380 else
381 {
382 SetCameraNV(false);
383 }
384 }
385
387 {
388 return m_opticsUsed;
389 }
390
391 override bool GetCurrentSightInfo (out vector camPos, out vector camDir)
392 {
393 if (m_opticsUsed)
394 {
395 m_opticsUsed.UseWeaponIronsightsOverride(false);
396 m_opticsUsed.GetCameraPoint(camPos, camDir);
397 return true;
398 }
399 return false;
400 }
401
402 override void OnActivate (DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
403 {
404 super.OnActivate(pPrevCamera,pPrevCameraResult);
405
406 PlayerBase player = PlayerBase.Cast(m_pPlayer);
407 if (player && m_opticsUsed)
408 {
409 g_Game.GetCallQueue(CALL_CATEGORY_GUI).CallLater(player.HideClothing,m_CameraPPDelay*1000,false,m_opticsUsed,true);
410 }
411 }
412
413 override void AdjustCameraParameters(float pDt, inout DayZPlayerCameraResult pOutResult)
414 {
415 pOutResult.m_iDirectBone = m_iBoneIndex;
416 pOutResult.m_iDirectBoneMode = 4;
417
418 pOutResult.m_fFovAbsolute = HoldBreathFOVEffect(pDt);
419
420 pOutResult.m_bUpdateWhenBlendOut = false;
421 pOutResult.m_fDistance = 0;
422 pOutResult.m_fUseHeading = 0;
423 pOutResult.m_fInsideCamera = 1.0;
424 pOutResult.m_fShootFromCamera = m_fShootFromCamera;
425
426 if (!m_opticsUsed)
427 pOutResult.m_fNearPlane = Math.Clamp(CONST_NEARPLANE_OPTICS - m_RecoilOffsetZ, CONST_NEARPLANE_OPTICS, 10.0);
428 else
429 pOutResult.m_fNearPlane = Math.Clamp(m_opticsUsed.GetNearPlaneValue() - m_RecoilOffsetZ, CONST_NEARPLANE_OPTICS, 10.0); //some sufficiently nonsensical max
430 }
431
432 override float HoldBreathFOVEffect(float pDt)
433 {
434 //hotfix; two cameras exist and update simultaneously during transition, even if optics/weapons is no longer present!
435 /*PlayerBase player = PlayerBase.Cast(m_pPlayer);
436 if (player && player.GetCurrentCamera() != this)
437 return 0.6;*/
438
440 if (optics)
441 {
442 if (optics.GetCurrentStepFOV() >= GameConstants.DZPLAYER_CAMERA_FOV_EYEZOOM && (m_pPlayer.IsHoldingBreath() || m_pPlayer.GetEyeZoomLevel()))
443 {
445 }
446 else if (m_isEntering) //sets FOV immediatelly to avoid "floating camera" effect
447 {
449 m_isEntering = false;
450 }
451 else
452 {
454 //m_fFovAbsolute = optics.GetCurrentStepFOV();
455 }
456 return m_fFovAbsolute;
457 }
458 else
459 {
460 //Error("optic camera, but there is no optic item or optic on weapon"); //camera update ticks on transitions as well, caused problems
461 return 0.6; //TODO figure some other way to get original FOV here!
462 }
463 }
464
465 override void SetCameraPP(bool state,DayZPlayerCamera launchedFrom)
466 {
467 //Print("SetCameraPP - optics");
468 if (PlayerBase.Cast(m_pPlayer) && launchedFrom.Type() != PlayerBase.Cast(m_pPlayer).GetCurrentPlayerCamera().Type())
469 {
470 //Print("DayZPlayerCameraOptics | SetCameraPP | skipping, wrong camera type active!");
471 return;
472 }
473
474 int resolvedType;
475 if (!state || !m_opticsUsed)
476 {
477 m_RequesterADS.Stop();
478
479 if (IsCameraNV())
480 {
481 resolvedType = ResolveNVType(GetCameraNVType(), PlayerBase.Cast(m_pPlayer));
482 m_ResolvedNVType = resolvedType;
483 SetNVPostprocess(resolvedType);
484 }
485 else
486 {
488 }
489
490 if (m_weaponUsed)
491 {
492 m_weaponUsed.HideWeaponBarrel(false);
493 }
494 }
495 else
496 {
497 array<float> lens_values = new array<float>;
498 array<float> mask_values = new array<float>;
499 float gauss = 0.0;
500 temp_array = {false, 0.0, 0.0, 0.0, 0.0, 1.0};
501
502 // 1x scopes only
503 if (m_opticsUsed.AllowsDOF() && !NVGoggles.Cast(m_opticsUsed))
504 {
505 if (m_weaponUsed)
506 {
507 if (m_opticsUsed.GetOpticsDOF().Count() == 6)
508 {
509 temp_array = m_opticsUsed.GetOpticsDOF();
510 }
511 else
512 {
513 temp_array = m_weaponUsed.GetWeaponDOF(); //TODO should some optics have own DOF settings (different eye point)?
514 }
515
516 if (temp_array.Count() != 6)
517 temp_array = {false, 0.0, 0.0, 0.0, 0.0, 1.0};
518 }
519
520 m_RequesterADS.SetValuesIronsights(temp_array); //DOF only
521
522 // optics NV mode
523 if (m_opticsUsed.IsNVOptic())
524 {
525 SetCameraNV(true);
526 resolvedType = ResolveNVType(m_opticsUsed.GetCurrentNVType(), PlayerBase.Cast(m_pPlayer));
527 m_ResolvedNVType = resolvedType;
528 SetNVPostprocess(resolvedType);
529 }
530 else
531 {
532 if (IsCameraNV())
533 {
535 }
536 else
537 {
539 }
540 }
541 }
542 else //magnifying scopes
543 {
544 // optics mask
545 if (m_opticsUsed.GetOpticsPPMask() && m_opticsUsed.GetOpticsPPMask().Count() == 4)
546 {
547 mask_values = m_opticsUsed.GetOpticsPPMask();
548 }
549
550 //optics lens
551 if (m_opticsUsed.GetOpticsPPLens() && m_opticsUsed.GetOpticsPPLens().Count() == 4)
552 {
553 lens_values = m_opticsUsed.GetOpticsPPLens();
554 }
555
556 //optics blur
557 if (m_opticsUsed.GetOpticsPPBlur() != 0)
558 {
559 gauss = m_opticsUsed.GetOpticsPPBlur();
560 }
561
562 m_RequesterADS.SetValuesOptics(mask_values,lens_values,gauss);
563
564 // optics NV mode
565 if (m_opticsUsed.IsNVOptic())
566 {
567 SetCameraNV(true);
568 resolvedType = ResolveNVType(m_opticsUsed.GetCurrentNVType(), PlayerBase.Cast(m_pPlayer));
569 m_ResolvedNVType = resolvedType;
570 SetNVPostprocess(resolvedType);
571 }
572 else
573 {
574 SetNVPostprocess(NVTypes.NONE); //magnifying optics do not combine with other NV sources (would render NV optics obsolete)
575 }
576 }
577
578 if (m_weaponUsed)
579 {
580 m_weaponUsed.HideWeaponBarrel(true);
581 }
582 }
583 }
584
585 override string GetCameraName()
586 {
587 return "DayZPlayerCameraOptics";
588 }
589
590 override void SetCameraPPDelay(DayZPlayerCamera pPrevCamera)
591 {
592 if (pPrevCamera.GetCameraName() == "DayZPlayerCameraIronsights")
593 {
595 }
596 else if (pPrevCamera.GetCameraName() == "DayZPlayerCamera1stPerson")
597 {
598 m_CameraPPDelay = DayZPlayerCameras.TIME_CAMERACHANGE_02 - 0.05; //changed to accomodate handheld optics, had to be changed here also
599 }
600 else if (!pPrevCamera.IsCamera3rdRaised())
601 {
603 }
604 else
605 {
607 }
608 }
609
610 override void SendRecoilOffsetZ(float offset)
611 {
612 m_RecoilOffsetZ = offset;
613 }
614};
615
DayZGame g_Game
Определения DayZGame.c:4074
override Widget Init()
Определения DayZGame.c:127
int m_iBoneIndex
main bone
Определения DayZPlayerCamera1stPerson.c:189
static const float CONST_UD_MAX
up limit
Определения DayZPlayerCamera1stPerson.c:106
static const float CONST_UD_MIN
down limit
Определения DayZPlayerCamera1stPerson.c:105
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:212
ref CameraShake m_CameraShake
Определения DayZPlayerCamera_Base.c:96
float m_CurrentCameraYaw
Определения DayZPlayerCamera_Base.c:760
float m_CurrentCameraPitch
Определения DayZPlayerCamera_Base.c:761
float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:150
Weapon_Base m_weaponUsed
Определения DayZPlayerCamera_Base.c:94
int m_ResolvedNVType
Определения DayZPlayerCamera_Base.c:767
NVTypes
Определения DayZPlayerCamera_Base.c:55
bool IsCameraNV()
Определения DayZPlayerCamera_Base.c:414
int ResolveNVType(int rawType, PlayerBase player)
Определения DayZPlayerCamera_Base.c:662
float m_CameraPPDelay
Определения DayZPlayerCamera_Base.c:758
void SetNVPostprocess(int NVtype)
DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::Get...
Определения DayZPlayerCamera_Base.c:497
void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
by default sets camera PP to zero, regardless of parameter. Override if needed.
Определения DayZPlayerCamera_Base.c:451
void SetCameraNV(bool nightvision)
Определения DayZPlayerCamera_Base.c:409
float m_WeaponSwayModifier
Определения DayZPlayerCamera_Base.c:757
void UpdateCameraNV(PlayerBase player)
Определения DayZPlayerCamera_Base.c:429
float m_fFovAbsVel[1]
Определения DayZPlayerCamera_Base.c:754
int GetCameraNVType()
Определения DayZPlayerCamera_Base.c:424
ItemOptics m_opticsUsed
Определения DayZPlayerCamera_Base.c:95
void SetCameraPPDelay(DayZPlayerCamera pPrevCamera)
Определения DayZPlayerCamera_Base.c:405
void DayZPlayerCameraOptics(DayZPlayer pPlayer, HumanInputController pInput)
Определения DayZPlayerCameraIronsights.c:367
override bool GetCurrentSightInfo(out vector camPos, out vector camDir)
Определения DayZPlayerCameraIronsights.c:391
override float HoldBreathFOVEffect(float pDt)
Определения DayZPlayerCameraIronsights.c:432
override EntityAI GetCurrentSightEntity()
Определения DayZPlayerCameraIronsights.c:386
override void Init()
single position related to each particular attachment group
Определения DayZPlayerCameraIronsights.c:374
override void AdjustCameraParameters(float pDt, inout DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCameraIronsights.c:413
float m_RecoilOffsetZ
Определения DayZPlayerCameraIronsights.c:365
class DayZPlayerCameraIronsights extends DayZPlayerCameraBase CONST_NEARPLANE_OPTICS
Icon x
Icon y
void OnActivate()
Определения Trap_LandMine.c:67
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI GetCurrentSightEntity()
Определения DayZPlayerCameraIronsights.c:103
void SetupSightEntities()
Определения DayZPlayerCameraIronsights.c:62
float m_movementFrequencyY
Определения DayZPlayerCameraIronsights.c:29
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
Определения DayZPlayerCamera1stPerson.c:96
override void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
Определения DayZPlayerCameraIronsights.c:256
override void SetCameraPPDelay(DayZPlayerCamera pPrevCamera)
Определения DayZPlayerCameraIronsights.c:322
float m_movementFrequencyX
Определения DayZPlayerCameraIronsights.c:28
override vector GetAdditiveAngles()
Определения DayZPlayerCameraIronsights.c:211
float m_dynamicsSmoothTime
Определения DayZPlayerCameraIronsights.c:22
float m_movementAmplitudeY
Определения DayZPlayerCameraIronsights.c:27
ref array< float > temp_array
Определения DayZPlayerCameraIronsights.c:14
float m_fShootFromCamera
settings
Определения DayZPlayerCameraIronsights.c:348
static const float CONST_UD_MIN_BACK
down limit on back
Определения DayZPlayerCameraIronsights.c:7
PPERequester_CameraADS m_RequesterADS
Определения DayZPlayerCameraIronsights.c:16
override vector GetBaseAngles()
Определения DayZPlayerCameraIronsights.c:202
float m_movementAmplitudeX
Определения DayZPlayerCameraIronsights.c:26
override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
Определения DayZPlayerCameraIronsights.c:87
override string GetCameraName()
Определения DayZPlayerCameraIronsights.c:317
int m_iBoneIndex
main bone
Определения DayZPlayerCamera1stPerson.c:90
void AdjustCameraParameters(float pDt, inout DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCameraIronsights.c:220
static const float CONST_LR_MIN
down limit
Определения DayZPlayerCamera1stPerson.c:9
vector m_SightMisalignmentModifier
Определения DayZPlayerCameraIronsights.c:23
static const float CONST_UD_MAX
up limit
Определения DayZPlayerCamera1stPerson.c:7
bool GetCurrentSightInfo(out vector camPos, out vector camDir)
Определения DayZPlayerCameraIronsights.c:111
static const float CONST_UD_MIN
down limit
Определения DayZPlayerCamera1stPerson.c:6
float m_velocityYaw[1]
camera dynamics
Определения DayZPlayerCameraIronsights.c:19
void DayZPlayerCameraIronsights(DayZPlayer pPlayer, HumanInputController pInput)
Определения DayZPlayerCameraIronsights.c:32
override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCameraIronsights.c:136
float m_fUpDownAngleAdd
up down angle in rad
Определения DayZPlayerCamera1stPerson.c:94
float m_fLeftRightAngle
left right angle in rad (in freelook only)
Определения DayZPlayerCamera1stPerson.c:95
bool m_opticsHasWeaponOverride
Определения DayZPlayerCameraIronsights.c:13
float HoldBreathFOVEffect(float pDt)
Определения DayZPlayerCameraIronsights.c:236
float m_velocityPitch[1]
Определения DayZPlayerCameraIronsights.c:20
static const float CONST_LR_MAX
up limit
Определения DayZPlayerCamera1stPerson.c:10
void UpdateBatteryOptics(EntityAI entity)
Определения DayZPlayerCameraIronsights.c:340
float m_fUpDownAngle
up down angle in rad
Определения DayZPlayerCamera1stPerson.c:93
this is main camera class
Определения DayZPlayerCamera1stPerson.c:5
static const float TIME_CAMERACHANGE_03
Определения DayZPlayerCameras.c:30
static const float TIME_CAMERACHANGE_02
Определения DayZPlayerCameras.c:29
static const float TIME_CAMERACHANGE_01
for two handed items
Определения DayZPlayerCameras.c:28
Определения DayZPlayerImplement.c:87
Определения ManBase.c:2
proto native float GetCurrentMovementSpeed()
0,1,2..3 idle, walk, run, sprint
Определения human.c:454
Определения human.c:18
void UpdateOpticsReddotVisibility()
Определения ItemOptics.c:275
proto native float GetCurrentStepFOV()
returns fov value at current index, or 'OpticsInfo.opticsZoomInit' config value (non-zooming optics)
Определения ItemOptics.c:2
Определения EnMath3D.c:28
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
shorthand
Определения BoltActionRifle_Base.c:6
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static const vector Zero
Определения EnConvert.c:123
Определения EnConvert.c:119
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void SendRecoilOffsetZ(float offset)
m_fCamPosOffsetZ info, used to adjust near plane in DayZPlayerCameraIronsights now
Определения dayzplayer.c:139
DayZPlayer m_pPlayer
data
Определения dayzplayer.c:135
HumanInputController m_pInput
human input
Определения dayzplayer.c:136
float m_fShootFromCamera
1(default) - uses shoot from camera (+aiming sway), 0 pure weapon shoot (ironsights == 0)
Определения dayzplayer.c:71
string GetCameraName()
Определения dayzplayer.c:92
class DayZPlayerCameraResult DayZPlayerCamera(DayZPlayer pPlayer, HumanInputController pInput)
Определения dayzplayer.c:56
float m_fFovAbsolute
fov absolute value override - -1.0 default, if set - overrides absolute fov setting
Определения dayzplayer.c:60
ErrorExSeverity
Определения EnDebug.c:62
proto void Print(void var)
Prints content of variable to console/log.
enum ShapeType ErrorEx
const float DZPLAYER_CAMERA_FOV_EYEZOOM
FOV (vertical angle/2) in radians. Take care to modify also in "basicDefines.hpp".
Определения 3_Game/DayZ/constants.c:1039
const float DZPLAYER_CAMERA_FOV_IRONSIGHTS
Определения 3_Game/DayZ/constants.c:1041
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto void MatrixMultiply4(vector mat0[4], vector mat1[4], out vector res[4])
Transforms matrix.
static proto void YawPitchRollMatrix(vector ang, out vector mat[3])
Creates rotation matrix from angles.
static const float PI2
Определения EnMath.c:13
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto float Sin(float angle)
Returns sinus of angle in radians.
static const float RAD2DEG
Определения EnMath.c:16
static proto float SmoothCD(float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt)
Does the CD smoothing function - easy in | easy out / S shaped smoothing.
const int CALL_CATEGORY_GUI
Определения 3_Game/DayZ/tools/tools.c:9
void HumanItemAccessor()
Определения humanitems.c:147