Advertisement
pycache

setupbones

Oct 22nd, 2016
1,837
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. bool CBaseEntity::SetupBones(matrix3x4_t *pBoneToWorldOut, int nMaxBones, int boneMask, float currentTime) {
  2.     //[](auto ptr) {
  3.     *(int*)((uintptr_t)this + offsets.m_nWritableBones) = 0;
  4.     *(int*)((uintptr_t)this + offsets.m_iDidCheckForOcclusion) = reinterpret_cast<int*>(offsets.m_dwOcclusionArray)[1];
  5.     reinterpret_cast<void(__fastcall*)(void*)>(offsets.InvalidateBoneCache)(ptr);
  6.     //}(this);
  7.  
  8.     typedef bool(__thiscall* SetupBonesFn)(void*, matrix3x4_t*, int, int, float);
  9.     return U::GetVFunc<SetupBonesFn>((void*)((uintptr_t)this + 0x4), 13)((void*)((uintptr_t)this + 0x4), pBoneToWorldOut, nMaxBones, boneMask, currentTime);
  10. }
  11.  
  12.  
  13. /////
  14.  
  15.  
  16. offsets.m_nWritableBones = U::NetVars->GetOffset(charenc("DT_CSPlayer"), charenc("m_nForceBone")) + 0x20;
  17. offsets.m_dwOcclusionArray = *(uintptr_t*)(U::FindPattern(strenc("client.dll"), strenc("A1 ? ? ? ? 83 EC 30 56 57 8B F9")) + 0x1);
  18. offsets.m_bDidCheckForOcclusion = *(uintptr_t*)(U::FindPattern(strenc("client.dll"), strenc("A1 ? ? ? ? 83 EC 30 56 57 8B F9")) + 0xE);
  19. offsets.InvalidateBoneCache = U::FindPattern(strenc("client.dll"), strenc("80 3D ? ? ? ? 00 74 16 A1"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement