All Bone ID's
Made this in C++. Renders the id of each bone in the correct location. The text is very small so you may have to zoom in.
I found this very useful, after discovering that not all player models share the same bones in the same places.
Here's the code. I'm sure someone's going to point out a better way to do this, but whatever. It gets the job done.
Here are some screenshots of bone locations. T's and CT's are different on DUST2.










Hopefully someone finds this useful in writing their own bone esp.
Extra Credits: Stole the cbonematrix from a source @gtaplayer2 released.
I found this very useful, after discovering that not all player models share the same bones in the same places.
Here's the code. I'm sure someone's going to point out a better way to do this, but whatever. It gets the job done.
Code:
for (int i = 0;i < 90;i++)
{
DrawBoneText(i, pEntity->BoneBase);
}
Code:
void DrawBoneText(int bone1, DWORD BoneBase)
{
float Bone1[3];
float W2S_Bone1[3];
CBoneMatrix.GetBonePos(BoneBase, bone1, Bone1);
stringstream ss;
if (WorldToScreen(Bone1, W2S_Bone1))
{
ss << bone1;
char * boneInfo = new char[ss.str().size() + 1];
strcpy(boneInfo, ss.str().c_str());
DrawString(boneInfo, W2S_Bone1[0], W2S_Bone1[1], 255, 255, 255, pFontSmall);
delete[] boneInfo;
}
}
Code:
class CBoneMatrix
{
public:
void GetBonePos(DWORD boneBase, int boneID, float * bonePos)
{
bonePos[0] = Mem.Read<float>(boneBase + 0x30 * boneID + 0x0C);//x
bonePos[1] = Mem.Read<float>(boneBase + 0x30 * boneID + 0x1C);//y
bonePos[2] = Mem.Read<float>(boneBase + 0x30 * boneID + 0x2C);//z
}
}CBoneMatrix;
Here are some screenshots of bone locations. T's and CT's are different on DUST2.










Hopefully someone finds this useful in writing their own bone esp.
Extra Credits: Stole the cbonematrix from a source @gtaplayer2 released.


