// MNetworkIncludeByName = m_bClientSideRagdoll
// MNetworkVarNames = bool m_bInitiallyPopulateInterpHistory
// MNetworkVarNames = bool m_bAnimGraphUpdateEnabled
// MNetworkVarNames = Vector m_vecForce
// MNetworkVarNames = int32 m_nForceBone
// MNetworkVarNames = PhysicsRagdollPose_t m_RagdollPose
// MNetworkVarNames = bool m_bRagdollEnabled
// MNetworkVarNames = bool m_bRagdollClientSide
class CBaseAnimGraph : public CBaseModelEntity
{
public:
    // MSaveOpsForField = !!UNKNOWN!!
    CAnimGraphControllerManager m_graphControllerManager;
    // MSaveOpsForField = !!UNKNOWN!!
    CAnimGraphControllerBase* m_pMainGraphController;
    // MNetworkEnable
    bool m_bInitiallyPopulateInterpHistory;
    // MSaveOpsForField = !!UNKNOWN!!
    IChoreoServices* m_pChoreoServices;
    // MNetworkEnable
    bool m_bAnimGraphUpdateEnabled;
    float32 m_flMaxSlopeDistance;
    // MNotSaved = !!UNKNOWN!!
    VectorWS m_vLastSlopeCheckPos;
    uint32 m_nAnimGraphUpdateId;
    // MNotSaved = !!UNKNOWN!!
    bool m_bAnimationUpdateScheduled;
    // MNetworkEnable
    // MNotSaved = !!UNKNOWN!!
    Vector m_vecForce;
    // MNetworkEnable
    // MNotSaved = !!UNKNOWN!!
    int32 m_nForceBone;
private:
    uint8 pad_0870[8];
public:
    // MPhysPtr = !!UNKNOWN!!
    IPhysicsRagdollControl* m_pRagdollControl;
    // MNetworkEnable
    PhysicsRagdollPose_t m_RagdollPose;
    // MNetworkEnable
    // MNetworkChangeCallback = OnClientRagdollEnabledChanged
    bool m_bRagdollEnabled;
    // MNetworkEnable
    // MNetworkChangeCallback = OnClientRagdollChanged
    // MNotSaved = !!UNKNOWN!!
    bool m_bRagdollClientSide;
    CTransform m_xParentedRagdollRootInEntitySpace;
private:
    uint8 pad_08D0[320];
public:
    CUtlHashtable<AnimTagID, CBaseAnimGraph__ModifierHandleVector_t> m_bodyGroupModifiers;
private:
    uint8 pad_0A30[80];
};