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

Method Update

ogsr_engine/xrGame/HudItem.cpp:1231–1327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1229}
1230
1231void CHudItem::CWeaponBobbing::Update(Fmatrix& m, Fmatrix& m2)
1232{
1233 CheckState();
1234
1235 // mmccxvii: Тряска рук при воздействии контролера
1236 const bool ControllerCondition = Actor()->PsyAuraAffect;
1237
1238 if ((dwMState & ACTOR_DEFS::mcAnyMove) || ControllerCondition)
1239
1240 {
1241 if (fReminderFactor < 1.f)
1242 fReminderFactor += SPEED_REMINDER * Device.fTimeDelta;
1243 else
1244 fReminderFactor = 1.f;
1245 }
1246 else
1247 {
1248 if (fReminderFactor > 0.f)
1249 fReminderFactor -= SPEED_REMINDER * Device.fTimeDelta;
1250 else
1251 fReminderFactor = 0.f;
1252 }
1253
1254 if (!fsimilar(fReminderFactor, 0))
1255 {
1256 float k = (dwMState & ACTOR_DEFS::mcCrouch) ? m_fCrouchFactor : 1.f;
1257 float k2 = k;
1258
1259 if (m_bZoomMode)
1260 {
1261 float zoom_factor = m_fZoomFactor;
1262
1263 auto wpn = smart_cast<CWeapon*>(parent_hud_item);
1264 if (wpn && wpn->IsScopeAttached() && !wpn->IsGrenadeMode())
1265 zoom_factor = m_fScopeZoomFactor;
1266
1267 k2 *= zoom_factor;
1268 }
1269
1270 float A, ST;
1271
1272 // mmccxvii: Тряска рук при воздействии контролера
1273 if (ControllerCondition)
1274 {
1275 A = m_fAmplitudeController * k;
1276 ST = m_fSpeedRun * 10 * fTime * k;
1277 }
1278 else if (isActorAccelerated(dwMState, m_bZoomMode))
1279 {
1280 A = m_fAmplitudeRun * k2;
1281 ST = m_fSpeedRun * fTime * k;
1282 }
1283 else if (is_limping)
1284 {
1285 A = m_fAmplitudeLimp * k2;
1286 ST = m_fSpeedLimp * fTime * k;
1287 }
1288 else

Callers 15

UpdateCLMethod · 0.45
cam_UpdateMethod · 0.45
UpdateCLMethod · 0.45
activate_physic_shellMethod · 0.45
UpdateCLMethod · 0.45
updateMethod · 0.45
cam_UpdateMethod · 0.45
VisualUpdateMethod · 0.45
UpdateExhaustsMethod · 0.45
PhDataUpdateMethod · 0.45
ActivateMethod · 0.45
OnDrawUIMethod · 0.45

Calls 12

ActorFunction · 0.85
fsimilarFunction · 0.85
isActorAcceleratedFunction · 0.85
_sinFunction · 0.85
_cosFunction · 0.85
IsScopeAttachedMethod · 0.80
randFMethod · 0.80
setHPBMethod · 0.80
_absFunction · 0.50
IsGrenadeModeMethod · 0.45
mulMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected