DayZ 1.28
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
69
71{
72 static const float CONST_NEARPLANE_OPTICS_MIN = 0.04; //Minimal safe near plane value, artifacts on the far plane otherwise!
73
77
80 {
81 m_fLRAngleVel[0] = 0;
82 m_fUDAngleVel[0] = 0;
83 m_fFovAbsVel[0] = 0;
85
86 m_fFovAbsolute = GetDayZGame().GetFOVByZoomType(m_pPlayer.GetEyeZoomLevel());
88 /*
89 {
90 int perItemCamUD = pPlayer.GetCurrentPerItemCameraUD();
91 string a = "Per Item Camera User Data: " + perItemCamUD.ToString();
92 Print(a);
93 }
94 */
96
97 m_CommandWeapons = pPlayer.GetCommandModifier_Weapons();
98 Init();
100 };
101
102 //disabled by default, overrides on select 3rd person cameras
104 {
106 m_pInput.Override3rdIsRightShoulder(HumanInputControllerOverrideType.DISABLED, false);
107 }
108
109 void ProcessCameraShake(float delta, out float leftRight, out float upDown)
110 {
111 if (m_CameraShake)
112 {
113 float x,y;
114 m_CameraShake.Update(delta, x, y);
115 leftRight += x;
116 upDown += y;
117 }
118 }
119
120 void Init()
121 {
122 PlayerBase player = PlayerBase.Cast(m_pPlayer);
123 if ( player && player.IsNVGWorking() != IsCameraNV() )
124 {
125 SetCameraNV(player.IsNVGWorking());
126 SetCameraNVType(player.GetNVType());
127 }
128 }
129
130 float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
131 {
132 float target = m_CommandWeapons.GetBaseAimingAngleUD();
133
134 if (m_pInput.CameraIsTracking())
135 {
136 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
137 pAngle = target;
138
139 m_fUDAngleVel[0] = 0;
140 }
141 else
142 {
143 if (Math.AbsFloat(pAngleAdd) > 0.001)
144 {
145 pAngleAdd = pAngle + pAngleAdd - target;
146 pAngle = target;
147 }
148
149 if (m_pInput.CameraIsFreeLook())
150 {
151 pAngleAdd += m_pInput.GetAimDelta(pDt)[1] * Math.RAD2DEG;
152
153 m_fUDAngleVel[0] = 0;
154 }
155 else
156 {
157 PlayerBase player = PlayerBase.Cast(m_pPlayer);
158 if (player) // handle locking of camera U/D angle movement when performing an action and not in freelook
159 {
160 float pitch = pAngle + pAngleAdd;
161 float downLimit, upLimit, leftLimit, rightLimit;
162 player.GetLookLimits(downLimit, upLimit, leftLimit, rightLimit);
163
164 if (pitch < (upLimit + 1) && pitch > (downLimit - 1)) // stop smoothing once within sufficiently small difference
165 {
166 pMin = downLimit;
167 pMax = upLimit;
168 }
169 else // smooth camera to locked angle, avoiding snap from the angle we started the action to the limit
170 {
171 float vel[1] = m_fUDAngleVel;
172 pMin = Math.SmoothCD(pitch, downLimit, vel, 0.2, 1000, pDt);
173 pMax = Math.SmoothCD(pitch, upLimit, vel, 0.2, 1000, pDt);
174 }
175 }
176
177 pAngleAdd = Math.SmoothCD(pAngleAdd, 0.0, m_fUDAngleVel, 0.14, 1000, pDt);
178 }
179
180 if (!m_pInput.CameraIsFreeLook())
181 {
182 pAngle += m_pInput.GetAimDelta(pDt)[1] * Math.RAD2DEG;
183 }
184 }
185
186 pAngle = Limit(pAngle, pMin, pMax);
187 pAngleAdd = Limit(pAngle + pAngleAdd, pMin, pMax) - pAngle;
188 return pAngle + pAngleAdd;
189 }
190
191 float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
192 {
193 float target = 0;
194
195 if (m_pInput.CameraIsTracking())
196 {
197 pAngleAdd = m_pInput.GetTracking()[0] * Math.RAD2DEG;
198 pAngle = target;
199
200 m_fUDAngleVel[0] = 0;
201 }
202 else
203 {
204 if (Math.AbsFloat(pAngleAdd) > 0.001)
205 {
206 pAngleAdd = pAngle + pAngleAdd - target;
207 pAngle = target;
208 }
209
210 if (m_pInput.CameraIsFreeLook() || m_bForceFreeLook)
211 {
212 pAngleAdd += m_pInput.GetAimDelta(pDt)[0] * Math.RAD2DEG;
213
214 m_fLRAngleVel[0] = 0;
215 }
216 else
217 {
218 pAngleAdd = Math.SmoothCD(pAngleAdd, 0.0, m_fLRAngleVel, 0.14, 1000, pDt);
219 }
220
221 pAngleAdd = pAngleAdd + pAngle;
222 }
223
224 pAngle = Limit(pAngle, pMin, pMax);
225 pAngleAdd = Limit(pAngle + pAngleAdd, pMin, pMax) - pAngle;
226
227 return pAngle + pAngleAdd;
228 }
229
230 float UpdateUDAngle(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
231 {
232 if (Math.AbsFloat(pAngleAdd) > 0.001)
233 {
234 float aimingUDAngle = m_CommandWeapons.GetBaseAimingAngleUD();
235
238
239 // override actual angle
240 pAngleAdd = pAngle + pAngleAdd - aimingUDAngle;
241 pAngle = aimingUDAngle;
242
243 // Print("Angle: " + pAngle.ToString() + " Aim: " + actualUDAngle.ToString() );
244 }
245
247 if( m_pInput.CameraIsFreeLook() )
248 {
249 pAngleAdd += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
250 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
251
252 m_fUDAngleVel[0] = 0;
253 }
254 else
255 {
256 if( m_pInput.CameraIsTracking() )
257 {
258 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
259 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
260
261 m_fUDAngleVel[0] = 0;
262 }
263 else
264 {
266 pAngle += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
267 pAngle = Limit(pAngle, pMin, pMax);
268
269 pAngleAdd = Math.SmoothCD(pAngleAdd, 0, m_fUDAngleVel, 0.14, 1000, pDt);
270 }
271 }
272
273 /*{
274 float change = m_pInput.GetAimChange()[1] * Math.RAD2DEG;
275
276 Print ("Script: Camera ud angle: " + pAngle.ToString() + " change: " + change.ToString() );
277 }*/
278
279 return Limit(pAngle + pAngleAdd, pMin, pMax);
280 }
281
282 float UpdateLRAngle(float pAngle, float pMin, float pMax, float pDt)
283 {
285 if (m_pInput.CameraIsFreeLook() || m_bForceFreeLook)
286 {
288 pAngle += m_pInput.GetAimChange()[0] * Math.RAD2DEG;
289 pAngle = Limit(pAngle, pMin, pMax);
290
291 m_fLRAngleVel[0] = 0; // reset filter
292
293 }
294 else
295 {
296 if( m_pInput.CameraIsTracking() )
297 {
298 pAngle = m_pInput.GetTracking()[0] * Math.RAD2DEG;
299 pAngle = Limit(-pAngle, pMin, pMax);
300
301 m_fLRAngleVel[0] = 0; // reset filter
302 }
303 else
304 {
305 // smooth value back to 0
306 pAngle = Math.SmoothCD(pAngle, 0, m_fLRAngleVel, 0.14, 1000, pDt);
307 // m_fLeftRightAngle = 0.9 * (1.0 - pDt);
308 }
309 }
310
311 return pAngle;
312 }
313
314
315
316 void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
317 {
319 switch (m_pPlayer.GetEyeZoomLevel())
320 {
321 // ordered in likelihood of occurance for perf. reasons
322 case ECameraZoomType.NONE:
323 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NONE), m_fFovAbsVel, 0.1, 1000, pDt);
324 break;
325 case ECameraZoomType.NORMAL:
326 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NORMAL), m_fFovAbsVel, 0.1, 1000, pDt);
327 break;
328 case ECameraZoomType.SHALLOW:
329 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.SHALLOW), m_fFovAbsVel, 0.1, 1000, pDt);
330 break;
331 default:
332 m_fFovAbsolute = Math.SmoothCD(m_fFovAbsolute, GetDayZGame().GetFOVByZoomType(ECameraZoomType.NONE), m_fFovAbsVel, 0.1, 1000, pDt);
333 break;
334 }
335
336 pOutResult.m_fFovAbsolute = m_fFovAbsolute;
337
339 if (!m_pPlayer.IsShootingFromCamera())
340 {
341 pOutResult.m_fShootFromCamera = 0.0;
342 }
343 }
344
345 override void SpawnCameraShakeProper(float strength, float radius, float smoothness, float radius_decay_speed)
346 {
347 m_CameraShake = new CameraShake(strength, radius, smoothness, radius_decay_speed);
348 }
349
350 override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
351 {
352 if (!m_pPlayer || !PlayerBase.Cast(m_pPlayer))
353 {
354 Debug.Log("DayZPlayerCameraBase | OnUpdate | no player!");
355 return;
356 }
357
358 if (PlayerBase.Cast(m_pPlayer).GetCurrentCamera() != this)
359 {
360 //Print("DayZPlayerCameraBase | OnUpdate | unused camera! | " + this + "/" + PlayerBase.Cast(m_pPlayer).GetCurrentCamera());
361 return;
362 }
363
364 super.OnUpdate(pDt, pOutResult);
365 StdFovUpdate(pDt, pOutResult);
368 }
369
370 override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
371 {
372 InitCameraOnPlayer(true);
373 SetCameraPPDelay(pPrevCamera);
374
375 if (DayZPlayerCameraBase.Cast(pPrevCamera) && DayZPlayerCameraBase.Cast(pPrevCamera).IsCameraNV() && !IsCameraNV())
376 {
377 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_TRANSITIVE) );
378 }
379
380 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallLater(SetCameraPP,m_CameraPPDelay*1000,false,true,this); // this takes care of weapon/optics postprocessing
381 DayZPlayerCameraOptics optic_camera;
382 if (DayZPlayerCamera.CastTo(optic_camera,pPrevCamera))
383 {
384 GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(PlayerBase.Cast(m_pPlayer).HideClothing,null,false);
385 }
386 }
387
389 {
391 }
392
393 override string GetCameraName()
394 {
395 return "DayZPlayerCameraBase";
396 }
397
399 {
400 }
401
402 void SetCameraNV(bool nightvision)
403 {
404 m_IsNightvision = nightvision;
405 }
406
408 {
409 return m_IsNightvision;
410 }
411
412 void SetCameraNVType(int type)
413 {
414 m_NightvisionType = type;
415 }
416
418 {
419 return m_NightvisionType;
420 }
421
423 {
424 if ( !player )
425 return;
426
427 if ( player.IsNVGWorking() != IsCameraNV() || player.GetNVType() != GetCameraNVType() )
428 {
429 SetCameraNV(player.IsNVGWorking());
430 SetCameraNVType(player.GetNVType());
431 SetCameraPP(true, this);
432 }
433 }
434
436 void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
437 {
438 PPERequesterBank.GetRequester(PPERequester_CameraADS).Stop();
439
440 if (IsCameraNV())
441 {
443 }
444 else
445 {
447 }
448
449 m_weaponUsed = Weapon_Base.Cast(m_pPlayer.GetHumanInventory().GetEntityInHands());
450 if (m_weaponUsed)
451 {
452 m_weaponUsed.HideWeaponBarrel(false);
453 }
454 }
455
456 override float GetCurrentYaw()
457 {
458 return m_CurrentCameraYaw;
459 }
460
461 override float GetCurrentPitch()
462 {
464 }
465
466 override float GetCurrentRoll()
467 {
468 return m_CurrentCameraRoll;
469 }
470
471 void ForceFreelook(bool state)
472 {
473 m_bForceFreeLook = state;
474 }
475
476 //TODO - better handling of distinct occluder types
478 void SetNVPostprocess(int NVtype)
479 {
480 //remove ALL conflicting NV occluders first
481 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
482 GetGame().GetMission().GetEffectWidgets().RemoveActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER,EffectWidgetsTypes.PUMPKIN_OCCLUDER});
483
484 switch (NVtype)
485 {
486 case NVTypes.NONE:
487 {
488 PPERequesterBank.GetRequester(PPERequester_CameraNV).Stop();
489 }
490 break;
491
492 //night-vision modes
493 case NVTypes.NV_OPTICS_KAZUAR_NIGHT:
494 case NVTypes.NV_OPTICS_STARLIGHT_NIGHT:
495 case NVTypes.NV_OPTICS_ON:
496 {
497 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DEFAULT_OPTICS) );
498 }
499 break;
500
501 //daytime filter modes
502 case NVTypes.NV_OPTICS_KAZUAR_DAY:
503 case NVTypes.NV_OPTICS_STARLIGHT_DAY:
504 {
505 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DAYTIME_OPTICS) );
506 }
507 break;
508
509 case NVTypes.NV_GOGGLES_OFF:
510 case NVTypes.NV_OPTICS_OFF:
511 {
512 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_NO_BATTERY) );
513 }
514 break;
515
516 case NVTypes.NV_GOGGLES:
517 {
518 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DEFAULT_GLASSES) );
519 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
520 GetGame().GetMission().GetEffectWidgets().AddActiveEffects({EffectWidgetsTypes.NVG_OCCLUDER});
521 }
522 break;
523
524 case NVTypes.NV_GOGGLES_2D:
525 {
526 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_DEFAULT_GLASSES) );
527 }
528 break;
529
530 case NVTypes.NV_PUMPKIN:
531 {
532 PPERequesterBank.GetRequester(PPERequesterBank.REQ_CAMERANV).Start( new Param1<int>(PPERequester_CameraNV.NV_PUMPKIN) );
533 if (GetGame().GetMission() && GetGame().GetMission().GetEffectWidgets())
534 GetGame().GetMission().GetEffectWidgets().AddActiveEffects({EffectWidgetsTypes.PUMPKIN_OCCLUDER});
535 }
536 break;
537 }
538
539 if (PlayerBaseClient.Cast(m_pPlayer))
540 {
541 PlayerBaseClient.Cast(m_pPlayer).SwitchPersonalLight(NVtype < 1);
542 }
543 }
544
545 void InitCameraOnPlayer(bool force = false)
546 {
547 PlayerBase player = PlayerBase.Cast(m_pPlayer);
548 if (!player.GetCurrentPlayerCamera() || (force && player.GetCurrentPlayerCamera() != this))
549 {
550 player.OnCameraChanged(this);
551 }
552 }
553
554 protected float m_fLRAngleVel[1];
555 protected float m_fUDAngleVel[1];
556 protected float m_fFovAbsVel[1];
557 protected float m_fFovAbsolute;
558 protected bool m_bForceFreeLook;
559 protected float m_WeaponSwayModifier;
560 protected float m_CameraPPDelay;
561
562 protected float m_CurrentCameraYaw;
563 protected float m_CurrentCameraPitch;
564 protected float m_CurrentCameraRoll;
565
567 protected bool m_IsNightvision;
568 protected int m_NightvisionType;
569}
DayZGame GetDayZGame()
Определения DayZGame.c:3870
float m_fUDAngleVel[1]
Определения DayZPlayerCamera_Base.c:555
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:191
ref CameraShake m_CameraShake
Определения DayZPlayerCamera_Base.c:76
float m_CurrentCameraYaw
Определения DayZPlayerCamera_Base.c:562
bool m_IsNightvision
Определения DayZPlayerCamera_Base.c:567
float m_CurrentCameraPitch
Определения DayZPlayerCamera_Base.c:563
float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:130
int m_NightvisionType
Определения DayZPlayerCamera_Base.c:568
Weapon_Base m_weaponUsed
Определения DayZPlayerCamera_Base.c:74
void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
Определения DayZPlayerCamera_Base.c:316
NVTypes
Определения DayZPlayerCamera_Base.c:55
@ NV_GOGGLES_OFF
Определения DayZPlayerCamera_Base.c:59
@ NV_PUMPKIN
Определения DayZPlayerCamera_Base.c:62
@ NV_OPTICS_OFF
Определения DayZPlayerCamera_Base.c:61
@ NV_OPTICS_ON
Определения DayZPlayerCamera_Base.c:60
@ NV_OPTICS_STARLIGHT_DAY
Определения DayZPlayerCamera_Base.c:65
@ NV_OPTICS_KAZUAR_DAY
Определения DayZPlayerCamera_Base.c:63
@ NV_GOGGLES
Определения DayZPlayerCamera_Base.c:57
@ NV_GOGGLES_2D
Определения DayZPlayerCamera_Base.c:58
@ NV_OPTICS_STARLIGHT_NIGHT
Определения DayZPlayerCamera_Base.c:66
@ NV_OPTICS_KAZUAR_NIGHT
Определения DayZPlayerCamera_Base.c:64
float m_CurrentCameraRoll
Определения DayZPlayerCamera_Base.c:564
bool IsCameraNV()
Определения DayZPlayerCamera_Base.c:407
float fixAngle_PI_PI(float pAngle)
Определения DayZPlayerCamera_Base.c:19
float UpdateLRAngle(float pAngle, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:282
bool m_bForceFreeLook
Определения DayZPlayerCamera_Base.c:558
float m_CameraPPDelay
Определения DayZPlayerCamera_Base.c:560
float GetWeaponSwayModifier()
Определения DayZPlayerCamera_Base.c:388
void DayZPlayerCameraBase(DayZPlayer pPlayer, HumanInputController pInput)
constructor must be same
Определения DayZPlayerCamera_Base.c:79
void SetNVPostprocess(int NVtype)
DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::Get...
Определения DayZPlayerCamera_Base.c:478
void InitCameraOnPlayer(bool force=false)
Определения DayZPlayerCamera_Base.c:545
void HandleShoulderCameraOverride(HumanInputController pInput)
Определения DayZPlayerCamera_Base.c:103
void SetCameraPP(bool state, DayZPlayerCamera launchedFrom)
by default sets camera PP to zero, regardless of parameter. Override if needed.
Определения DayZPlayerCamera_Base.c:436
float fixAngle_180_180(float pAngle)
Определения DayZPlayerCamera_Base.c:36
void SetCameraNV(bool nightvision)
Определения DayZPlayerCamera_Base.c:402
float m_WeaponSwayModifier
Определения DayZPlayerCamera_Base.c:559
enum NVTypes CONST_NEARPLANE_OPTICS_MIN
void UpdateCameraNV(PlayerBase player)
Определения DayZPlayerCamera_Base.c:422
void SetCameraNVType(int type)
Определения DayZPlayerCamera_Base.c:412
float m_fFovAbsVel[1]
Определения DayZPlayerCamera_Base.c:556
int GetCameraNVType()
Определения DayZPlayerCamera_Base.c:417
void ForceFreelook(bool state)
Определения DayZPlayerCamera_Base.c:471
ItemOptics m_opticsUsed
Определения DayZPlayerCamera_Base.c:75
float UpdateUDAngle(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
Определения DayZPlayerCamera_Base.c:230
HumanCommandWeapons m_CommandWeapons
Определения DayZPlayerCamera_Base.c:566
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
Определения DayZPlayerCamera_Base.c:109
float m_fLRAngleVel[1]
Определения DayZPlayerCamera_Base.c:554
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.
Определения 3_Game/tools/Debug.c:122
Определения 3_Game/tools/Debug.c:2
override void RemoveActiveEffects(array< int > effects)
Определения GameplayEffectWidgets.c:320
override void AddActiveEffects(array< int > effects)
Определения GameplayEffectWidgets.c:300
Определения human.c:998
Определения 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:345
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()
Определения 3_Game/tools/tools.c:349
const int CALL_CATEGORY_GUI
Определения 3_Game/tools/tools.c:9
HumanInputControllerOverrideType
Определения human.c:8