DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
DayZPlayerCamera_Base.c
См. документацию.
1
2float Limit(float pV, float pMin, float pMax)
3{
4 if (pV >= pMin && pV <= pMax)
5 {
6 return pV;
7 }
8 else if (pV < pMin)
9 {
10 return pMin;
11 }
12 else
13 {
14 return pMax;
15 }
16}
17
18
19float fixAngle_PI_PI(float pAngle)
20{
21 while (pAngle > Math.PI)
22 {
23
24 pAngle -= Math.PI2;
25 }
26
27 while (pAngle < -Math.PI)
28 {
29
30 pAngle += Math.PI2;
31 }
32
33 return pAngle;
34}
35
36float fixAngle_180_180(float pAngle)
37{
38 while (pAngle > 180)
39 {
40
41 pAngle -= 360;
42 }
43
44 while (pAngle < -180)
45 {
46
47 pAngle += 360;
48 }
49
50 return pAngle;
51}
52
53
68
70{
71 static const float CONST_NEARPLANE_OPTICS_MIN = 0.04; //Minimal safe near plane value, artifacts on the far plane otherwise!
72
76
79 {
80 m_fLRAngleVel[0] = 0;
81 m_fUDAngleVel[0] = 0;
82 m_fFovAbsVel[0] = 0;
84
85 m_fFovAbsolute = GetDayZGame().GetFOVByZoomType(m_pPlayer.GetEyeZoomLevel());
87 /*
88 {
89 int perItemCamUD = pPlayer.GetCurrentPerItemCameraUD();
90 string a = "Per Item Camera User Data: " + perItemCamUD.ToString();
91 Print(a);
92 }
93 */
95
96 m_CommandWeapons = pPlayer.GetCommandModifier_Weapons();
97 Init();
99 };
100
101 //disabled by default, overrides on select 3rd person cameras
103 {
105 m_pInput.Override3rdIsRightShoulder(HumanInputControllerOverrideType.DISABLED, false);
106 }
107
108 void ProcessCameraShake(float delta, out float leftRight, out float upDown)
109 {
110 if (m_CameraShake)
111 {
112 float x,y;
113 m_CameraShake.Update(delta, x, y);
114 leftRight += x;
115 upDown += y;
116 }
117 }
118
119 void Init()
120 {
121 PlayerBase player = PlayerBase.Cast(m_pPlayer);
122 if ( player && player.IsNVGWorking() != IsCameraNV() )
123 {
124 SetCameraNV(player.IsNVGWorking());
125 SetCameraNVType(player.GetNVType());
126 }
127 }
128
129 float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
130 {
131 float target = m_CommandWeapons.GetBaseAimingAngleUD();
132
133 if (m_pInput.CameraIsTracking())
134 {
135 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
136 pAngle = target;
137
138 m_fUDAngleVel[0] = 0;
139 }
140 else
141 {
142 if (Math.AbsFloat(pAngleAdd) > 0.001)
143 {
144 pAngleAdd = pAngle + pAngleAdd - target;
145 pAngle = target;
146 }
147
148 if (m_pInput.CameraIsFreeLook())
149 {
150 pAngleAdd += m_pInput.GetAimDelta(pDt)[1] * Math.RAD2DEG;
151
152 m_fUDAngleVel[0] = 0;
153 }
154 else
155 {
156 PlayerBase player = PlayerBase.Cast(m_pPlayer);
157 if (player) // handle locking of camera U/D angle movement when performing an action and not in freelook
158 {
159 float pitch = pAngle + pAngleAdd;
160 float downLimit, upLimit, leftLimit, rightLimit;
161 player.GetLookLimits(downLimit, upLimit, leftLimit, rightLimit);
162
163 if (pitch < (upLimit + 1) && pitch > (downLimit - 1)) // stop smoothing once within sufficiently small difference
164 {
165 pMin = downLimit;
166 pMax = upLimit;
167 }
168 else // smooth camera to locked angle, avoiding snap from the angle we started the action to the limit
169 {
170 float vel[1] = m_fUDAngleVel;
171 pMin = Math.SmoothCD(pitch, downLimit, vel, 0.2, 1000, pDt);
172 pMax = Math.SmoothCD(pitch, upLimit, vel, 0.2, 1000, pDt);
173 }
174 }
175
176 pAngleAdd = Math.SmoothCD(pAngleAdd, 0.0, m_fUDAngleVel, 0.14, 1000, pDt);
177 }
178
179 if (!m_pInput.CameraIsFreeLook())
180 {
181 pAngle += m_pInput.GetAimDelta(pDt)[1] * Math.RAD2DEG;
182 }
183 }
184
185 pAngle = Limit(pAngle, pMin, pMax);
186 pAngleAdd = Limit(pAngle + pAngleAdd, pMin, pMax) - pAngle;
187 return pAngle + pAngleAdd;
188 }
189
190 float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
191 {
192 float target = 0;
193
194 if (m_pInput.CameraIsTracking())
195 {
196 pAngleAdd = m_pInput.GetTracking()[0] * Math.RAD2DEG;
197 pAngle = target;
198
199 m_fUDAngleVel[0] = 0;
200 }
201 else
202 {
203 if (Math.AbsFloat(pAngleAdd) > 0.001)
204 {
205 pAngleAdd = pAngle + pAngleAdd - target;
206 pAngle = target;
207 }
208
209 if (m_pInput.CameraIsFreeLook() || m_bForceFreeLook)
210 {
211 pAngleAdd += m_pInput.GetAimDelta(pDt)[0] * Math.RAD2DEG;
212
213 m_fLRAngleVel[0] = 0;
214 }
215 else
216 {
217 pAngleAdd = Math.SmoothCD(pAngleAdd, 0.0, m_fLRAngleVel, 0.14, 1000, pDt);
218 }
219
220 pAngleAdd = pAngleAdd + pAngle;
221 }
222
223 pAngle = Limit(pAngle, pMin, pMax);
224 pAngleAdd = Limit(pAngle + pAngleAdd, pMin, pMax) - pAngle;
225
226 return pAngle + pAngleAdd;
227 }
228
229 float UpdateUDAngle(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
230 {
231 if (Math.AbsFloat(pAngleAdd) > 0.001)
232 {
233 float aimingUDAngle = m_CommandWeapons.GetBaseAimingAngleUD();
234
237
238 // override actual angle
239 pAngleAdd = pAngle + pAngleAdd - aimingUDAngle;
240 pAngle = aimingUDAngle;
241
242 // Print("Angle: " + pAngle.ToString() + " Aim: " + actualUDAngle.ToString() );
243 }
244
246 if( m_pInput.CameraIsFreeLook() )
247 {
248 pAngleAdd += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
249 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
250
251 m_fUDAngleVel[0] = 0;
252 }
253 else
254 {
255 if( m_pInput.CameraIsTracking() )
256 {
257 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
258 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
259
260 m_fUDAngleVel[0] = 0;
261 }
262 else
263 {
265 pAngle += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
266 pAngle = Limit(pAngle, pMin, pMax);
267
268 pAngleAdd = Math.SmoothCD(pAngleAdd, 0, m_fUDAngleVel, 0.14, 1000, pDt);
269 }
270 }
271
272 /*{
273 float change = m_pInput.GetAimChange()[1] * Math.RAD2DEG;
274
275 Print ("Script: Camera ud angle: " + pAngle.ToString() + " change: " + change.ToString() );
276 }*/
277
278 return Limit(pAngle + pAngleAdd, pMin, pMax);
279 }
280
281 float UpdateLRAngle(float pAngle, float pMin, float pMax, float pDt)
282 {
284 if (m_pInput.CameraIsFreeLook() || m_bForceFreeLook)
285 {
287 pAngle += m_pInput.GetAimChange()[0] * Math.RAD2DEG;
288 pAngle = Limit(pAngle, pMin, pMax);
289
290 m_fLRAngleVel[0] = 0; // reset filter
291
292 }
293 else
294 {
295 if( m_pInput.CameraIsTracking() )
296 {
297 pAngle = m_pInput.GetTracking()[0] * Math.RAD2DEG;
298 pAngle = Limit(-pAngle, pMin, pMax);
299
300 m_fLRAngleVel[0] = 0; // reset filter
301 }
302 else
303 {
304 // smooth value back to 0
305 pAngle = Math.SmoothCD(pAngle, 0, m_fLRAngleVel, 0.14, 1000, pDt);
306 // m_fLeftRightAngle = 0.9 * (1.0 - pDt);
307 }
308 }
309
310 return pAngle;
311 }
312
313
314
315 void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
316 {
318 switch (m_pPlayer.GetEyeZoomLevel())
319 {
320 // ordered in likelihood of occurance for perf. reasons
321 case ECameraZoomType.NONE:
322 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NONE), m_fFovAbsVel, 0.1, 1000, pDt);
323 break;
324 case ECameraZoomType.NORMAL:
325 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NORMAL), m_fFovAbsVel, 0.1, 1000, pDt);
326 break;
327 case ECameraZoomType.SHALLOW:
328 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.SHALLOW), m_fFovAbsVel, 0.1, 1000, pDt);
329 break;
330 default:
331 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NONE), m_fFovAbsVel, 0.1, 1000, pDt);
332 break;
333 }
334
335 pOutResult.m_fFovAbsolute = m_fFovAbsolute;
336
338 if (!m_pPlayer.IsShootingFromCamera())
339 {
340 pOutResult.m_fShootFromCamera = 0.0;
341 }
342 }
343
344 override void SpawnCameraShakeProper(float strength, float radius, float smoothness, float radius_decay_speed)
345 {
346 m_CameraShake = new CameraShake(strength, radius, smoothness, radius_decay_speed);
347 }
348
349 override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
350 {
351 if (!m_pPlayer || !PlayerBase.Cast(m_pPlayer))
352 {
353 Debug.Log("DayZPlayerCameraBase | OnUpdate | no player!");
354 return;
355 }
356
357 if (PlayerBase.Cast(m_pPlayer).GetCurrentCamera() != this)
358 {
359 //Print("DayZPlayerCameraBase | OnUpdate | unused camera! | " + this + "/" + PlayerBase.Cast(m_pPlayer).GetCurrentCamera());
360 return;
361 }
362
363 super.OnUpdate(pDt, pOutResult);
364 StdFovUpdate(pDt, pOutResult);
367 }
368
369 override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
370 {
371 InitCameraOnPlayer(true);
372 SetCameraPPDelay(pPrevCamera);
373
374 if (DayZPlayerCameraBase.Cast(pPrevCamera) && DayZPlayerCameraBase.Cast(pPrevCamera).IsCameraNV() && !IsCameraNV())
375 {
376 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_TRANSITIVE) );
377 }
378
379 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallLater(SetCameraPP,m_CameraPPDelay*1000,false,true,this); // this takes care of weapon/optics postprocessing
380 DayZPlayerCameraOptics optic_camera;
381 if (DayZPlayerCamera.CastTo(optic_camera,pPrevCamera))
382 {
383 GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(PlayerBase.Cast(m_pPlayer).HideClothing,null,false);
384 }
385 }
386
388 {
390 }
391
392 override string GetCameraName()
393 {
394 return "DayZPlayerCameraBase";
395 }
396
398 {
399 }
400
401 void SetCameraNV(bool nightvision)
402 {
403 m_IsNightvision = nightvision;
404 }
405
407 {
408 return m_IsNightvision;
409 }
410
411 void SetCameraNVType(int type)
412 {
413 m_NightvisionType = type;
414 }
415
417 {
418 return m_NightvisionType;
419 }
420
422 {
423 if ( !player )
424 return;
425
426 if ( player.IsNVGWorking() != IsCameraNV() || player.GetNVType() != GetCameraNVType() )
427 {
428 SetCameraNV(player.IsNVGWorking());
429 SetCameraNVType(player.GetNVType());
430 SetCameraPP(true, this);
431 }
432 }
433
435 void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
436 {
437 PPERequesterBank.GetRequester(PPERequester_CameraADS).Stop();
438
439 if (IsCameraNV())
440 {
442 }
443 else
444 {
446 }
447
448 m_weaponUsed = Weapon_Base.Cast(m_pPlayer.GetHumanInventory().GetEntityInHands());
449 if (m_weaponUsed)
450 {
451 m_weaponUsed.HideWeaponBarrel(false);
452 }
453 }
454
455 override float GetCurrentYaw()
456 {
457 return m_CurrentCameraYaw;
458 }
459
460 override float GetCurrentPitch()
461 {
463 }
464
465 override float GetCurrentRoll()
466 {
467 return m_CurrentCameraRoll;
468 }
469
470 void ForceFreelook(bool state)
471 {
472 m_bForceFreeLook = state;
473 }
474
475 //TODO - better handling of distinct occluder types
477 void SetNVPostprocess(int NVtype)
478 {
479 //Print("+++Setting NV type: " + NVtype + " +++");
480 switch (NVtype)
481 {
482 case NVTypes.NONE:
483 {
484 PPERequesterBank.GetRequester(PPERequester_CameraNV).Stop();
485 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
486 {
487 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
488 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
489 }
490 }
491 break;
492
493 //night-vision modes
494 case NVTypes.NV_OPTICS_KAZUAR_NIGHT:
495 case NVTypes.NV_OPTICS_STARLIGHT_NIGHT:
496 case NVTypes.NV_OPTICS_ON:
497 {
498 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DEFAULT_OPTICS) );
499 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
500 {
501 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
502 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
503 }
504 }
505 break;
506
507 //daytime filter modes
508 case NVTypes.NV_OPTICS_KAZUAR_DAY:
509 case NVTypes.NV_OPTICS_STARLIGHT_DAY:
510 {
511 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DAYTIME_OPTICS) );
512 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
513 {
514 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
515 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
516 }
517 }
518 break;
519
520 case NVTypes.NV_GOGGLES_OFF:
521 case NVTypes.NV_OPTICS_OFF:
522 {
523 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_NO_BATTERY) );
524 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
525 {
526 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
527 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
528 }
529 }
530 break;
531
532 case NVTypes.NV_GOGGLES:
533 {
534 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DEFAULT_GLASSES) );
535 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
536 {
537 GetGame().GetMission().GetEffectWidgets().AddActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
538 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
539 }
540 }
541 break;
542
543 case NVTypes.NV_PUMPKIN:
544 {
545 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_PUMPKIN) );
546 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
547 {
548 GetGame().GetMission().GetEffectWidgets().AddActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
549 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
550 }
551 }
552 break;
553 }
554
555 if (PlayerBaseClient.Cast(m_pPlayer))
556 {
557 PlayerBaseClient.Cast(m_pPlayer).SwitchPersonalLight(NVtype < 1);
558 }
559 }
560
561 void InitCameraOnPlayer(bool force = false)
562 {
563 PlayerBase player = PlayerBase.Cast(m_pPlayer);
564 if (!player.GetCurrentPlayerCamera() || (force && player.GetCurrentPlayerCamera() != this))
565 {
566 player.OnCameraChanged(this);
567 }
568 }
569
570 protected float m_fLRAngleVel[1];
571 protected float m_fUDAngleVel[1];
572 protected float m_fFovAbsVel[1];
573 protected float m_fFovAbsolute;
574 protected bool m_bForceFreeLook;
575 protected float m_WeaponSwayModifier;
576 protected float m_CameraPPDelay;
577
578 protected float m_CurrentCameraYaw;
579 protected float m_CurrentCameraPitch;
580 protected float m_CurrentCameraRoll;
581
583 protected bool m_IsNightvision;
584 protected int m_NightvisionType;
585}
DayZGame GetDayZGame()
Определения DayZGame.c:3870
float m_fUDAngleVel[1]
Определения DayZPlayerCamera_Base.c:571
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:190
ref CameraShake m_CameraShake
Определения DayZPlayerCamera_Base.c:75
float m_CurrentCameraYaw
Определения DayZPlayerCamera_Base.c:578
bool m_IsNightvision
Определения DayZPlayerCamera_Base.c:583
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
int m_NightvisionType
Определения DayZPlayerCamera_Base.c:584
Weapon_Base m_weaponUsed
Определения DayZPlayerCamera_Base.c:73
void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCamera_Base.c:315
NVTypes
Определения DayZPlayerCamera_Base.c:55
@ NV_GOGGLES_OFF
Определения DayZPlayerCamera_Base.c:58
@ NV_PUMPKIN
Определения DayZPlayerCamera_Base.c:61
@ NV_OPTICS_OFF
Определения DayZPlayerCamera_Base.c:60
@ NV_OPTICS_ON
Определения DayZPlayerCamera_Base.c:59
@ NV_OPTICS_STARLIGHT_DAY
Определения DayZPlayerCamera_Base.c:64
@ NV_OPTICS_KAZUAR_DAY
Определения DayZPlayerCamera_Base.c:62
@ NV_GOGGLES
Определения DayZPlayerCamera_Base.c:57
@ NV_OPTICS_STARLIGHT_NIGHT
Определения DayZPlayerCamera_Base.c:65
@ NV_OPTICS_KAZUAR_NIGHT
Определения DayZPlayerCamera_Base.c:63
float m_CurrentCameraRoll
Определения DayZPlayerCamera_Base.c:580
bool IsCameraNV()
Определения DayZPlayerCamera_Base.c:406
float fixAngle_PI_PI(float pAngle)
Определения DayZPlayerCamera_Base.c:19
float UpdateLRAngle(float pAngle, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:281
bool m_bForceFreeLook
Определения DayZPlayerCamera_Base.c:574
float m_CameraPPDelay
Определения DayZPlayerCamera_Base.c:576
float GetWeaponSwayModifier()
Определения DayZPlayerCamera_Base.c:387
void DayZPlayerCameraBase(DayZPlayer pPlayer, HumanInputController pInput)
constructor must be same
Определения DayZPlayerCamera_Base.c:78
void SetNVPostprocess(int NVtype)
DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::Get...
Определения DayZPlayerCamera_Base.c:477
void InitCameraOnPlayer(bool force=false)
Определения DayZPlayerCamera_Base.c:561
void HandleShoulderCameraOverride(HumanInputController pInput)
Определения DayZPlayerCamera_Base.c:102
void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
by default sets camera PP to zero, regardless of parameter. Override if needed.
Определения DayZPlayerCamera_Base.c:435
float fixAngle_180_180(float pAngle)
Определения DayZPlayerCamera_Base.c:36
void SetCameraNV(bool nightvision)
Определения DayZPlayerCamera_Base.c:401
float m_WeaponSwayModifier
Определения DayZPlayerCamera_Base.c:575
enum NVTypes CONST_NEARPLANE_OPTICS_MIN
void UpdateCameraNV(PlayerBase player)
Определения DayZPlayerCamera_Base.c:421
void SetCameraNVType(int type)
Определения DayZPlayerCamera_Base.c:411
float m_fFovAbsVel[1]
Определения DayZPlayerCamera_Base.c:572
int GetCameraNVType()
Определения DayZPlayerCamera_Base.c:416
void ForceFreelook(bool state)
Определения DayZPlayerCamera_Base.c:470
ItemOptics m_opticsUsed
Определения DayZPlayerCamera_Base.c:74
float UpdateUDAngle(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:229
HumanCommandWeapons m_CommandWeapons
Определения DayZPlayerCamera_Base.c:582
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
Определения DayZPlayerCamera_Base.c:108
float m_fLRAngleVel[1]
Определения DayZPlayerCamera_Base.c:570
void DayZPlayerCameraOptics(DayZPlayer pPlayer, HumanInputController pInput)
Определения DayZPlayerCameraIronsights.c:365
override void Init()
Launched from 'DayZGame.DeferredInit' to make earlier access, use, and updates impossible (downside o...
Определения DayZPlayerCameraIronsights.c:372
ECameraZoomType
Определения ECameraZoomType.c:2
const int MAX
Определения EnConvert.c:27
Icon x
Icon y
void OnActivate()
Определения Trap_LandMine.c:67
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
proto native Mission GetMission()
Определения CameraShake.c:2
override void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
Определения DayZPlayerCameraIronsights.c:256
override void SetCameraPPDelay(DayZPlayerCamera pPrevCamera)
Определения DayZPlayerCameraIronsights.c:320
override string GetCameraName()
Определения DayZPlayerCamera1stPerson.c:85
this is main camera class
Определения DayZPlayerCamera1stPerson.c:5
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Определения Debug.c:122
Определения Debug.c:2
override void RemoveActiveEffects(array< int > effects)
Определения GameplayEffectWidgets.c:301
override void AddActiveEffects(array< int > effects)
Определения GameplayEffectWidgets.c:281
Определения human.c:994
Определения human.c:18
Определения ItemOptics.c:2
Определения EnMath.c:7
GameplayEffectWidgets_base GetEffectWidgets()
Определения SurvivorBase.c:2
Определения PlayerBaseClient.c:2
proto void Call(func fn, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
shorthand
Определения BoltActionRifle_Base.c:6
float GetCurrentRoll()
Определения dayzplayer.c:107
float GetCurrentYaw()
Определения dayzplayer.c:97
void SpawnCameraShakeProper(float strength, float radius, float smoothness, float radius_decay_speed)
Определения DayZPlayerCamera_Base.c:344
DayZPlayer m_pPlayer
data
Определения dayzplayer.c:135
HumanInputController m_pInput
human input
Определения dayzplayer.c:136
float GetCurrentPitch()
Определения dayzplayer.c:102
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
proto native CGame GetGame()
static const float PI2
Определения EnMath.c:13
static const float RAD2DEG
Определения EnMath.c:16
static proto float AbsFloat(float f)
Returns absolute value.
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.
static const float PI
Определения EnMath.c:12
@ NONE
No flags.
Определения EnProfiler.c:11
Limit
proto native void OnUpdate()
Определения tools.c:349
const int CALL_CATEGORY_GUI
Определения tools.c:9
HumanInputControllerOverrideType
Определения human.c:8