static inline UINT32 GetFileOffset( const void* pointer, const SChunk& chunk )
	{
		mxASSERT(ContainsAddress(chunk, pointer));
		const UINT32 relativeOffset = mxGetByteOffset32( chunk.data, pointer );
		const UINT32 absoluteOffset = chunk.offset + relativeOffset;
		return absoluteOffset;
	}
Example #2
0
uint32_t CDynPatcher::GetVFuncOffset(void **VTable, void *FuncAddr)
{
   void *VFuncAddr;
   int i = 0;
   int ret=-1;
   VFuncAddr = VTable[i];
   while (ContainsAddress(VFuncAddr))
   {
      
      if (VFuncAddr == FuncAddr)
      {
         ret=i;
         printf("Vfunc [%i]=%p\n", i, VFuncAddr);
      }
      else
      {
         printf("Vfunc %i=%p\n", i, VFuncAddr);
      }
      i++;
      VFuncAddr = VTable[i];
   }
   return ret;
}