SpecialForce DFI D3D Hack Source
Features:
Player Chams // still missing addons & zombies
Weapon Chams
Crosshair
Asus
Naked
FullBright
Hotkey: Numpad 1-Crosshair; 2- Chams; 3- Fullbright; 4-Asus; 5-Naked; 6-Weapon Chams
Code:
//==============================================================================
// CMain.cpp
//==============================================================================
#include "CTools.h"
#include "CMain.h"
#pragma comment(lib, "d3dx9.lib")
#pragma comment(lib, "d3d9.lib")
//==============================================================================
LPDIRECT3DTEXTURE9 Red,Green;
float CenterX = 0.0f;
float CenterY = 0.0f;
BOOL NaKed = TRUE;
BOOL DrawIndexedPrimitive_Check = FALSE;
DWORD DrawIndexedPrimitive_Hook, DrawIndexedPrimitive_Jump;
BOOL DrawIndexedPrimitive_CheckPtr = FALSE;
VOID WINAPI DrawIndexedPrimitive_Breakpoint();
LONG WINAPI DrawIndexedPrimitive_Exception(EXCEPTION_POINTERS* ExceptionInfo);
HRESULT (WINAPI* DrawIndexedPrimitive_Pointer)(LPDIRECT3DDEVICE9,D3DPRIMITIVETYPE,INT,UINT,UINT,UINT,UINT);
//==============================================================================
VOID WINAPI DrawIndexedPrimitive_Main(LPDIRECT3DDEVICE9 pDevice,D3DPRIMITIVETYPE Type,INT BaseVertexIndex,UINT MinIndex,UINT NumVertices,UINT StartIndex,UINT PrimitiveCount)
{
LPDIRECT3DVERTEXBUFFER9 Stream;
UINT Stride;
UINT Offset;
if ( pDevice->GetStreamSource(0,&Stream,&Offset,&Stride) == D3D_OK )
{
Stream->Release();
}
DrawIndexedPrimitive_CheckPtr = TRUE;
if(!Tools.DrawTexture)
{
Tools.GenerateTexture(pDevice,&Green,D3DCOLOR_ARGB(255,0,255,0));
Tools.GenerateTexture(pDevice,&Red,D3DCOLOR_ARGB(255,255,0,0));
Tools.DrawTexture = true;
}
if(GetAsyncKeyState(VK_NUMPAD6)&1) Tools.DrawWeap=!Tools.DrawWeap;
if(GetAsyncKeyState(VK_NUMPAD5)&1) NaKed=!NaKed;
if(GetAsyncKeyState(VK_NUMPAD4)&1) Tools.Asus=!Tools.Asus;
if(GetAsyncKeyState(VK_NUMPAD3)&1) Tools.FullBright=!Tools.FullBright;
if(GetAsyncKeyState(VK_NUMPAD2)&1) Tools.DrawChams=!Tools.DrawChams;
if(GetAsyncKeyState(VK_NUMPAD1)&1) Tools.DrawCrosshair=!Tools.DrawCrosshair;
pDevice->GetViewport(&Tools.pViewport);
CenterX = (float)Tools.pViewport.Width / 2;
CenterY = (float)Tools.pViewport.Height / 2;
if(Tools.DrawCrosshair)
{
D3DRECT rec1 = {CenterX-8, CenterY, CenterX+ 8+1, CenterY+1};
D3DRECT rec2 = {CenterX, CenterY-8, CenterX+ 1, CenterY+8+1};
pDevice->Clear( 1, &rec1, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,0,255,255), 0, 0 );
pDevice->Clear( 1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,0,255,255), 0, 0 );
D3DRECT rec3 = {CenterX-2, CenterY, CenterX+ 2+1, CenterY+1};
D3DRECT rec4 = {CenterX, CenterY-2, CenterX+ 1, CenterY+2+1};
pDevice->Clear( 1, &rec3, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,0,0), 0, 0 );
pDevice->Clear( 1, &rec4, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255,255,0,0), 0, 0 );
}
if(Tools.DrawChams)
{
if(UcCodez)
{
pDevice->SetRenderState(D3DRS_ZENABLE,FALSE);
if (NaKed) pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
if (NaKed) pDevice->SetTexture( 0, Green );
pDevice->SetRenderState(D3DRS_ZENABLE,TRUE);
}
}
if(Tools.DrawWeap)
{
if(UcWeapon)
{
pDevice->SetRenderState(D3DRS_ZENABLE,FALSE);
if (NaKed) pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
if (NaKed) pDevice->SetTexture( 0, Green );
pDevice->SetRenderState(D3DRS_ZENABLE,TRUE);
}
}
if(Tools.FullBright)
{
if(Stride == 40) pDevice->SetRenderState(D3DRS_LIGHTING, false);
}
if(!Tools.FullBright)
{
if(Stride == 40) pDevice->SetRenderState(D3DRS_LIGHTING, true);
}
if(Tools.Asus)
{
if(Stride == 40)
{
pDevice->SetRenderState( D3DRS_SRCBLEND, 2 );
pDevice->SetRenderState( D3DRS_DESTBLEND, 3 );
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, true );
}
}
if(!Tools.Asus)
{
if(Stride == 40)
{
pDevice->SetRenderState( D3DRS_SRCBLEND, 0 );
pDevice->SetRenderState( D3DRS_DESTBLEND, 0 );
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, false );
}
}
DrawIndexedPrimitive_CheckPtr = FALSE;
}
//==============================================================================
__declspec(naked)VOID WINAPI DrawIndexedPrimitive_Call()
{
if ( !DrawIndexedPrimitive_Check )
{
DrawIndexedPrimitive_Breakpoint();
DrawIndexedPrimitive_Check = true;
}
if ( Tools.CheckWindowsVersion(6,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(6,0,VER_NT_WORKSTATION) )
{
__asm
{
MOV EDI,DWORD PTR SS:[EBP+0x8] // --- Vista and 7
XOR EBX,EBX
CMP EDI,EBX
PUSHFD
PUSHAD
JMP UCFORUM
}
}
if ( Tools.CheckWindowsVersion(5,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(5,2,VER_NT_WORKSTATION) )
{
__asm
{
PUSH EBX // --- XP
PUSH ESI
MOV ESI,dword ptr ss:[ebp+8]
PUSHFD
PUSHAD
JMP UCFORUM
}
}
__asm
{
UCFORUM:
MOV EDX,[DrawIndexedPrimitive_CheckPtr]
CMP EDX,0x0
JG Jump
PUSH [EBP+0x20]
PUSH [EBP+0x1C]
PUSH [EBP+0x18]
PUSH [EBP+0x14]
PUSH [EBP+0x10]
PUSH [EBP+0xC]
PUSH [EBP+0x8]
CALL [DrawIndexedPrimitive_Main]
Jump:
POPAD
POPFD
CMP EDI,EBX
JMP [DrawIndexedPrimitive_Jump]
}
}
//==============================================================================
LONG WINAPI DrawIndexedPrimitive_Exception(EXCEPTION_POINTERS* ExceptionInfo)
{
if ( ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_SINGLE_STEP && (DWORD)ExceptionInfo->ExceptionRecord->ExceptionAddress == DrawIndexedPrimitive_Hook )
{
ExceptionInfo->ContextRecord->Eip = (DWORD)DrawIndexedPrimitive_Call;
return ( EXCEPTION_CONTINUE_EXECUTION );
}
return ( EXCEPTION_CONTINUE_SEARCH );
}
//==============================================================================
VOID WINAPI DrawIndexedPrimitive_Breakpoint()
{
AddVectoredExceptionHandler((rand()%0xFFFFFF),DrawIndexedPrimitive_Exception);
CONTEXT Context = {CONTEXT_DEBUG_REGISTERS};
Context.Dr0 = DrawIndexedPrimitive_Hook;
Context.Dr7 = 0x1;
SetThreadContext(GetCurrentThread(),&Context);
}
//==============================================================================
VOID WINAPI UcCoder()
{
PDWORD dwD3DVTable;
do
{
*(DWORD*)&dwD3DVTable = *(DWORD*)Tools.D3D9VTable();
}
while ( !dwD3DVTable );
if ( Tools.CheckWindowsVersion(6,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(6,0,VER_NT_WORKSTATION) )
{
DrawIndexedPrimitive_Hook = ( dwD3DVTable[82] + 0x2D );
DrawIndexedPrimitive_Jump = ( DrawIndexedPrimitive_Hook + 0x7 );
*(PDWORD)(&DrawIndexedPrimitive_Pointer) = (DWORD)dwD3DVTable[82];
Tools.DetourCreate((BYTE*)DrawIndexedPrimitive_Hook,(BYTE*)DrawIndexedPrimitive_Call,5);
}
else if( Tools.CheckWindowsVersion(5,1,VER_NT_WORKSTATION) || Tools.CheckWindowsVersion(5,2,VER_NT_WORKSTATION) )
{
DrawIndexedPrimitive_Hook = ( dwD3DVTable[82] + 0x1D );
DrawIndexedPrimitive_Jump = ( DrawIndexedPrimitive_Hook + 0x5 );
*(PDWORD)(&DrawIndexedPrimitive_Pointer) = (DWORD)dwD3DVTable[82];
Tools.DetourCreate((BYTE*)DrawIndexedPrimitive_Hook,(BYTE*)DrawIndexedPrimitive_Call,5);
}
else
{
MessageBoxA(GetActiveWindow()," Uc-Codez: Your System IsN't Supported","Error",MB_OK);
ExitProcess(0);
}
}
//==============================================================================
BOOL WINAPI DllMain(HMODULE hModule,DWORD dwReason,LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(lpReserved);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(0,0,(LPTHREAD_START_ROUTINE)UcCoder0,0,0);
MessageBoxA(NULL,"Hack Injected","UC-CoderX",MB_OK);
}
return ( TRUE );
}
//=============================================================================
Code:
//==============================================================================
// CMain.h
//==============================================================================
#define UcCodez ((SSD1||SSD2||SSD3||SSD4||SSD5||SSD6||SSD7||SSD8||SSD9||PSU1||PSU2||PSU3||PSU4||PSU5||PSU6||PSU7||PSU8||PSU9||Mulan1||Mulan2||Mulan3||Mulan4||Mulan5||Mulan6||Mulan7||Mulan8||Mulan9||ForceRecon1||ForceRecon2||ForceRecon3||ForceRecon4||ForceRecon5||ForceRecon6||ForceRecon7||ForceRecon8||ForceRecon9||SRG1||SRG2||SRG3||SRG4||SRG5||SRG6||SRG7||SRG8||SRG9||KSF1||KSF2||KSF3||KSF4||KSF5||KSF6||KSF7||KSF8||KSF9||SAS1||SAS2||SAS3||SAS4||SAS5||SAS6||SAS7||SAS8||ROKMC1||ROKMC2||ROKMC3||ROKMC4||ROKMC5||ROKMC6||GSG91||GSG92||GSG93||GSG94||GSG95||GSG96||GSG97||GSG98||GSG99||GIGN1||GIGN2||GIGN3||GIGN4||GIGN5||GIGN6||Delta||Spetsnaz1||Spetsnaz2||Spetsnaz3||Spetsnaz4||Spetsnaz5||Spetsnaz6||PASKAL1||PASKAL2||PASKAL3||RISA1||RISA2||RISA3||BlackDevil1||BlackDevil2||BlackDevil3||BlackDevil4||BlackDevil5))
//----- SSD Character
#define SSD1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==130) && (StartIndex==0) && (PrimitiveCount==213))
#define SSD2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==130) && (NumVertices==100) && (StartIndex==639) && (PrimitiveCount==146))
#define SSD3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==230) && (NumVertices==113) && (StartIndex==1077) && (PrimitiveCount==168))
#define SSD4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==343) && (NumVertices==525) && (StartIndex==1581) && (PrimitiveCount==716))
#define SSD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==868) && (NumVertices==130) && (StartIndex==3729) && (PrimitiveCount==213))
#define SSD6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==998) && (NumVertices==100) && (StartIndex==4368) && (PrimitiveCount==146))
#define SSD7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1098) && (NumVertices==113) && (StartIndex==4806) && (PrimitiveCount==168))
#define SSD8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1211) && (NumVertices==260) && (StartIndex==5310) && (PrimitiveCount==394))
#define SSD9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1471) && (NumVertices==591) && (StartIndex==6492) && (PrimitiveCount==948))
//----- End SSD Character
//----- PSU Character
#define PSU1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==87) && (StartIndex==0) && (PrimitiveCount==139))
#define PSU2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==87) && (NumVertices==79) && (StartIndex==417) && (PrimitiveCount==105))
#define PSU3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==166) && (NumVertices==126) && (StartIndex==732) && (PrimitiveCount==172))
#define PSU4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==292) && (NumVertices==555) && (StartIndex==1248) && (PrimitiveCount==740))
#define PSU5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==847) && (NumVertices==87) && (StartIndex==3468) && (PrimitiveCount==139))
#define PSU6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==934) && (NumVertices==79) && (StartIndex==3885) && (PrimitiveCount==105))
#define PSU7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1013) && (NumVertices==126) && (StartIndex==4200) && (PrimitiveCount==172))
#define PSU8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1139) && (NumVertices==499) && (StartIndex==4716) && (PrimitiveCount==624))
#define PSU9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1638) && (NumVertices==523) && (StartIndex==6588) && (PrimitiveCount==846))
//----- End PSU Character
//----- Mulan Character
#define Mulan1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==90) && (StartIndex==0) && (PrimitiveCount==146))
#define Mulan2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==90) && (NumVertices==118) && (StartIndex==438) && (PrimitiveCount==126))
#define Mulan3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==208) && (NumVertices==121) && (StartIndex==816) && (PrimitiveCount==180))
#define Mulan4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==329) && (NumVertices==299) && (StartIndex==1356) && (PrimitiveCount==452))
#define Mulan5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==628) && (NumVertices==90) && (StartIndex==2712) && (PrimitiveCount==146))
#define Mulan6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==718) && (NumVertices==124) && (StartIndex==3150) && (PrimitiveCount==126))
#define Mulan7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==842) && (NumVertices==121) && (StartIndex==3528) && (PrimitiveCount==180))
#define Mulan8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==963) && (NumVertices==295) && (StartIndex==4068) && (PrimitiveCount==482))
#define Mulan9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728))
//----- End Mulan Character
//----- ForceRecon Character
#define ForceRecon1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==83) && (StartIndex==0) && (PrimitiveCount==137))
#define ForceRecon2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==83) && (NumVertices==79) && (StartIndex==411) && (PrimitiveCount==105))
#define ForceRecon3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==162) && (NumVertices==142) && (StartIndex==726) && (PrimitiveCount==174))
#define ForceRecon4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==304) && (NumVertices==278) && (StartIndex==1248) && (PrimitiveCount==462))
#define ForceRecon5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==83) && (StartIndex==2634) && (PrimitiveCount==137))
#define ForceRecon6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==665) && (NumVertices==79) && (StartIndex==3045) && (PrimitiveCount==105))
#define ForceRecon7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==744) && (NumVertices==142) && (StartIndex==3360) && (PrimitiveCount==174))
#define ForceRecon8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==886) && (NumVertices==263) && (StartIndex==3882) && (PrimitiveCount==290))
#define ForceRecon9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1149) && (NumVertices==316) && (StartIndex==4752) && (PrimitiveCount==556))
//----- End ForceRecon Character
//----- SRG Character
#define SRG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==159) && (StartIndex==0) && (PrimitiveCount==200))
#define SRG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==159) && (NumVertices==100) && (StartIndex==600) && (PrimitiveCount==121))
#define SRG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==259) && (NumVertices==132) && (StartIndex==963) && (PrimitiveCount==180))
#define SRG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==391) && (NumVertices==338) && (StartIndex==1503) && (PrimitiveCount==534))
#define SRG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==729) && (NumVertices==105) && (StartIndex==3105) && (PrimitiveCount==168))
#define SRG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==834) && (NumVertices==100) && (StartIndex==3609) && (PrimitiveCount==121))
#define SRG7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==934) && (NumVertices==132) && (StartIndex==3972) && (PrimitiveCount==180))
#define SRG8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1066) && (NumVertices==804) && (StartIndex==4512) && (PrimitiveCount==1016))
#define SRG9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1870) && (NumVertices==448) && (StartIndex==7560) && (PrimitiveCount==776))
//----- End SRG Character
//----- KSF Character
#define KSF1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==75) && (StartIndex==0) && (PrimitiveCount==121))
#define KSF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==92) && (StartIndex==363) && (PrimitiveCount==115))
#define KSF3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==167) && (NumVertices==124) && (StartIndex==708) && (PrimitiveCount==168))
#define KSF4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==291) && (NumVertices==301) && (StartIndex==1212) && (PrimitiveCount==522))
#define KSF5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==592) && (NumVertices==75) && (StartIndex==2778) && (PrimitiveCount==121))
#define KSF6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==667) && (NumVertices==92) && (StartIndex==3141) && (PrimitiveCount==115))
#define KSF7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==759) && (NumVertices==124) && (StartIndex==3486) && (PrimitiveCount==168))
#define KSF8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==883) && (NumVertices==187) && (StartIndex==3990) && (PrimitiveCount==288))
#define KSF9 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1070) && (NumVertices==353) && (StartIndex==4854) && (PrimitiveCount==556))
//----- End KSF Character
//----- SAS Character
#define SAS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==85) && (StartIndex==363) && (PrimitiveCount==105))
#define SAS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==160) && (NumVertices==124) && (StartIndex==678) && (PrimitiveCount==168))
#define SAS3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==370) && (StartIndex==1182) && (PrimitiveCount==650))
#define SAS4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==654) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define SAS5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==729) && (NumVertices==85) && (StartIndex==3495) && (PrimitiveCount==105))
#define SAS6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==814) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define SAS7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==938) && (NumVertices==180) && (StartIndex==4314) && (PrimitiveCount==274))
#define SAS8 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1118) && (NumVertices==367) && (StartIndex==5136) && (PrimitiveCount==612))
//----- End SAS Character
//----- ROKMC Character
#define ROKMC1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==365) && (StartIndex==1182) && (PrimitiveCount==642))
#define ROKMC2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==649) && (NumVertices==75) && (StartIndex==3108) && (PrimitiveCount==121))
#define ROKMC3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==724) && (NumVertices==85) && (StartIndex==3471) && (PrimitiveCount==105))
#define ROKMC4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==809) && (NumVertices==124) && (StartIndex==3786) && (PrimitiveCount==168))
#define ROKMC5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==933) && (NumVertices==194) && (StartIndex==4290) && (PrimitiveCount==260))
#define ROKMC6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1127) && (NumVertices==379) && (StartIndex==5070) && (PrimitiveCount==592))
//----- End ROKMC Character
//----- GSG9 Character
#define GSG91 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==75) && (NumVertices==88) && (StartIndex==363) && (PrimitiveCount==105))
#define GSG92 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==163) && (NumVertices==124) && (StartIndex==678) && (PrimitiveCount==168))
#define GSG93 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==287) && (NumVertices==369) && (StartIndex==1182) && (PrimitiveCount==650))
#define GSG94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define GSG95 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==731) && (NumVertices==88) && (StartIndex==3495) && (PrimitiveCount==105))
#define GSG96 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==819) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define GSG97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==943) && (NumVertices==196) && (StartIndex==4314) && (PrimitiveCount==314))
#define GSG98 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1139) && (NumVertices==355) && (StartIndex==5256) && (PrimitiveCount==568))
#define GSG99 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1494) && (NumVertices==22) && (StartIndex==6960) && (PrimitiveCount==24))
//----- End GSG9 Character
//----- GIGN Character
#define GIGN1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==369) && (StartIndex==1182) && (PrimitiveCount==650))
#define GIGN2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==653) && (NumVertices==75) && (StartIndex==3132) && (PrimitiveCount==121))
#define GIGN3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==728) && (NumVertices==85) && (StartIndex==3495) && (PrimitiveCount==105))
#define GIGN4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==813) && (NumVertices==124) && (StartIndex==3810) && (PrimitiveCount==168))
#define GIGN5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==937) && (NumVertices==212) && (StartIndex==4314) && (PrimitiveCount==306))
#define GIGN6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1149) && (NumVertices==362) && (StartIndex==5232) && (PrimitiveCount==604))
//----- End GIGN Character
//----- Delta Character
#define Delta ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1118) && (NumVertices==349) && (StartIndex==5136) && (PrimitiveCount==580))
//----- End Delta Character
//----- Spetsnaz Character
#define Spetsnaz1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==284) && (NumVertices==380) && (StartIndex==1182) && (PrimitiveCount==658))
#define Spetsnaz2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==664) && (NumVertices==75) && (StartIndex==3156) && (PrimitiveCount==121))
#define Spetsnaz3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==739) && (NumVertices==85) && (StartIndex==3519) && (PrimitiveCount==105))
#define Spetsnaz4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==824) && (NumVertices==124) && (StartIndex==3834) && (PrimitiveCount==168))
#define Spetsnaz5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==948) && (NumVertices==183) && (StartIndex==4338) && (PrimitiveCount==268))
#define Spetsnaz6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1131) && (NumVertices==361) && (StartIndex==5142) && (PrimitiveCount==604))
//----- End Spetsnaz Character
//----- New Character Defines
#define PASKAL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1441) && (StartIndex==0) && (PrimitiveCount==1776))
#define PASKAL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1441) && (NumVertices==1631) && (StartIndex==5328) && (PrimitiveCount==1577))
#define PASKAL3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==3072) && (NumVertices==122) && (StartIndex==10059) && (PrimitiveCount==128))
#define RISA1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1516) && (StartIndex==0) && (PrimitiveCount==2122))
#define RISA2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1516) && (NumVertices==713) && (StartIndex==6366) && (PrimitiveCount==962))
#define RISA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2229) && (NumVertices==214) && (StartIndex==9252) && (PrimitiveCount==130))
#define BlackDevil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1322) && (StartIndex==0) && (PrimitiveCount==1674))
#define BlackDevil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1322) && (NumVertices==1091) && (StartIndex==5022) && (PrimitiveCount==1702))
#define BlackDevil3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2413) && (NumVertices==8) && (StartIndex==10128) && (PrimitiveCount==6))
#define BlackDevil4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2421) && (NumVertices==8) && (StartIndex==10146) && (PrimitiveCount==6))
#define BlackDevil5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==2429) && (NumVertices==10) && (StartIndex==10164) && (PrimitiveCount==8))
//----- End New Character Defines
//----- Weapons Defines-----------------------------------------------------------------------------------------------------------------------------------------
#define UcWeapon ((DcafeP90||FNFAL||PhoenixM4A1Sight1||PhoenixM4A1Sight2||HorrorTAR21||M4A1||HK416||M16A2GL1||M16A2GL2||TigerGalil||AK74||Type97||EVLAN941||EVLAN942||EVLM16A2||M4A12||HotRodMP7A1||PPSH41||Uzi||EVLGalil1||EVLGalil2||SAMRM16A21||SAMRM16A22||MarineUzi||K7||Type89||TAR21||UMP45||ScarH1||ScarH2||AN94||DevilUzi||MAC10||AUGA3||MP7A1||GoldAK47s||G3A3||FAMAS||GALIL||SIG551||M16A2||G36C||P90||EVLK21||EVLK22||EVLK23||K11||K12||K13||K14||K15||K21||K22||K23||K24||MP51||MP52||MP53||MP54||MP55||SteyrAUG1||SteyrAUG2||SteyrAUG3||SteyrAUG4||SteyrAUG5||SteyrAUG6||DcafeM14EBR||EngravingPSG1||PSG1||PSG2||GOLDPSG1||DragonPSG1||MSG90DMR||DragonWA2000||KAR98K||DSR1||GoldDragunov||WA2000||GoldTango51||CheytacM200||Tango51||BlackM110||FRF2||AWP||M110SAS||Dragunov||DEGTYAREV||EVLM249||GattlingGun1||GattlingGun2||MG36||M249||LUGER||BerettaM92F1||BerettaM92F2||BerettaM92F3||BerettaM92F4||BerettaM92F5||M945ExtendedS1||M945ExtendedS2||M629||SPAS12||DesertEagle||DoubleMK23||Desperado||CompactM945||MR73||RemingtonM870||BenelliM1||Colt45||Glock23||MarkIIGrenade||VXGrenade||RGD5||ANM8Smoke||FlashBang||M67Grenade||SilverKnife||Shovel||SharkKnife||Hatchet))
//----- Rifles Defines
#define DcafeP90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==282) && (StartIndex==0) && (PrimitiveCount==168))
#define FNFAL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==615) && (StartIndex==0) && (PrimitiveCount==481))
#define PhoenixM4A1Sight1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==712) && (StartIndex==0) && (PrimitiveCount==467))
#define PhoenixM4A1Sight2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==712) && (NumVertices==255) && (StartIndex==1401) && (PrimitiveCount==220))
#define HorrorTAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==486) && (StartIndex==0) && (PrimitiveCount==260))
#define M4A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==812) && (StartIndex==0) && (PrimitiveCount==523))
#define HK416 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==860) && (StartIndex==0) && (PrimitiveCount==534))
#define M16A2GL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==561) && (StartIndex==0) && (PrimitiveCount==408))
#define M16A2GL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==561) && (NumVertices==166) && (StartIndex==1224) && (PrimitiveCount==118))
#define TigerGalil ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==805) && (StartIndex==0) && (PrimitiveCount==427))
#define AK74 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==331) && (StartIndex==0) && (PrimitiveCount==237))
#define Type97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1126) && (StartIndex==0) && (PrimitiveCount==743))
#define EVLAN941 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==648) && (StartIndex==0) && (PrimitiveCount==394))
#define EVLAN942 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==648) && (NumVertices==202) && (StartIndex==1182) && (PrimitiveCount==139))
#define EVLM16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==419))
#define M4A12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==587) && (StartIndex==0) && (PrimitiveCount==457))
#define HotRodMP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==280) && (StartIndex==0) && (PrimitiveCount==201))
#define PPSH41 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==401) && (StartIndex==0) && (PrimitiveCount==267))
#define Uzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==784) && (StartIndex==0) && (PrimitiveCount==463))
#define EVLGalil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1868) && (StartIndex==0) && (PrimitiveCount==968))
#define EVLGalil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1868) && (NumVertices==498) && (StartIndex==2904) && (PrimitiveCount==338))
#define SAMRM16A21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==509) && (StartIndex==0) && (PrimitiveCount==385))
#define SAMRM16A22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==509) && (NumVertices==407) && (StartIndex==1155) && (PrimitiveCount==292))
#define MarineUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==620) && (StartIndex==0) && (PrimitiveCount==416))
#define K7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==664) && (StartIndex==0) && (PrimitiveCount==495))
#define Type89 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1014) && (StartIndex==0) && (PrimitiveCount==754))
#define TAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==454) && (StartIndex==0) && (PrimitiveCount==240))
#define UMP45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==459) && (StartIndex==0) && (PrimitiveCount==271))
#define ScarH1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==345))
#define ScarH2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==84) && (StartIndex==1035) && (PrimitiveCount==44))
#define AN94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==650) && (StartIndex==0) && (PrimitiveCount==394))
#define DevilUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==876) && (StartIndex==0) && (PrimitiveCount==515))
#define MAC10 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==417))
#define AUGA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==512) && (StartIndex==0) && (PrimitiveCount==302))
#define MP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==287) && (StartIndex==0) && (PrimitiveCount==124))
#define GoldAK47s ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==872) && (StartIndex==0) && (PrimitiveCount==500))
#define G3A3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1493) && (StartIndex==0) && (PrimitiveCount==1099))
#define FAMAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1615) && (StartIndex==0) && (PrimitiveCount==751))
#define GALIL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1872) && (StartIndex==0) && (PrimitiveCount==968))
#define SIG551 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2325) && (StartIndex==0) && (PrimitiveCount==1431))
#define M16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==565) && (StartIndex==0) && (PrimitiveCount==423))
#define G36C ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1459) && (StartIndex==0) && (PrimitiveCount==805))
#define P90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==317) && (StartIndex==0) && (PrimitiveCount==230))
#define EVLK21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==490) && (StartIndex==0) && (PrimitiveCount==352))
#define EVLK22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==490) && (NumVertices==798) && (StartIndex==1056) && (PrimitiveCount==559))
#define EVLK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1288) && (NumVertices==98) && (StartIndex==2733) && (PrimitiveCount==66))
#define K11 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==422) && (StartIndex==0) && (PrimitiveCount==339))
#define K12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==422) && (NumVertices==234) && (StartIndex==1017) && (PrimitiveCount==116))
#define K13 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==175) && (StartIndex==1365) && (PrimitiveCount==73))
#define K14 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==831) && (NumVertices==32) && (StartIndex==1584) && (PrimitiveCount==12))
#define K15 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==863) && (NumVertices==23) && (StartIndex==1620) && (PrimitiveCount==12))
#define K21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==405) && (StartIndex==0) && (PrimitiveCount==383))
#define K22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==405) && (NumVertices==158) && (StartIndex==1149) && (PrimitiveCount==89))
#define K23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==563) && (NumVertices==22) && (StartIndex==1416) && (PrimitiveCount==12))
#define K24 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==585) && (NumVertices==70) && (StartIndex==1452) && (PrimitiveCount==34))
#define MP51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==719) && (StartIndex==0) && (PrimitiveCount==459))
#define MP52 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==719) && (NumVertices==18) && (StartIndex==1377) && (PrimitiveCount==8))
#define MP53 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==737) && (NumVertices==203) && (StartIndex==1401) && (PrimitiveCount==84))
#define MP54 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==940) && (NumVertices==167) && (StartIndex==1653) && (PrimitiveCount==83))
#define MP55 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1107) && (NumVertices==676) && (StartIndex==1902) && (PrimitiveCount==452))
#define SteyrAUG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==462) && (StartIndex==0) && (PrimitiveCount==348))
#define SteyrAUG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==462) && (NumVertices==270) && (StartIndex==1044) && (PrimitiveCount==133))
#define SteyrAUG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==732) && (NumVertices==41) && (StartIndex==1443) && (PrimitiveCount==25))
#define SteyrAUG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==773) && (NumVertices==12) && (StartIndex==1518) && (PrimitiveCount==6))
#define SteyrAUG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==785) && (NumVertices==4) && (StartIndex==1536) && (PrimitiveCount==2))
#define SteyrAUG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==789) && (NumVertices==18) && (StartIndex==1542) && (PrimitiveCount==8))
//----- End Rifle Defines
//----- Sniper Defines
#define DcafeM14EBR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==801) && (StartIndex==0) && (PrimitiveCount==544))
#define EngravingPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==961) && (StartIndex==0) && (PrimitiveCount==588))
#define PSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==652) && (StartIndex==0) && (PrimitiveCount==444))
#define PSG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728))
#define GOLDPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==963) && (StartIndex==0) && (PrimitiveCount==588))
#define DragonPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==659) && (StartIndex==0) && (PrimitiveCount==444))
#define MSG90DMR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==673) && (StartIndex==0) && (PrimitiveCount==368))
#define DragonWA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==726) && (StartIndex==0) && (PrimitiveCount==474))
#define KAR98K ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==391) && (StartIndex==0) && (PrimitiveCount==267))
#define DSR1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==663) && (StartIndex==0) && (PrimitiveCount==527))
#define GoldDragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1832) && (StartIndex==0) && (PrimitiveCount==865))
#define WA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==464))
#define GoldTango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==617) && (StartIndex==0) && (PrimitiveCount==509))
#define CheytacM200 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==422))
#define Tango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==285) && (StartIndex==0) && (PrimitiveCount==135))
#define BlackM110 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==763) && (StartIndex==0) && (PrimitiveCount==433))
#define FRF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==373))
#define AWP ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1152) && (StartIndex==0) && (PrimitiveCount==840))
#define M110SAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==760) && (StartIndex==0) && (PrimitiveCount==431))
#define Dragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2390) && (StartIndex==0) && (PrimitiveCount==1276))
//----- End Sniper Defines
//----- Machine Gun Defines
#define DEGTYAREV ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==315))
#define EVLM249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1692) && (StartIndex==0) && (PrimitiveCount==1052))
#define GattlingGun1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==553) && (StartIndex==0) && (PrimitiveCount==380))
#define GattlingGun2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==54) && (StartIndex==0) && (PrimitiveCount==34))
#define MG36 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==322))
#define M249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1937) && (StartIndex==0) && (PrimitiveCount==1304))
#define LUGER ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==319) && (StartIndex==0) && (PrimitiveCount==171))
//----- End Machine Gun Defines
//----- Secondary Defines
#define BerettaM92F1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==715) && (StartIndex==0) && (PrimitiveCount==449))
#define BerettaM92F2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==715) && (NumVertices==110) && (StartIndex==1347) && (PrimitiveCount==44))
#define BerettaM92F3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==825) && (NumVertices==165) && (StartIndex==1479) && (PrimitiveCount==75))
#define BerettaM92F4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==990) && (NumVertices==44) && (StartIndex==1704) && (PrimitiveCount==20))
#define BerettaM92F5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1034) && (NumVertices==28) && (StartIndex==1764) && (PrimitiveCount==14))
#define M945ExtendedS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==256) && (StartIndex==0) && (PrimitiveCount==192))
#define M945ExtendedS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==256) && (NumVertices==400) && (StartIndex==576) && (PrimitiveCount==246))
#define M629 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==281) && (StartIndex==0) && (PrimitiveCount==215))
#define SPAS12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==418) && (StartIndex==0) && (PrimitiveCount==249))
#define DesertEagle ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==362) && (StartIndex==0) && (PrimitiveCount==209))
#define DoubleMK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==328) && (StartIndex==0) && (PrimitiveCount==174))
#define Desperado ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==197) && (StartIndex==0) && (PrimitiveCount==127))
#define CompactM945 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==247) && (StartIndex==0) && (PrimitiveCount==178))
#define MR73 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==289) && (StartIndex==0) && (PrimitiveCount==223))
#define RemingtonM870 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==701) && (StartIndex==0) && (PrimitiveCount==618))
#define BenelliM1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==721) && (StartIndex==0) && (PrimitiveCount==457))
#define Colt45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==920) && (StartIndex==0) && (PrimitiveCount==543))
#define Glock23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==165) && (StartIndex==0) && (PrimitiveCount==122))
//----- End Secondary Defines
//----- Knives Defines
#define SilverKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==167) && (StartIndex==0) && (PrimitiveCount==189))
#define Shovel ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==126) && (StartIndex==0) && (PrimitiveCount==102))
#define SharkKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==260) && (StartIndex==0) && (PrimitiveCount==205))
#define Hatchet ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==106) && (StartIndex==0) && (PrimitiveCount==114))
//----- End Knives Defines
//----- Nades Defines
#define MarkIIGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==174) && (StartIndex==0) && (PrimitiveCount==152))
#define VXGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==271) && (StartIndex==0) && (PrimitiveCount==257))
#define RGD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==338) && (StartIndex==0) && (PrimitiveCount==339))
#define ANM8Smoke ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==171) && (StartIndex==0) && (PrimitiveCount==143))
#define FlashBang ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==158) && (StartIndex==0) && (PrimitiveCount==131))
#define M67Grenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==213) && (StartIndex==0) && (PrimitiveCount==174))
//----- End Nades Defines
//----- End Weapon Defines-------------------------------------------------------------------------------------------------------------------------------------
Code:
//==============================================================================
// CTools.cpp
//==============================================================================
#include "CTools.h"
CTools Tools;
//==============================================================================
DWORD CTools::D3D9VTable()
{
DWORD dwObjBase = (DWORD)LoadLibraryA("D3D9.DLL");
while ( dwObjBase++ < dwObjBase + 0x127850 )
{
if ( (*(WORD*)(dwObjBase + 0x00)) == 0x06C7 && (*(WORD*)(dwObjBase + 0x06)) == 0x8689 && (*(WORD*)(dwObjBase + 0x0C)) == 0x8689 )
{
dwObjBase += 2;
break;
}
}
return ( dwObjBase );
}
//==============================================================================
BOOL CTools::CheckWindowsVersion(DWORD dwMajorVersion,DWORD dwMinorVersion,DWORD dwProductType)
{
OSVERSIONINFOEX VersionInfo;
ZeroMemory(&VersionInfo,sizeof(OSVERSIONINFOEX));
VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
GetVersionEx((OSVERSIONINFO*)&VersionInfo);
if ( VersionInfo.dwMajorVersion == dwMajorVersion )
{
if ( VersionInfo.dwMinorVersion == dwMinorVersion )
{
if ( VersionInfo.wProductType == dwProductType )
{
return ( TRUE );
}
}
}
return ( FALSE );
}
//==============================================================================
void *CTools::DetourCreate(BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp = (BYTE*)malloc(len+5);
DWORD dwBack;
VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
memcpy(jmp, src, len);
jmp += len;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
src[0] = 0xE9;
*(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
for (int i=5; i<len; i++) src[i]=0x90;
VirtualProtect(src, len, dwBack, &dwBack);
return (jmp-len);
}
//==============================================================================
HRESULT CTools::GenerateTexture( IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32 )
{
if( FAILED(pD3Ddev->CreateTexture(8, 8, 1, 0, D3DFMT_A4R4G4B4, D3DPOOL_MANAGED, ppD3Dtex, NULL)) )
return E_FAIL;
WORD colour16 = ((WORD)((colour32>>28)&0xF)<<12)
|(WORD)(((colour32>>20)&0xF)<<8)
|(WORD)(((colour32>>12)&0xF)<<4)
|(WORD)(((colour32>>4)&0xF)<<0);
D3DLOCKED_RECT d3dlr;
(*ppD3Dtex)->LockRect(0, &d3dlr, 0, 0);
WORD *pDst16 = (WORD*)d3dlr.pBits;
for(int xy=0; xy < 8*8; xy++)
*pDst16++ = colour16;
(*ppD3Dtex)->UnlockRect(0);
return S_OK;
}
//===========================================================================
Code:
//==============================================================================
// CTools.h
//==============================================================================
#include <windows.h>
#include <d3d9.h>
#include <d3dx9.h>
//==============================================================================
class CTools
{
public:
D3DVIEWPORT9 pViewport;
BOOL DrawTexture;
BOOL DrawCrosshair;
BOOL DrawChams;
BOOL DrawWeap;
BOOL FullBright;
BOOL Asus;
DWORD D3D9VTable();
BOOL CheckWindowsVersion(DWORD dwMajorVersion,DWORD dwMinorVersion,DWORD dwProductType);
void *DetourCreate( BYTE *src, const BYTE *dst, const int len );
HRESULT GenerateTexture( IDirect3DDevice9 *pD3Ddev, IDirect3DTexture9 **ppD3Dtex, DWORD colour32 );
};
extern CTools Tools;
//=========================================================================
---------- Post added at 09:38 PM ---------- Previous post was at 09:35 PM ----------
Added All Weapons Define
Code:
//----- Weapons Defines-----------------------------------------------------------------------------------------------------------------------------------------
//----- Rifles Defines
#define DcafeP90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==282) && (StartIndex==0) && (PrimitiveCount==168))
#define FNFAL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==615) && (StartIndex==0) && (PrimitiveCount==481))
#define PhoenixM4A1Sight1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==712) && (StartIndex==0) && (PrimitiveCount==467))
#define PhoenixM4A1Sight2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==712) && (NumVertices==255) && (StartIndex==1401) && (PrimitiveCount==220))
#define HorrorTAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==486) && (StartIndex==0) && (PrimitiveCount==260))
#define M4A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==812) && (StartIndex==0) && (PrimitiveCount==523))
#define HK416 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==860) && (StartIndex==0) && (PrimitiveCount==534))
#define M16A2GL1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==561) && (StartIndex==0) && (PrimitiveCount==408))
#define M16A2GL2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==561) && (NumVertices==166) && (StartIndex==1224) && (PrimitiveCount==118))
#define TigerGalil ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==805) && (StartIndex==0) && (PrimitiveCount==427))
#define AK74 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==331) && (StartIndex==0) && (PrimitiveCount==237))
#define Type97 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1126) && (StartIndex==0) && (PrimitiveCount==743))
#define EVLAN941 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==648) && (StartIndex==0) && (PrimitiveCount==394))
#define EVLAN942 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==648) && (NumVertices==202) && (StartIndex==1182) && (PrimitiveCount==139))
#define EVLM16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==419))
#define M4A12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==587) && (StartIndex==0) && (PrimitiveCount==457))
#define HotRodMP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==280) && (StartIndex==0) && (PrimitiveCount==201))
#define PPSH41 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==401) && (StartIndex==0) && (PrimitiveCount==267))
#define Uzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==784) && (StartIndex==0) && (PrimitiveCount==463))
#define EVLGalil1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1868) && (StartIndex==0) && (PrimitiveCount==968))
#define EVLGalil2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1868) && (NumVertices==498) && (StartIndex==2904) && (PrimitiveCount==338))
#define SAMRM16A21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==509) && (StartIndex==0) && (PrimitiveCount==385))
#define SAMRM16A22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==509) && (NumVertices==407) && (StartIndex==1155) && (PrimitiveCount==292))
#define MarineUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==620) && (StartIndex==0) && (PrimitiveCount==416))
#define K7 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==664) && (StartIndex==0) && (PrimitiveCount==495))
#define Type89 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1014) && (StartIndex==0) && (PrimitiveCount==754))
#define TAR21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==454) && (StartIndex==0) && (PrimitiveCount==240))
#define UMP45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==459) && (StartIndex==0) && (PrimitiveCount==271))
#define ScarH1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==345))
#define ScarH2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==582) && (NumVertices==84) && (StartIndex==1035) && (PrimitiveCount==44))
#define AN94 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==650) && (StartIndex==0) && (PrimitiveCount==394))
#define DevilUzi ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==876) && (StartIndex==0) && (PrimitiveCount==515))
#define MAC10 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==417))
#define AUGA3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==512) && (StartIndex==0) && (PrimitiveCount==302))
#define MP7A1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==287) && (StartIndex==0) && (PrimitiveCount==124))
#define GoldAK47s ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==872) && (StartIndex==0) && (PrimitiveCount==500))
#define G3A3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1493) && (StartIndex==0) && (PrimitiveCount==1099))
#define FAMAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1615) && (StartIndex==0) && (PrimitiveCount==751))
#define GALIL ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1872) && (StartIndex==0) && (PrimitiveCount==968))
#define SIG551 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2325) && (StartIndex==0) && (PrimitiveCount==1431))
#define M16A2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==565) && (StartIndex==0) && (PrimitiveCount==423))
#define G36C ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1459) && (StartIndex==0) && (PrimitiveCount==805))
#define P90 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==317) && (StartIndex==0) && (PrimitiveCount==230))
#define EVLK21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==490) && (StartIndex==0) && (PrimitiveCount==352))
#define EVLK22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==490) && (NumVertices==798) && (StartIndex==1056) && (PrimitiveCount==559))
#define EVLK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1288) && (NumVertices==98) && (StartIndex==2733) && (PrimitiveCount==66))
#define K11 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==422) && (StartIndex==0) && (PrimitiveCount==339))
#define K12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==422) && (NumVertices==234) && (StartIndex==1017) && (PrimitiveCount==116))
#define K13 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==656) && (NumVertices==175) && (StartIndex==1365) && (PrimitiveCount==73))
#define K14 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==831) && (NumVertices==32) && (StartIndex==1584) && (PrimitiveCount==12))
#define K15 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==863) && (NumVertices==23) && (StartIndex==1620) && (PrimitiveCount==12))
#define K21 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==405) && (StartIndex==0) && (PrimitiveCount==383))
#define K22 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==405) && (NumVertices==158) && (StartIndex==1149) && (PrimitiveCount==89))
#define K23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==563) && (NumVertices==22) && (StartIndex==1416) && (PrimitiveCount==12))
#define K24 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==585) && (NumVertices==70) && (StartIndex==1452) && (PrimitiveCount==34))
#define MP51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==719) && (StartIndex==0) && (PrimitiveCount==459))
#define MP52 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==719) && (NumVertices==18) && (StartIndex==1377) && (PrimitiveCount==8))
#define MP53 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==737) && (NumVertices==203) && (StartIndex==1401) && (PrimitiveCount==84))
#define MP54 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==940) && (NumVertices==167) && (StartIndex==1653) && (PrimitiveCount==83))
#define MP55 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1107) && (NumVertices==676) && (StartIndex==1902) && (PrimitiveCount==452))
#define SteyrAUG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==462) && (StartIndex==0) && (PrimitiveCount==348))
#define SteyrAUG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==462) && (NumVertices==270) && (StartIndex==1044) && (PrimitiveCount==133))
#define SteyrAUG3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==732) && (NumVertices==41) && (StartIndex==1443) && (PrimitiveCount==25))
#define SteyrAUG4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==773) && (NumVertices==12) && (StartIndex==1518) && (PrimitiveCount==6))
#define SteyrAUG5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==785) && (NumVertices==4) && (StartIndex==1536) && (PrimitiveCount==2))
#define SteyrAUG6 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==789) && (NumVertices==18) && (StartIndex==1542) && (PrimitiveCount==8))
//----- End Rifle Defines
//----- Sniper Defines
#define DcafeM14EBR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==801) && (StartIndex==0) && (PrimitiveCount==544))
#define EngravingPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==961) && (StartIndex==0) && (PrimitiveCount==588))
#define PSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==652) && (StartIndex==0) && (PrimitiveCount==444))
#define PSG2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1258) && (NumVertices==474) && (StartIndex==5514) && (PrimitiveCount==728))
#define GOLDPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==963) && (StartIndex==0) && (PrimitiveCount==588))
#define DragonPSG1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==659) && (StartIndex==0) && (PrimitiveCount==444))
#define MSG90DMR ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==673) && (StartIndex==0) && (PrimitiveCount==368))
#define DragonWA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==726) && (StartIndex==0) && (PrimitiveCount==474))
#define KAR98K ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==391) && (StartIndex==0) && (PrimitiveCount==267))
#define DSR1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==663) && (StartIndex==0) && (PrimitiveCount==527))
#define GoldDragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1832) && (StartIndex==0) && (PrimitiveCount==865))
#define WA2000 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==464))
#define GoldTango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==617) && (StartIndex==0) && (PrimitiveCount==509))
#define CheytacM200 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==717) && (StartIndex==0) && (PrimitiveCount==422))
#define Tango51 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==285) && (StartIndex==0) && (PrimitiveCount==135))
#define BlackM110 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==763) && (StartIndex==0) && (PrimitiveCount==433))
#define FRF2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==537) && (StartIndex==0) && (PrimitiveCount==373))
#define AWP ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1152) && (StartIndex==0) && (PrimitiveCount==840))
#define M110SAS ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==760) && (StartIndex==0) && (PrimitiveCount==431))
#define Dragunov ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==2390) && (StartIndex==0) && (PrimitiveCount==1276))
//----- End Sniper Defines
//----- Machine Gun Defines
#define DEGTYAREV ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==526) && (StartIndex==0) && (PrimitiveCount==315))
#define EVLM249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1692) && (StartIndex==0) && (PrimitiveCount==1052))
#define GattlingGun1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==553) && (StartIndex==0) && (PrimitiveCount==380))
#define GattlingGun2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==54) && (StartIndex==0) && (PrimitiveCount==34))
#define MG36 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==582) && (StartIndex==0) && (PrimitiveCount==322))
#define M249 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==1937) && (StartIndex==0) && (PrimitiveCount==1304))
#define LUGER ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==319) && (StartIndex==0) && (PrimitiveCount==171))
//----- End Machine Gun Defines
//----- Secondary Defines
#define BerettaM92F1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==715) && (StartIndex==0) && (PrimitiveCount==449))
#define BerettaM92F2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==715) && (NumVertices==110) && (StartIndex==1347) && (PrimitiveCount==44))
#define BerettaM92F3 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==825) && (NumVertices==165) && (StartIndex==1479) && (PrimitiveCount==75))
#define BerettaM92F4 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==990) && (NumVertices==44) && (StartIndex==1704) && (PrimitiveCount==20))
#define BerettaM92F5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==1034) && (NumVertices==28) && (StartIndex==1764) && (PrimitiveCount==14))
#define M945ExtendedS1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==256) && (StartIndex==0) && (PrimitiveCount==192))
#define M945ExtendedS2 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==256) && (NumVertices==400) && (StartIndex==576) && (PrimitiveCount==246))
#define M629 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==281) && (StartIndex==0) && (PrimitiveCount==215))
#define SPAS12 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==418) && (StartIndex==0) && (PrimitiveCount==249))
#define DesertEagle ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==362) && (StartIndex==0) && (PrimitiveCount==209))
#define DoubleMK23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==328) && (StartIndex==0) && (PrimitiveCount==174))
#define Desperado ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==197) && (StartIndex==0) && (PrimitiveCount==127))
#define CompactM945 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==247) && (StartIndex==0) && (PrimitiveCount==178))
#define MR73 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==289) && (StartIndex==0) && (PrimitiveCount==223))
#define RemingtonM870 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==701) && (StartIndex==0) && (PrimitiveCount==618))
#define BenelliM1 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==721) && (StartIndex==0) && (PrimitiveCount==457))
#define Colt45 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==920) && (StartIndex==0) && (PrimitiveCount==543))
#define Glock23 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==165) && (StartIndex==0) && (PrimitiveCount==122))
//----- End Secondary Defines
//----- Knives Defines
#define SilverKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==167) && (StartIndex==0) && (PrimitiveCount==189))
#define Shovel ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==126) && (StartIndex==0) && (PrimitiveCount==102))
#define SharkKnife ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==260) && (StartIndex==0) && (PrimitiveCount==205))
#define Hatchet ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==106) && (StartIndex==0) && (PrimitiveCount==114))
//----- End Knives Defines
//----- Nades Defines
#define MarkIIGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==174) && (StartIndex==0) && (PrimitiveCount==152))
#define VXGrenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==271) && (StartIndex==0) && (PrimitiveCount==257))
#define RGD5 ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==338) && (StartIndex==0) && (PrimitiveCount==339))
#define ANM8Smoke ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==171) && (StartIndex==0) && (PrimitiveCount==143))
#define FlashBang ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==158) && (StartIndex==0) && (PrimitiveCount==131))
#define M67Grenade ((Stride==40) && (BaseVertexIndex==0) && (MinIndex==0) && (NumVertices==213) && (StartIndex==0) && (PrimitiveCount==174))
//----- End Nades Defines
//----- End Weapon Defines---------------------------------------
Usage:
In DIP
Code:
if(Tools.DrawChams)
{
// Rifles
if(DcafeP90||FNFAL||PhoenixM4A1Sight1||PhoenixM4A1Sight2||HorrorTAR21||M4A1||HK416||M16A2GL1||M16A2GL2||TigerGalil||AK74||Type97||EVLAN941||EVLAN942||EVLM16A2||M4A12||HotRodMP7A1||PPSH41||Uzi||EVLGalil1||EVLGalil2||SAMRM16A21||SAMRM16A22||MarineUzi||K7||Type89||TAR21||UMP45||ScarH1||ScarH2||AN94||DevilUzi||MAC10||AUGA3||MP7A1||GoldAK47s||G3A3||FAMAS||GALIL||SIG551||M16A2||G36C||P90||EVLK21||EVLK22||EVLK23||K11||K12||K13||K14||K15||K21||K22||K23||K24||MP51||MP52||MP53||MP54||MP55||SteyrAUG1||SteyrAUG2||SteyrAUG3||SteyrAUG4||SteyrAUG5||SteyrAUG6)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
// Snipers
if(DcafeM14EBR||EngravingPSG1||PSG1||PSG2||GOLDPSG1||DragonPSG1||MSG90DMR||DragonWA2000||KAR98K||DSR1||GoldDragunov||WA2000||GoldTango51||CheytacM200||Tango51||BlackM110||FRF2||AWP||M110SAS||Dragunov)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
// Machine Guns
if(DEGTYAREV||EVLM249||GattlingGun1||GattlingGun2||MG36||M249||LUGER)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
// Secondary Weapons
if(BerettaM92F1||BerettaM92F2||BerettaM92F3||BerettaM92F4||BerettaM92F5||M945ExtendedS1||M945ExtendedS2||M629||SPAS12||DesertEagle||DoubleMK23||Desperado||CompactM945||MR73||RemingtonM870||BenelliM1||Colt45||Glock23)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
// Nades
if(MarkIIGrenade||VXGrenade||RGD5||ANM8Smoke||FlashBang||M67Grenade)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
// Knives
if(SilverKnife||Shovel||SharkKnife||Hatchet)
{
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDevice->SetTexture( 0, Red );
DrawIndexedPrimitive_Pointer(pDevice,Type,BaseVertexIndex,MinIndex,NumVertices,StartIndex,PrimitiveCount);
pDevice->SetTexture( 0, Lime );
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
}
}
Note:Do Not Copy Paste ,, Write It