diff --git a/public/cdll_int.h b/public/cdll_int.h index 60654f73..bb3edf5a 100644 --- a/public/cdll_int.h +++ b/public/cdll_int.h @@ -98,8 +98,6 @@ typedef struct player_info_s bool fakeplayer; // true if player is the HLTV proxy bool ishltv; - // true if player is the Replay proxy - bool isreplay; // custom files CRC for this player CRC32_t customFiles[MAX_CUSTOM_FILES]; // this counter increases each time the server downloaded a new file diff --git a/public/edict.h b/public/edict.h index 61376747..c2d14b1e 100644 --- a/public/edict.h +++ b/public/edict.h @@ -49,6 +49,7 @@ public: // Current map string_t mapname; + string_t mapGroupName; int mapversion; string_t startspot; MapLoadType_t eLoadType; // How the current map was loaded diff --git a/public/eiface.h b/public/eiface.h index 5cc8c0c3..71caf6f7 100644 --- a/public/eiface.h +++ b/public/eiface.h @@ -72,7 +72,7 @@ typedef struct player_info_s player_info_t; #define DLLEXPORT /* */ #endif -#define INTERFACEVERSION_VENGINESERVER "VEngineServer022" +#define INTERFACEVERSION_VENGINESERVER "VEngineServer023" struct bbox_t { @@ -352,6 +352,9 @@ public: // Cleans up the cluster list virtual void CleanUpEntityClusterList( PVSInfo_t *pPVSInfo ) = 0; + + virtual void SetAchievementMgr( IAchievementMgr * ) = 0; + virtual IAchievementMgr* GetAchievementMgr() = 0; virtual int GetAppID() = 0; @@ -404,6 +407,7 @@ public: virtual bool IsCreatingReslist() = 0; virtual bool IsCreatingXboxReslist() = 0; virtual bool IsDedicatedServerForXbox() = 0; + virtual bool IsDedicatedServerForPS3() = 0; virtual void Pause( bool bPause, bool bForce = false ) = 0; @@ -431,7 +435,7 @@ public: // Calls ShootPaintSphere virtual bool SpherePaintSurface( const model_t *pModel, const Vector &, unsigned char, float, float ) = 0; - virtual void SphereTracePaintSurface( const model_t *pModel, const Vector &, const Vector &, float, CUtlVector> & ) = 0; + virtual void SphereTracePaintSurface( const model_t *pModel, const Vector &, const Vector &, float, CUtlVector & ) = 0; virtual void RemoveAllPaint() = 0; @@ -448,8 +452,8 @@ public: virtual void SetNoClipEnabled( bool bEnabled ) = 0; - virtual void GetPaintmapDataRLE( CUtlVector> &mapdata ) = 0; - virtual void LoadPaintmapDataRLE( CUtlVector> &mapdata ) = 0; + virtual void GetPaintmapDataRLE( CUtlVector &mapdata ) = 0; + virtual void LoadPaintmapDataRLE( CUtlVector &mapdata ) = 0; virtual void SendPaintmapDataToClient( edict_t *pEdict ) = 0; virtual float GetLatencyForChoreoSounds() = 0; @@ -578,6 +582,10 @@ public: virtual void ServerHibernationUpdate( bool bHibernating ) = 0; virtual bool ShouldPreferSteamAuth() = 0; + + virtual bool ShouldAllowDirectConnect() = 0; + virtual bool FriendsReqdForDirectConnect() = 0; + }; //----------------------------------------------------------------------------- diff --git a/public/filesystem.h b/public/filesystem.h index a2337cc9..3731064e 100644 --- a/public/filesystem.h +++ b/public/filesystem.h @@ -95,6 +95,8 @@ enum PathTypeFilter_t FILTER_NONE = 0, // no filtering, all search path types match FILTER_CULLPACK = 1, // pack based search paths are culled (maps and zips) FILTER_CULLNONPACK = 2, // non-pack based search paths are culled + FILTER_CULLLOCALIZED, + FILTER_CULLLOCALIZED_ANY, }; // search path querying (bit flags) diff --git a/public/globalvars_base.h b/public/globalvars_base.h index 1ae8c727..7c9e5cc9 100644 --- a/public/globalvars_base.h +++ b/public/globalvars_base.h @@ -24,6 +24,8 @@ public: // This can be used to filter debug output or to catch the client or server in the act. bool IsClient() const; + + bool IsRemoteClient() const; // for encoding m_flSimulationTime, m_flAnimTime int GetNetworkBase( int nTick, int nEntity ); @@ -79,6 +81,10 @@ private: // Set to true in client code. bool m_bClient; +public: + bool m_bRemoteClient; + +private: // 100 (i.e., tickcount is rounded down to this base and then the "delta" from this base is networked int nTimestampNetworkingBase; // 32 (entindex() % nTimestampRandomizeWindow ) is subtracted from gpGlobals->tickcount to set the networking basis, prevents @@ -106,4 +112,9 @@ inline bool CGlobalVarsBase::IsClient() const return m_bClient; } +inline bool CGlobalVarsBase::IsRemoteClient() const +{ + return m_bRemoteClient; +} + #endif // GLOBALVARS_BASE_H diff --git a/public/iclient.h b/public/iclient.h index 9133994e..8d8ed2ec 100644 --- a/public/iclient.h +++ b/public/iclient.h @@ -19,13 +19,22 @@ class INetMessage; struct NetMessageCvar_t; struct USERID_t; +enum CrossPlayPlatform_t +{ + CROSSPLAYPLATFORM_UNKNOWN, + CROSSPLAYPLATFORM_PC, + CROSSPLAYPLATFORM_X360, + CROSSPLAYPLATFORM_PS3, + CROSSPLAYPLATFORM_LAST, +} + abstract_class IClient : public INetChannelHandler { public: virtual ~IClient() {} // connect client - virtual void Connect( const char * szName, int nUserID, INetChannel *pNetChannel, bool bFakePlayer, CUtlVector< NetMessageCvar_t > *pVecCvars = NULL ) = 0; + virtual void Connect( const char * szName, int nUserID, INetChannel *pNetChannel, bool bFakePlayer, CrossPlayPlatform_t platform, CUtlVector< NetMessageCvar_t > *pVecCvars = NULL ) = 0; // set the client in a pending state waiting for a new game virtual void Inactivate( void ) = 0; @@ -76,8 +85,6 @@ public: virtual bool IsFakeClient( void ) const = 0; // returns true, if client is a HLTV proxy virtual bool IsHLTV( void ) const = 0; - // returns true, if client is a Replay proxy - virtual bool IsReplay( void ) const = 0; // returns true, if client hears this player virtual bool IsHearingClient(int index) const = 0; // returns true, if client hears this player by proximity @@ -99,7 +106,7 @@ public: virtual bool IsHumanPlayer() const = 0; - virtual int GetClientPlatform() const = 0; + virtual CrossPlayPlatform_t GetClientPlatform() const = 0; }; #endif // ICLIENT_H