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

◆ HeadingModel()

override bool DayZPlayer::HeadingModel ( float pDt,
SDayZPlayerHeadingModel pModel )
inlineprotected

is replayed after correction when 'NetworkRewindType.REPLAY' is used

on ladder - do nothing

if it's standing from prone on back

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

1620 {
1621 if (!IsAlive())
1622 {
1623 return false;
1624 }
1625
1626 GetMovementState(m_MovementState);
1627
1629 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
1630 {
1632 return false;
1633 }
1634 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE)
1635 {
1636 HumanCommandVehicle hmv = GetCommand_Vehicle();
1637 if (hmv.IsGettingOut() || hmv.IsGettingIn())
1638 {
1639 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1640 }
1641
1643 return false;
1644 }
1645 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
1646 {
1647 HumanCommandUnconscious hcu = GetCommand_Unconscious();
1648 if (!hcu.IsWakingUp())
1649 {
1651 //pModel.m_iCamMode = DayZPlayerConstants.CAMERAMODE_HEAD;
1652 return false;
1653 }
1654 }
1655
1656 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
1657 {
1659 return false;
1660 }
1661
1662#ifdef DEVELOPER
1663 int actMenuValue = DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_TURNSLIDE);
1664 if (actMenuValue != 0)
1665 {
1667 return DayZPlayerImplementHeading.ClampHeading(pDt, pModel, m_fLastHeadingDiff);
1668 }
1669#endif
1670
1671 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1672 {
1674 return false;
1675 }
1676
1678 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
1679 {
1680 HumanCommandMove hcm = GetCommand_Move();
1681 if (hcm.IsStandingFromBack())
1682 {
1684 return false;
1685 }
1686 }
1687
1688 HumanItemAccessor hia = GetItemAccessor();
1689 HumanItemBehaviorCfg hibcfg = hia.GetItemInHandsBehaviourCfg();
1690 if (hibcfg && hibcfg.m_StanceRotation[m_MovementState.m_iStanceIdx] == DayZPlayerConstants.ROTATION_DISABLE)
1691 {
1692 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1693 }
1694 if (IsUnconscious() || (GetCommand_Move() && GetCommand_Move().IsLeavingUncon()))
1695 {
1696 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1697 }
1698
1699 return DayZPlayerImplementHeading.RotateOrient(pDt, pModel, m_fLastHeadingDiff);
1700 }
ref HumanMovementState m_MovementState
time step for gradual update of dead screen visibilibty up to full visbility [s]
Определения DayZPlayerImplement.c:92
float m_fLastHeadingDiff
Определения DayZPlayerImplement.c:1616
proto native bool IsStandingFromBack()
return true if prone on back is chaning to crounch/stand
proto native bool IsWakingUp()
proto native bool IsGettingIn()
proto native bool IsGettingOut()
int m_StanceRotation[6]
6 stances -> all has movement mask, STANCEIDX_ ... is index
Определения humanitems.c:19
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void HumanCommandMove()
Определения human.c:514
void HumanCommandUnconscious()
Определения human.c:638
proto native bool IsLeavingUncon()
return true if character transitions out of uncon
void HumanItemAccessor()
Определения humanitems.c:141

Перекрестные ссылки DayZPlayerImplementHeading::ClampHeading(), DiagMenu::GetEngineValue(), HumanItemAccessor(), HumanCommandVehicle::IsGettingIn(), HumanCommandVehicle::IsGettingOut(), IsLeavingUncon(), HumanCommandMove::IsStandingFromBack(), HumanCommandUnconscious::IsWakingUp(), m_fLastHeadingDiff, m_MovementState, HumanItemBehaviorCfg::m_StanceRotation, DayZPlayerImplementHeading::NoHeading(), DayZPlayerImplementHeading::RotateOrient() и SDayZPlayerHeadingModel().