// MNetworkIncludeByName = m_pEntity
// MNetworkIncludeByName = m_flSimulationTime
// MNetworkIncludeByName = m_flCreateTime
// MNetworkIncludeByName = m_iTeamNum
// MNetworkIncludeByName = m_nNextThinkTick
// MNetworkIncludeByName = m_fFlags
// MNetworkUserGroupProxy = CBasePlayerController
// MNetworkUserGroupProxy = CBasePlayerController
// MNetworkIncludeByUserGroup = LocalPlayerExclusive
// MNetworkVarNames = uint32 m_nTickBase
// MNetworkVarNames = CHandle< CBasePlayerPawn> m_hPawn
// MNetworkVarNames = bool m_bKnownTeamMismatch
// MNetworkVarNames = PlayerConnectedState m_iConnected
// MNetworkVarNames = char m_iszPlayerName
// MNetworkVarNames = uint64 m_steamID
// MNetworkVarNames = bool m_bNoClipEnabled
// MNetworkVarNames = uint32 m_iDesiredFOV
class CBasePlayerController : public CBaseEntity
{
    uint8 pad_04F0[8];
public:
    uint64 m_nInButtonsWhichAreToggles;
    // MNetworkEnable
    // MNetworkPriority = 1
    // MNetworkUserGroup = LocalPlayerExclusive
    uint32 m_nTickBase;
private:
    uint8 pad_0504[36];
public:
    // MNetworkEnable
    // MNetworkChangeCallback = OnPawnChanged
    CHandle<CBasePlayerPawn> m_hPawn;
    // MNetworkEnable
    bool m_bKnownTeamMismatch;
    CSplitScreenSlot m_nSplitScreenSlot;
    CHandle<CBasePlayerController> m_hSplitOwner;
    CUtlVector<CHandle<CBasePlayerController>> m_hSplitScreenPlayers;
    bool m_bIsHLTV;
    // MNetworkEnable
    // MNetworkChangeCallback = OnConnectionStateChanged
    PlayerConnectedState m_iConnected;
    // MNetworkEnable
    // MNetworkChangeCallback = OnPlayerControllerNameChanged
    char m_iszPlayerName[128];
    CUtlString m_szNetworkIDString;
    float32 m_fLerpTime;
    bool m_bLagCompensation;
    bool m_bPredict;
private:
    uint8 pad_05E6[6];
public:
    bool m_bIsLowViolence;
    bool m_bGamePaused;
private:
    uint8 pad_05F0[328];
public:
    ChatIgnoreType_t m_iIgnoreGlobalChat;
    float32 m_flLastPlayerTalkTime;
    float32 m_flLastEntitySteadyState;
    int32 m_nAvailableEntitySteadyState;
    bool m_bHasAnySteadyStateEnts;
private:
    uint8 pad_0750[8];
public:
    // MNetworkEnable
    // MNetworkEncoder = fixed64
    // MNetworkChangeCallback = OnSteamIDChanged
    uint64 m_steamID;
    // MNetworkEnable
    // MNetworkChangeCallback = OnNoClipEnableChanged
    bool m_bNoClipEnabled;
    // MNetworkEnable
    uint32 m_iDesiredFOV;
private:
    uint8 pad_0768[152];
};