DayZ 1.30
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 строка 1635

1636 {
1637 if (!IsAlive())
1638 {
1639 return false;
1640 }
1641
1642 GetMovementState(m_MovementState);
1643
1645 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
1646 {
1648 return false;
1649 }
1650 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE)
1651 {
1652 HumanCommandVehicle hmv = GetCommand_Vehicle();
1653 if (hmv.IsGettingOut() || hmv.IsGettingIn())
1654 {
1655 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1656 }
1657
1659 return false;
1660 }
1661 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
1662 {
1663 HumanCommandUnconscious hcu = GetCommand_Unconscious();
1664 if (!hcu.IsWakingUp())
1665 {
1667 //pModel.m_iCamMode = DayZPlayerConstants.CAMERAMODE_HEAD;
1668 return false;
1669 }
1670 }
1671
1672 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
1673 {
1675 return false;
1676 }
1677
1678#ifdef DEVELOPER
1679 int actMenuValue = DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_TURNSLIDE);
1680 if (actMenuValue != 0)
1681 {
1683 return DayZPlayerImplementHeading.ClampHeading(pDt, pModel, m_fLastHeadingDiff);
1684 }
1685#endif
1686
1687 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1688 {
1690 return false;
1691 }
1692
1694 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
1695 {
1696 HumanCommandMove hcm = GetCommand_Move();
1697 if (hcm.IsStandingFromBack())
1698 {
1700 return false;
1701 }
1702 }
1703
1704 HumanItemAccessor hia = GetItemAccessor();
1705 HumanItemBehaviorCfg hibcfg = hia.GetItemInHandsBehaviourCfg();
1706 if (hibcfg && hibcfg.m_StanceRotation[m_MovementState.m_iStanceIdx] == DayZPlayerConstants.ROTATION_DISABLE)
1707 {
1708 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1709 }
1710 if (IsUnconscious() || (GetCommand_Move() && GetCommand_Move().IsLeavingUncon()))
1711 {
1712 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1713 }
1714
1715 return DayZPlayerImplementHeading.RotateOrient(pDt, pModel, m_fLastHeadingDiff);
1716 }
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:1632
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:534
void HumanCommandUnconscious()
Определения human.c:660
proto native bool IsLeavingUncon()
return true if character transitions out of uncon
void HumanItemAccessor()
Определения humanitems.c:147

Перекрестные ссылки 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().