// MNetworkVarNames = CGameSceneNodeHandle m_hParent
// MNetworkVarNames = CNetworkOriginCellCoordQuantizedVector m_vecOrigin
// MNetworkVarNames = QAngle m_angRotation
// MNetworkVarNames = float m_flScale
// MNetworkVarNames = CUtlStringToken m_name
// MNetworkVarNames = CUtlStringToken m_hierarchyAttachName
class CGameSceneNode
{
    void* __vftable;
    uint8 pad_0008[8];
public:
    // MNotSaved = !!UNKNOWN!!
    CTransformWS m_nodeToWorld;
    // MNotSaved = !!UNKNOWN!!
    CEntityInstance* m_pOwner;
    // MNotSaved = !!UNKNOWN!!
    CGameSceneNode* m_pParent;
    // MNotSaved = !!UNKNOWN!!
    CGameSceneNode* m_pChild;
    // MNotSaved = !!UNKNOWN!!
    CGameSceneNode* m_pNextSibling;
private:
    uint8 pad_0050[32];
public:
    // MNetworkEnable
    // MNetworkSerializer = gameSceneNode
    // MNetworkChangeCallback = gameSceneNodeHierarchyParentChanged
    // MNetworkPriority = 32
    // MNetworkVarEmbeddedFieldOffsetDelta = 8
    CGameSceneNodeHandle m_hParent;
    // MNetworkEnable
    // MNetworkPriority = 32
    // MNetworkUserGroup = Origin
    // MNetworkChangeCallback = gameSceneNodeLocalOriginChanged
    CNetworkOriginCellCoordQuantizedVector m_vecOrigin;
private:
    uint8 pad_00B0[8];
public:
    // MNetworkEnable
    // MNetworkPriority = 32
    // MNetworkSerializer = gameSceneNodeStepSimulationAnglesSerializer
    // MNetworkChangeCallback = gameSceneNodeLocalAnglesChanged
    // MNetworkEncoder = qangle_precise
    QAngle m_angRotation;
    // MNetworkEnable
    // MNetworkChangeCallback = gameSceneNodeLocalScaleChanged
    // MNetworkPriority = 32
    float32 m_flScale;
    VectorWS m_vecAbsOrigin;
    QAngle m_angAbsRotation;
    float32 m_flAbsScale;
    // MNotSaved = !!UNKNOWN!!
    Vector m_vecWrappedLocalOrigin;
    // MNotSaved = !!UNKNOWN!!
    QAngle m_angWrappedLocalRotation;
    // MNotSaved = !!UNKNOWN!!
    float32 m_flWrappedScale;
    // MNotSaved = !!UNKNOWN!!
    int16 m_nParentAttachmentOrBone;
    // MNotSaved = !!UNKNOWN!!
    bool m_bDebugAbsOriginChanges;
    bool m_bDormant;
    bool m_bForceParentToBeNetworked;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bDirtyHierarchy : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bDirtyBoneMergeInfo : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bNetworkedPositionChanged : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bNetworkedAnglesChanged : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bNetworkedScaleChanged : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bWillBeCallingPostDataUpdate : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bBoneMergeFlex : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_nLatchAbsOrigin : 2;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_bDirtyBoneMergeBoneToRoot : 1;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_nHierarchicalDepth;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_nHierarchyType;
    // MNotSaved = !!UNKNOWN!!
    uint8 m_nDoNotSetAnimTimeInInvalidatePhysicsCount;
    // MNetworkEnable
    CUtlStringToken m_name;
private:
    uint8 pad_0110[16];
public:
    // MNetworkEnable
    // MNetworkChangeCallback = gameSceneNodeHierarchyAttachmentChanged
    CUtlStringToken m_hierarchyAttachName;
    float32 m_flClientLocalScale;
    Vector m_vRenderOrigin;
};