Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CResolver::AnimationFix(SDK::CBaseEntity * pEnt)
- {
- //who needs structs or classes not me lol
- static float oldSimtime[65];
- static float storedSimtime[65];
- static float ShotTime[65];
- static float SideTime[65][3];
- static int LastDesyncSide[65];
- static bool Delaying[65];
- static SDK::CAnimationLayer StoredLayers[64][15];
- static SDK::CBaseAnimState * StoredAnimState[65];
- static float StoredPosParams[65][24];
- static Vector oldEyeAngles[65];
- static float oldGoalfeetYaw[65];
- float* PosParams = (float*)((uintptr_t)pEnt + 0x2774);
- bool update = false;
- bool shot = false;
- auto& resolve_record = player_resolve_records[pEnt->GetIndex()];
- static bool jittering[65];
- auto* AnimState = pEnt->GetAnimState();
- if (!AnimState)
- return;
- if (!AnimState || !pEnt->GetAnimOverlays() || !PosParams)
- return;
- auto RemapVal = [](float val, float A, float B, float C, float D) -> float
- {
- if (A == B)
- return val >= B ? D : C;
- return C + (D - C) * (val - A) / (B - A);
- };
- //removed
- if (jittering[pEnt->GetIndex()])
- resolve_record.resolve_type |= RESOLVE_TYPE_DESYNC2;
- else if (is_slow_walking(pEnt))
- resolve_record.resolve_type |= RESOLVE_TYPE_ANTI_SLOWWALK;
- else
- resolve_record.resolve_type |= RESOLVE_TYPE_DESYNC;
- //removed
- }
- int shots[65];
- int missed_shots[65];
- int hit[65];
- bool ShotFired[65];
- bool Hit[65];
- int MissedShots[65];
- void CResolver::HandleHits(SDK::CBaseEntity * pEnt)
- {
- auto NetChannel = I::Engine->GetNetChannelInfo();
- if (!NetChannel)
- return;
- static float predTime[65];
- static bool init[65];
- int fired = shots[pEnt->GetIndex()];
- int missed = missed_shots[pEnt->GetIndex()];
- if (ShotFired[pEnt->GetIndex()])
- {
- if (init[pEnt->GetIndex()])
- {
- pitchHit[pEnt->GetIndex()] = pEnt->GetEyeAngles().x;
- predTime[pEnt->GetIndex()] = I::Globals->curtime + NetChannel->GetAvgLatency(FLOW_INCOMING) + NetChannel->GetAvgLatency(FLOW_OUTGOING) + TICKS_TO_TIME(1) + TICKS_TO_TIME(I::Engine->GetNetChannelInfo()->m_nChokedPackets);
- init[pEnt->GetIndex()] = false;
- }
- if (I::Globals->curtime > predTime[pEnt->GetIndex()] && !Hit[pEnt->GetIndex()])
- {
- MissedShots[pEnt->GetIndex()] += 1;
- ShotFired[pEnt->GetIndex()] = false;
- }
- else if (I::Globals->curtime <= predTime[pEnt->GetIndex()] && Hit[pEnt->GetIndex()])
- ShotFired[pEnt->GetIndex()] = false;
- }
- else
- init[pEnt->GetIndex()] = true;
- Hit[pEnt->GetIndex()] = false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement