CFPH x64:
Code:
class BoneArray//Not array of pointer rather D3DXVECTOR4[NodeCount]
{
public:
D3DXMATRIX BoneMatrix[100];//Its not really a D3DXMATRIX it's a different data type
}; //Size: 0x0068
class ModelInstance
{
public:
char pad_0000[8]; //0x0000
D3DXVECTOR3 Min; //0x0008
D3DXVECTOR3 Max; //0x0014
char pad_0020[240]; //0x0020
D3DXVECTOR3 ModelScale; //0x0110
int32_t ModelType; //0x011C
int32_t ValidModel; //0x0120
char pad_0124[8]; //0x0124
float N00000DDC; //0x012C
float N00000EF4; //0x0130
D3DXVECTOR3 Dimension; //0x0134
char pad_0140[24]; //0x0140 [0x14C is a Vector3 and its the ModelCullingPos]
float Height; //0x0158
D3DXVECTOR3 Position; //0x015C
D3DXVECTOR4 Rotation; //0x0168
float Velocity; //0x0178
float N00000EEF; //0x017C
float N00000EF1; //0x0180
D3DXVECTOR3 GlobalForceOverride; //0x0184
D3DXVECTOR3 N00000DE7; //0x0190
D3DXVECTOR3 N00000DE8; //0x019C
char pad_01A8[5328]; //0x01A8
class ModelProperties* pModelProperties; //0x1678
char pad_1680[104]; //0x1680
class CD3DRenderStyle* pCD3DRenderStyle; //0x16E8
char pad_16F0[4464]; //0x16F0
class BoneArray* pBoneArray; //0x2860
char pad_2868[8]; //0x2868
void* bonerelated; //0x2870
bool GetBonePos(UINT boneindex, D3DXVECTOR3& out) {
if (!IsValidPtr(this->pBoneArray))return false;
auto Bone = this->pBoneArray->BoneMatrix[boneindex];
out = D3DXVECTOR3(Bone._14, Bone._24, Bone._34);
return true;
}
}; //Size: 0x09E0