boo
i wanna announce my return(although i will be going away again in a short time)by releasing this logger(i think some peepz here know abt this)
What this does is basically get the number of textures loaded and logged and actually the strides/numverts/primcount
i wont be telling you what to modify(anti-choob protection) to make it work
variable explanations(hinthint *globals not every one of them are*):
bool method -- bool to choose to enable chams while logging to find the logged texture on player model
bool bHave -- bool check to enable the logger output after the value counter has finished logging
UINT curl=0 -- current logged texture(this will be output)
UINT curr=0 -- no of textures loaded(a bit fuzzy about this ;p)
UINT stri[50000];
UINT vert[50000];
UINT prim[50000]; -- arrays to hold the values of each param
char numvertstr[20];
char stridestr[20];
char primcountstr[20];
char currstr[20];
char curlstr[20]; -- to hold character strings for output
Main logger code(what this does is to get the number of stride/prim/vert values through looping and break once all the values are logged):
Code:
if(CH_stridelogger == 1){
bool bHave=false;
for(int i=0;i<50000;i++){ if(stri[i]==m_Stride && vert[i]==NumVertices && prim[i]==PrimitiveCount){ bHave=true; break; } }
if(!bHave){
stri[curr]=m_Stride;
vert[curr]=NumVertices;
prim[curr]=PrimitiveCount;
curr++;
}
if(stri[curl]==m_Stride && vert[curl]==NumVertices && prim[curl]==PrimitiveCount){
if(method){ return NULL; }
else{
Device_Interface->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
Device_Interface->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
Device_Interface->SetPixelShader(cRed);
}
}
Logging Code:
Code:
itoa(vert[curl], numvertstr, 10);
itoa(stri[curl], stridestr, 10);
itoa(prim[curl], primcountstr, 10);
itoa(curr, currstr, 10); -- converts the int datatype to a char datatype
if( GetAsyncKeyState( VK_NUMPAD1 ) & 1 ){ method = !method; }//disable/enable col
if( GetAsyncKeyState( VK_SUBTRACT ) & 1 ){ if(curl != 0){ curl--; } }//see next/prev tex
if( GetAsyncKeyState( VK_ADD ) & 1 ){ if(curl < curr-1){ curl++; } }//see next/prev tex
if( GetAsyncKeyState( VK_NUMPAD9 ) & 1 ){ if(curl != 0){ curl-=100; } }//see next/prev tex 100
if( GetAsyncKeyState( VK_NUMPAD6 ) & 1 ){ if(curl < curr-1){ curl+=100; } }//see next/prev tex 100
if( GetAsyncKeyState( VK_NUMPAD5 ) & 1 )
{
add_log("Stride[%d] -> %d" ,curl,stri[curl]);
add_log("NumVertices[%d] -> %d", curl, vert[curl]);
add_log("PrimitiveCount[%d] -> %d", curl, prim[curl]);
add_log("Number of Textures logged -> %d", curr);
} -- pretty self explanatory so i wont explain
NOTE:
This snippet uses the add_log function from TatniumD3D(creds to Azorbix and gang) so if you dont know how to port it out to ur own source too bad you cant save values to file
Special thanks to a guy from GD which i forgot for teaching me this better way
I do not take full credit for this but please credit the original coders of the aforementioned sources and me for modifying it
as for all the choobs out there (C+P included):
This code has been protected under VAC! (Valve-Anti-Choob)
lol to all future releases u can paste this over ^^^^^^^