Small update:
Code:
class CCharacter
{
public:
VTable* m_pCCharacterVTable; //0x0000
std::int8_t pad_0x0004[0x3C]; //0x0004
float m_flYaw; //0x0040
std::int32_t m_bIsSpectating; //0x0044
std::int8_t pad_0x0048[0x1C]; //0x0048
CCharacterCollision* m_pCharacterCollision; //0x0064
std::int8_t pad_0x0068[0x28]; //0x0068
std::int8_t m_bSpawnProtection; //0x0090
std::int8_t pad_0x0091[0x7]; //0x0091
CSomeModelStuff* m_pSomeModelStuff; //0x0098
VTable* m_pCharacterInfoVTable; //0x009C
std::int8_t m_bAlive; //0x00A0
std::int8_t pad_0x00A1[0x3]; //0x00A1
std::int32_t m_iCurrentHealth; //0x00A4
std::int32_t m_iCurrentArmor; //0x00A8
std::int32_t m_iMaxHealth; //0x00AC
std::int32_t m_iMaxArmor; //0x00B0
std::int8_t pad_0x00B4[0x10]; //0x00B4
std::int32_t m_iTeamID; //0x00C4
std::int8_t pad_0x00C8[0x38]; //0x00C8
wchar_t m_szNameUnicode[15]; //0x0100
std::int8_t pad_0x013C[0x24]; //0x011E
char m_szNameAscii[15]; //0x0142
std::int8_t pad_0x0151[0x2B]; //0x0151
CMetaboost_ActorData* m_pMetaBoost_ActorData; //0x017C
std::int8_t pad_0x0180[0x4]; //0x0180
CCharacter* m_pThis1; //0x0184
std::int8_t pad_0x0188[0xB4]; //0x0188
CCharacter* m_pThis2; //0x023C
std::int8_t pad_0x0240[0xDC]; //0x0240
float m_flPitch; //0x031C
std::int8_t pad_0x0320[0xBC]; //0x0320
std::int32_t m_nWalkState; //0x03DC
std::int8_t pad_0x03E0[0x4]; //0x03E0
Vector2 m_vec2LastMovementDirection; //0x03E4
std::int8_t pad_0x03EC[0x8]; //0x03EC
float m_flMaxVelocity; //0x03F4
float m_flCurrentVelocity; //0x03F8
std::int8_t pad_0x03FC[0x34]; //0x03FC
Vector3 m_vec3Position2; //0x0430
std::int8_t pad_0x043C[0x4]; //0x043C
CActorMoveState* m_pActorMoveState; //0x0440
std::int8_t pad_0x0444[0x14]; //0x0444
CBomb* m_pBomb; //0x0458
std::int8_t pad_0x045C[0x14]; //0x045C
Vector3 m_vec3Position3; //0x0470
std::int8_t pad_0x047C[0x3C]; //0x047C
CWeapon* m_pWeapon; //0x04B8
CWeaponControl* m_pWeaponControl; //0x04BC
};
class CCharacterCollision
{
public:
VTable* m_pVTable; //0x0000
std::int8_t pad_0x0004[0x8]; //0x0004
CBone* m_pHead; //0x000C
CBone* m_pSpine; //0x0010
CBone* m_pPelvis; //0x0014
CBone* m_pRUpperArm; //0x0018
CBone* m_pRForeArm; //0x001C
std::int8_t pad_0x0020[0x4]; //0x0020
CBone* m_pLUpperArm; //0x0024
CBone* m_pLForeArm; //0x0028
std::int8_t pad_0x002C[0x4]; //0x002C
CBone* m_pRTigh; //0x0030
CBone* m_pRCalf; //0x0034
std::int8_t pad_0x0038[0x4]; //0x0038
CBone* m_pLTigh; //0x003C
CBone* m_pLCalf; //0x0040
std::int8_t pad_0x0044[0x4]; //0x0044
CBone* m_pEmptyBone; //0x0048
std::int8_t pad_0x004C[0x4]; //0x004C
VTable* m_pActorMoveVTable; //0x0050
};
class CSomeModelStuff
{
public:
VTable* m_pActorPhysicsPropertyVTable; //0x0000
CCapsuleController* m_pCapsuleController; //0x0004
std::int8_t pad_0x0008[0x8]; //0x0008
CCharacter* m_pParent; //0x0010
};
class CCapsuleController
{
public:
VTable* m_pCapsuleControllerVTable; //0x0000
std::int8_t pad_0x0004[0x4]; //0x0004
VTable* m_pCapsuleControllerVTable2; //0x0008
};
class CMetaboost_ActorData
{
};
class CBomb
{
public:
VTable* m_pVTable; //0x0000
};
class CActorMoveState
{
public:
VTable* m_pVTable; //0x0000
std::int8_t pad_0x0004[0x4]; //0x0004
CCharacter* m_pParent; //0x0008
MovementEvent* m_pLastMovementEvent; //0x000C
SomeMovementStuff* m_pCActorMove; //0x0010
std::int8_t pad_0x0014[0x4]; //0x0014
std::int32_t m_nSomeButtonState; //0x0018
std::int8_t m_bCrouching; //0x001C
std::int8_t pad_0x001D[0x3]; //0x001D
float m_flDistanceTraveledSprinting1; //0x0020
float m_flDistanceTraveledSprinting2; //0x0024
std::int8_t pad_0x0028[0x1]; //0x0028
std::int8_t m_bSprintingOnGround; //0x0029
std::int8_t m_bSprinting; //0x002A
std::int8_t pad_0x002B[0x1]; //0x002B
float m_flSprintingProgress; //0x002C
std::int8_t m_bInSprintStartStopAnimation; //0x0030
std::int8_t pad_0x0031[0x3]; //0x0031
float m_flDistanceTraveledSprinting3; //0x0034
std::int8_t pad_0x0038[0x1C]; //0x0038
float m_flDistanceTraveledSprinting4; //0x0054
};
class MovementEvent
{
public:
VTable* m_pVTable; //0x0000
std::int8_t pad_0x0004[0x4]; //0x0004
std::int32_t m_nMovementType; //0x0008
};
class SomeMovementStuff
{
public:
std::int8_t pad_0x0000[0x4]; //0x0000
std::int32_t m_nCurrentMovementType; //0x0004
std::int32_t m_nPreviousMovmentType; //0x0008
};
class CWeapon
{
public:
VTable* m_pVTable; //0x0000
std::int8_t pad_0x0004[0x50]; //0x0004
void* m_pModelStuff1; //0x0054
void* m_pModelStuff2; //0x0058
void* m_pModelStuff3; //0x005C
void* m_pModelStuff4; //0x0060
std::int8_t pad_0x0064[0x9C]; //0x0064
char m_szWeaponName[5]; //0x0100
std::int8_t pad_0x0105[0x13]; //0x0105
CWS_IDLE* m_pWeaponIdle; //0x0118
CWS_FIRE_START* m_pWeaponFireStart; //0x011C
CWS_FIRING* m_pWeaponFire; //0x0120
std::int8_t pad_0x0124[0x4]; //0x0124
CWS_RELOADING* m_pWeaponReloading; //0x0128
CWS_SG_RELOADING* m_pWeaponSGReloading; //0x012C
CWS_BASE* m_pWeaponCWSBase; //0x0130
CWS_SWAP_START* m_pWeaponSwapStart; //0x0134
CWS_SWAP_END* m_pWeaponSwapEnd; //0x0138
CWS_FAST_RELOADING* m_pWeaponFastReloading; //0x013C
CWeaponControl* m_pWeaponControl; //0x0140
CCharacter* m_pParent; //0x0144
std::int8_t m_bInIronSight; //0x0148
std::int8_t pad_0x0149[0x2]; //0x0149
std::int8_t m_bReloadFinished; //0x014B
std::int8_t pad_0x014C[0x68]; //0x014C
std::int32_t m_iWeaponID; //0x01B4
std::int32_t m_iWeaponType; //0x01B8
std::int32_t m_iWeaponSlot; //0x01BC
std::int8_t pad_0x01C0[0xEC4]; //0x01C0
CWeaponInfo* m_pWeaponInfo; //0x1084
};
class CWeaponControl
{
public:
VTable* m_pVTable; //0x0000
CCharacter* m_pCharacter; //0x0004
std::int32_t m_iSelectedWeaponSlot1; //0x0008
std::int32_t m_iSelectedWeaponSlot2; //0x000C
std::int32_t m_iPreviousSelectedWeaponSlot; //0x0010
CWeapon* m_pWeapon; //0x0014
std::int8_t pad_0x0018[0xA8]; //0x0018
VTable* m_pVTable2; //0x00C0
};
class CWS_IDLE
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_FIRE_START
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_RELOADING
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_SG_RELOADING
{
public:
VTable* m_pVTable; //0x0000
};
class CWeaponInfo
{
public:
std::int32_t m_iReserveAmmo; //0x0000
std::int32_t m_iClip; //0x0004
std::int8_t pad_0x0008[0x4]; //0x0008
std::int32_t m_iShotsFired; //0x000C
float m_flCurrentSpread; //0x0010
float m_flStartingSpread; //0x0014
Vector2 m_vec2Punch; //0x0018
float m_flTimeSinceLastShot; //0x0020
float m_flInaccuracy; //0x0024
Vector3 m_vec3ShotOrigin; //0x0028
Vector3 m_vec3ShotDirection; //0x0034
std::int8_t pad_0x0040[0x10]; //0x0040
};//Size=0x0050
class CWS_BASE
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_FIRING
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_SWAP_START
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_SWAP_END
{
public:
VTable* m_pVTable; //0x0000
};
class CWS_FAST_RELOADING
{
public:
VTable* m_pVTable; //0x0000
};
class CBone
{
public:
VTable* m_pVTable; //0x0000
std::int8_t pad_0x0004[0x4]; //0x0004
char* m_szBoneName; //0x0008
std::int8_t pad_0x000C[0x10]; //0x000C
CBone* m_pParentBone; //0x001C
std::int8_t pad_0x0020[0x8]; //0x0020
Vector3 m_vec3BonePos; //0x0028
std::int8_t pad_0x0034[0x10C]; //0x0034
};//Size=0x0140
We also have some camera stuff + matrices, but i haven't had the time to update the classes yet.