MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / UpdateCL

Method UpdateCL

ogsr_engine/xrGame/Actor.cpp:771–917  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

769bool Is3dssZoomed{};
770
771void CActor::UpdateCL()
772{
773 if (m_feel_touch_characters > 0)
774 {
775 for (xr_vector<CObject*>::iterator it = feel_touch.begin(); it != feel_touch.end(); it++)
776 {
777 CPhysicsShellHolder* sh = smart_cast<CPhysicsShellHolder*>(*it);
778 if (sh && sh->character_physics_support())
779 {
780 sh->character_physics_support()->movement()->UpdateObjectBox(character_physics_support()->movement()->PHCharacter());
781 }
782 }
783 }
784
785 m_snd_noise -= 0.3f * Device.fTimeDelta;
786
787 VERIFY2(_valid(renderable.xform), *cName());
788 inherited::UpdateCL();
789 VERIFY2(_valid(renderable.xform), *cName());
790 m_pPhysics_support->in_UpdateCL();
791 VERIFY2(_valid(renderable.xform), *cName());
792
793 Visual()->dcast_PKinematics()->CalculateBones(TRUE);
794
795 if (g_Alive())
796 PickupModeUpdate();
797
798 PickupModeUpdate_COD();
799
800 if (Level().CurrentEntity() && this->ID() == Level().CurrentEntity()->ID())
801 {
802 psHUD_Flags.set(HUD_CROSSHAIR_RT2, true);
803 psHUD_Flags.set(HUD_DRAW_RT, true);
804 }
805
806 Is3dssZoomed = false;
807 m_bZoomAimingMode = false;
808
809 if (CWeapon* pWeapon = smart_cast<CWeapon*>(inventory().ActiveItem()))
810 {
811 if (pWeapon->IsZoomed())
812 {
813 float full_fire_disp = pWeapon->GetFireDispersion(true);
814
815 CEffectorZoomInertion* S = smart_cast<CEffectorZoomInertion*>(Cameras().GetCamEffector(eCEZoom));
816 if (S)
817 S->SetParams(full_fire_disp);
818
819 m_bZoomAimingMode = true;
820
821 Is3dssZoomed = !pWeapon->IsRotatingToZoom() && pWeapon->Is3dssEnabled();
822 }
823
824 if (Level().CurrentEntity() && this->ID() == Level().CurrentEntity()->ID())
825 {
826 float fire_disp_full = pWeapon->GetFireDispersion(true);
827
828 HUD().SetCrosshairDisp(fire_disp_full, 0.02f);

Callers

nothing calls this directly

Calls 15

VisualFunction · 0.85
g_AliveFunction · 0.85
updateFunction · 0.85
xr_deleteFunction · 0.85
UpdateObjectBoxMethod · 0.80
movementMethod · 0.80
PHCharacterMethod · 0.80
in_UpdateCLMethod · 0.80
ActiveItemMethod · 0.80
GetFireDispersionMethod · 0.80
GetCamEffectorMethod · 0.80

Tested by

no test coverage detected