All pastes #922919 Raw Edit

jigaboo

public text v1 · immutable
#922919 ·published 2008-02-29 02:48 UTC
rendered paste body
bool		Goodies		= false;
bool		Baddies		= false;

VOID ( *orig_DrawXModelSkinnedParent )( );
__declspec(naked) VOID R_DrawXModelSkinnedParent( )
{
	char *pShader;

	_asm pushad
	_asm mov ebx, [edi+0xb8]
	_asm mov eax, [eax]
	_asm mov pShader, ebx

	if( !strstr( pShader, "mi24p" ) && !strstr( pShader, "weapon" ) && !strstr( pShader, "cobra" ) )
	{
		if( strstr( pShader, "sas" ) || strstr( pShader, "usmc" ) )
		{
			Goodies = true;
		}
		else if( strstr( pShader, "opforce" ) || strstr( pShader, "arab" ) || strstr( pShader, "head_suren" ) )
		{
			Baddies = true;
		}
	}

	_asm popad
	_asm jmp [ orig_DrawXModelSkinnedParent ]
}
VOID ( *orig_DrawXModelSkinnedCached )( );
__declspec(naked) VOID R_DrawXModelSkinnedCached( )
{
	char *pShader;

	_asm pushad
	_asm mov ebx, [edi+0xb8]
	_asm mov eax, [ebx]
	_asm mov pShader, eax

	if( !strstr( pShader, "mi24p" ) && !strstr( pShader, "weapon" ) && !strstr( pShader, "cobra" ) )
	{
		if( strstr( pShader, "sas" ) || strstr( pShader, "usmc" ) )
		{
			Goodies = true;
		}
		else if( strstr( pShader, "opforce" ) || strstr( pShader, "arab" ) || strstr( pShader, "head_suren" ) )
		{
			Baddies = true;
		}
	}

	_asm popad
	_asm jmp [ orig_DrawXModelSkinnedCached ]
}



//D3D Model Rec CALL BEFORE D3D HOOK!!
					orig_DrawXModelSkinnedParent = (void (__cdecl *)(void) ) \
						DetourFunction( (PBYTE)0x61D9A0, (PBYTE)R_DrawXModelSkinnedParent );

					//D3D Model Rec
					orig_DrawXModelSkinnedCached = (void (__cdecl *)(void) ) \
						DetourFunction( (PBYTE)0x61D8A0, (PBYTE)R_DrawXModelSkinnedCached );