Example #1
0
inline void *GetFunction(void *pthis, int id, bool &istramp)
{
	istramp=false;
	void *func=GetVTableEntry(pthis, hooklist[id].vtid, Offsets.GetBase());

	// Check to see if it's a trampoline
	for (size_t i = 0; i < hooks[id].length(); ++i)
	{
		if (func == hooks[id].at(i)->tramp)
		{
			istramp=true;
			return func;
		}
	}

	return func;
}
Example #2
0
inline void *GetFunction(void *pthis, int id, bool &istramp)
{
	istramp=false;
	void *func=GetVTableEntry(pthis, hooklist[id].vtid, Offsets.GetBase());

	// Check to see if it's a trampoline
	CVector<Hook *>::iterator end=hooks[id].end();

	for (CVector<Hook *>::iterator i=hooks[id].begin();
		 i!=end;
		 ++i)
	{
		if (func==(*i)->tramp)
		{
			istramp=true;
			return func;
		}
	}

	return func;
}