1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-09-19 20:16:10 +08:00

Add SpawnGroups & WorldRenderer related interfaces (#175)

Adds ISpawnGroup, ILoadingSpawnGroup, IGameSpawnGroupMgr, IWorld, IWorldReference & IWorldRendererMgr interfaces.
This commit is contained in:
Vladimir
2024-01-26 07:15:55 +03:00
committed by GitHub
parent 92bffa0578
commit c7a00a9a87
10 changed files with 691 additions and 47 deletions

View File

@ -12,6 +12,7 @@
#include <inetmsghandler.h>
#include <edict.h>
#include <resourcefile/resourcetype.h>
#include <tier1/checksum_crc.h>
#include <engine/IEngineService.h>
@ -28,19 +29,12 @@ class ISource2WorldSession;
class INetworkGameClient;
class GameSessionConfiguration_t;
typedef int HGameResourceManifest;
enum ESpawnGroupUnloadOption
{
};
abstract_class INetworkGameServer : public IConnectionlessPacketHandler
{
public:
virtual void Init( const GameSessionConfiguration_t &, const char * ) = 0;
virtual void SetGameSpawnGroupMgr( IGameSpawnGroupMgr * ) = 0;
virtual void SetGameSessionManifest( HGameResourceManifest * ) = 0;
virtual void SetGameSessionManifest( HGameResourceManifest ) = 0;
virtual void RegisterLoadingSpawnGroups( CUtlVector<unsigned int> & ) = 0;
virtual void Shutdown( void ) = 0;
virtual void AddRef( void ) = 0;
@ -58,7 +52,7 @@ public:
virtual void ServerSimulate( const EventServerSimulate_t & ) = 0;
virtual void ServerPostSimulate( const EventServerPostSimulate_t & ) = 0;
virtual void LoadSpawnGroup( const SpawnGroupDesc_t & ) = 0;
virtual void AsyncUnloadSpawnGroup( unsigned int, ESpawnGroupUnloadOption ) = 0;
virtual void AsyncUnloadSpawnGroup( unsigned int, /*ESpawnGroupUnloadOption*/ int ) = 0;
virtual void PrintSpawnGroupStatus( void ) const = 0;
virtual float GetTimescale( void ) const = 0; // returns the game time scale (multiplied in conjunction with host_timescale)
virtual bool IsSaveRestoreAllowed( void ) const = 0;
@ -67,7 +61,6 @@ public:
virtual const char *GetAddonName( void ) const = 0;
virtual bool IsBackgroundMap( void ) const = 0;
virtual float GetTime( void ) const = 0; // returns game world time
virtual int GetMapVersion( void ) const = 0;
virtual void ActivateServer( void ) = 0;
virtual void PrepareForAssetLoad( void ) = 0;
virtual int GetServerNetworkAddress( void ) = 0;
@ -76,7 +69,7 @@ public:
virtual void SynchronouslySpawnGroup( SpawnGroupHandle_t ) = 0;
virtual void SetServerState( server_state_t ) = 0;
virtual void SpawnServer( const char * ) = 0;
virtual void GetSpawnGroupLoadingStatus( SpawnGroupHandle_t ) = 0;
virtual int GetSpawnGroupLoadingStatus( SpawnGroupHandle_t ) = 0;
virtual void SetSpawnGroupDescription( SpawnGroupHandle_t, const char * ) = 0;
virtual CUtlVector<INetworkGameClient *> *StartChangeLevel( const char *, const char *pszLandmark, void * ) = 0;
virtual void FinishChangeLevel( CServerChangelevelState * ) = 0;