networking

This commit is contained in:
2025-07-13 15:47:42 +03:00
parent f5b26be510
commit a9c28b8940
345 changed files with 142130 additions and 174 deletions

View File

@@ -16,9 +16,28 @@ interface IGameModeManager
public:
static void Init( void );
static void Frame( void );
static void StartGameMode(CGameMode *pGameMode);
static CGameMode *GetCurrentMode( void );
static void RestartCurrentMode( void );
static void StartGameMode( const char *szName );
static const char *GetCurrentGameMode( void );
static CGameMode *GetCurrentGameModeClass( void );
static void RestartCurrentGameMode( void );
};
typedef CGameMode*(*GameModeRegistryFn)();
class CGameModeRegistry
{
public:
CGameModeRegistry( const char *szName, GameModeRegistryFn pfn );
const char *m_szName;
GameModeRegistryFn m_pfn;
};
#define DECLARE_GAME_MODE( class, name ) \
CGameMode *__gamemode_alloc_##name() \
{ \
return new class; \
}; \
CGameModeRegistry __gamemode_##name##_registry(#name, __gamemode_alloc_##name); \
#endif