Ya, I checked that. I replaced my model rec logger to use Shader instead of Texture. Shader says it's Stride 50 when it covers the screen but I only use 36.
Heres my model rec for Swat 4. Not all the NPC are logged tho. I missed a few when I was logging.
Code:
#define Chams ((lVerts == 38 && lPrims == 42) || (lVerts == 601 && lPrims == 496) || (lVerts == 27 && lPrims == 50) || (lVerts == 165 && lPrims == 1746) || (lVerts == 644 && lPrims == 512) || (lVerts == 1151 && lPrims == 1369) || (lVerts == 474 && lPrims == 689) || (lVerts == 225 && lPrims == 269) || (lVerts == 670 && lPrims == 699) || (lVerts == 885 && lPrims == 961) || (lVerts == 310 && lPrims == 398) || (lVerts == 186 && lPrims == 234) || (lVerts == 994 && lPrims == 1347) || (lVerts == 1027 && lPrims == 1331) || (lVerts == 501 && lPrims == 673) || (lVerts == 154 && lPrims == 183) || (lVerts == 600 && lPrims == 765) || (lVerts == 667 && lPrims == 864) || (lVerts == 186 && lPrims == 216) || (lVerts == 499 && lPrims == 677) || (lVerts == 808 && lPrims == 1164) || (lVerts == 966 && lPrims == 1316) || (lVerts == 564 && lPrims == 776) || (lVerts == 900 && lPrims == 1203) || (lVerts == 169 && lPrims == 225) || (lVerts == 571 && lPrims == 763) || (lVerts == 892 && lPrims == 1185) || (lVerts == 681 && lPrims == 1006) || (lVerts == 845 && lPrims == 1143) || (lVerts == 979 && lPrims == 1373) || (lVerts == 627 && lPrims == 810) || (lVerts == 673 && lPrims == 878) || (lVerts == 403 && lPrims == 549) || (lVerts == 936 && lPrims == 1313) || (lVerts == 600 && lPrims == 765) || (lVerts == 667 && lPrims == 864) || (lVerts == 950 && lPrims == 1329) || (lVerts == 479 && lPrims == 693) || (lVerts == 906 && lPrims == 1224) || (lVerts == 710 && lPrims == 936) || (lVerts == 544 && lPrims == 766) || (lVerts == 456 && lPrims == 659) || (lVerts == 896 && lPrims == 1216) || (lVerts == 714 && lPrims == 936) || (lVerts == 184 && lPrims == 239) || (lVerts == 343 && lPrims == 467) || (lVerts == 1053 && lPrims == 1438) || (lVerts == 656 && lPrims == 924) || (lVerts == 671 && lPrims == 876) || (lVerts == 594 && lPrims == 848) || (lVerts == 371 && lPrims == 345) || (lVerts == 380 && lPrims == 513))
Stride is 36 for all NPC/Swat and some objects.
--------
Here is the Model Rec script I made.
It is not pro and can be improved.
If you do improve, please post your changes! (and why if possible)
Thanks =)
Defines:
Code:
unsigned int Arr[999999]; //Stores DIP UIDs.
unsigned int ArrSize=0; //How many UIDs are in the array.
unsigned int AView=0; //Current UID I want to view.
unsigned int AVvert=0; //Used for logging
unsigned int AVprim=0; //Used for logging
unsigned int zs=0; //Used for logging
Function: (CheckArray)
Code:
bool CheckArray(unsigned int Val)
//True if its in the list or cant put in the list
//False if its a New UID.
{
bool isIN=false;
for(unsigned int Z=1; Z < ArrSize; Z++)
{
if(Arr[Z] == Val)
{
isIN = true;
}
}
if(!isIN)
{
if (ArrSize == 999997)
{
return true;
}
Arr[ArrSize] = Val;
ArrSize++;
return false;
}
return true;
}
DIP:
Code:
unsigned int tmp1;
tmp1 = (((lVerts+1200)+(lPrims+2300)+(lStrides+3400))+10000); //Creates a UID.
if (!CheckArray(V))
{
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,false);
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
m_pD3Ddev->SetTexture( 0, Red);
m_pD3Ddev->DrawIndexedPrimitive(Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, true);
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
m_pD3Ddev->SetTexture( 0, Pink);
}
if (AView > 0)
{
if (V == Arr[AView])
//Here is where AView comes into play.
//V is the UID and AView is the Current UID I want to view.
{
AVvert = lVerts;
AVprim = lPrims;
zs = lStrides;
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE,false);
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
m_pD3Ddev->SetTexture( 0, Green);
//m_pD3Ddev->SetPixelShader(Pixelcolor[2]);
m_pD3Ddev->DrawIndexedPrimitive(Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
m_pD3Ddev->SetRenderState(D3DRS_ZENABLE, true);
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE,D3DFILL_SOLID);
m_pD3Ddev->SetTexture( 0, DOrange);
//m_pD3Ddev->SetPixelShader(Pixelcolor[3]);
}
}
End:
Code:
//This is where I change what UID I want to view.
if(GetAsyncKeyState(VK_NUMPAD1)&1)
{
if(AView > 0)
{
AView--;
}
else
{
AView++;
}
}
if(GetAsyncKeyState(VK_NUMPAD4)&1)
{
if(AView < 999997)
{
AView++;
}
else
{
AView--;
}
}
if(GetAsyncKeyState(VK_NUMPAD8)&1)
{
for(unsigned int Z=0; Z < ArrSize; Z++)
{
Arr[Z] = 0;
}
ArrSize = 0;
}
if(GetAsyncKeyState(VK_NUMPAD7)&1)
{
AView = 0;
}
//This is my logger. On screen Logging.
sprintf_s(str, " AV VERT: %d", AVvert); //Use your own D3Dfont! =)
sprintf_s(str2, " AV PRIM: %d", AVprim);
sprintf_s(str3,"V:%d Stride:%d",AView,zs);
sprintf_s(str4, " aSize: %d",ArrSize);
Also, Thank you so much for your input Why06.