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

◆ SetCameraPP()

override void SetCameraPP ( bool state,
DayZPlayerCamera launchedFrom )
protected

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

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 }
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
void SetNVPostprocess(int NVtype)
DayZPlayerCameraOptics handles this separately, otherwise it takes active NVType from PlayerBase::Get...
Определения DayZPlayerCamera_Base.c:497
void SetCameraNV(bool nightvision)
Определения DayZPlayerCamera_Base.c:409
int GetCameraNVType()
Определения DayZPlayerCamera_Base.c:424
ItemOptics m_opticsUsed
Определения DayZPlayerCamera_Base.c:95
Определения PlayerBaseClient.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayer m_pPlayer
data
Определения dayzplayer.c:135

Перекрестные ссылки DayZPlayerCamera(), GetCameraNVType(), IsCameraNV(), m_opticsUsed, m_pPlayer, m_ResolvedNVType, m_weaponUsed, ResolveNVType(), SetCameraNV() и SetNVPostprocess().