summaryrefslogtreecommitdiff
path: root/engine/sv_main.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine/sv_main.h')
-rw-r--r--engine/sv_main.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/engine/sv_main.h b/engine/sv_main.h
new file mode 100644
index 0000000..7b21f82
--- /dev/null
+++ b/engine/sv_main.h
@@ -0,0 +1,121 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Expose functions from sv_main.cpp.
+//
+// $NoKeywords: $
+//===========================================================================//
+
+#ifndef SV_MAIN_H
+#define SV_MAIN_H
+
+
+#include "edict.h"
+#include "packed_entity.h"
+#include "utlvector.h"
+#include "convar.h"
+#include "netadr.h"
+#include "checksum_crc.h"
+#include "soundflags.h"
+#include "tier1/bitbuf.h"
+
+class CGameClient;
+
+//===========================================================
+
+// sv_main.c
+
+// Which areas are we going to transmit (usually 1, but with portals you can see into multiple other areas).
+extern CUtlVector<int> g_AreasNetworked;
+
+void SV_Frame( bool send_client_updates );
+void SV_FrameExecuteThreadDeferred();
+
+void SV_InitGameDLL( void );
+
+void SV_ReplicateConVarChange( ConVar const *var, char const *newValue );
+void SV_ExecuteRemoteCommand( const char *pCommand, int nClientSlot = -1 );
+void SV_InstallClientStringTableMirrors( void );
+
+void SV_ResetModInfo( void );
+
+class IRecipientFilter;
+void SV_StartSound ( IRecipientFilter& filter, edict_t *pSoundEmittingEntity, int iChannel, const char *pSample,
+ float flVolume, soundlevel_t iSoundLevel, int iFlags, int iPitch, int iSpecialDSP, const Vector *pOrigin, float soundtime, int speakerentity, CUtlVector< Vector >* pUtlVecOrigins );
+
+
+int SV_ModelIndex (const char *name);
+int SV_FindOrAddModel (const char *name, bool preload );
+int SV_SoundIndex (const char *name);
+int SV_FindOrAddSound(const char *name, bool preload );
+int SV_GenericIndex(const char *name);
+int SV_FindOrAddGeneric(const char *name, bool preload );
+int SV_DecalIndex(const char *name);
+int SV_FindOrAddDecal(const char *name, bool preload );
+
+void SV_ForceSimpleMaterial( const char *name );
+void SV_ForceModelBounds( const char *name, const Vector &mins, const Vector &maxs );
+
+void SV_Physics( bool bIsSimulating );
+void SV_PreClientUpdate( bool bIsSimulating );
+
+class IServerEntity;
+
+void SV_ExecuteClientMessage (CGameClient *cl);
+
+bool SV_ActivateServer();
+void SV_InitGameServerSteam();
+
+#ifdef ENABLE_RPT
+void SV_NotifyRPTOfDisconnect( int nClientSlot );
+#endif // ENABLE_RPT
+
+// sv_redirect.cpp
+
+enum redirect_t
+{
+ RD_NONE = 0, // server console
+ RD_CLIENT, // client console
+ RD_PACKET, // connectionless UDP
+ RD_SOCKET // TCP/IP remote socket
+};
+
+bool SV_RedirectActive( void );
+void SV_RedirectAddText( const char *txt );
+void SV_RedirectStart( redirect_t rd, const netadr_t *addr );
+void SV_RedirectEnd( void );
+
+
+class ServerClass;
+class IClient;
+class CClientFrame;
+
+
+// Builds an alternate copy of the datatable for any classes that have datatables with props excluded.
+void SV_InitSendTables( ServerClass *pClasses );
+void SV_TermSendTables( ServerClass *pClasses );
+
+// send voice data from cl to other clients
+void SV_BroadcastVoiceData(IClient * cl, int nBytes, char * data, int64 xuid);
+void SV_SendRestoreMsg( bf_write &dest );
+
+// A client has uploaded its logo to us;
+void SV_SendLogo( CRC32_t& logoCRC );
+void SV_PruneRequestList( void );
+
+
+/*
+=============
+Calculates a PVS that is the inclusive or of all leafs within 8 pixels of the
+given point.
+=============
+*/
+void SV_ResetPVS( byte* pvs, int pvssize );
+void SV_AddOriginToPVS( const Vector& origin );
+
+extern CGlobalVars g_ServerGlobalVariables;
+
+void SV_FlushMemoryOnNextServer();
+
+#endif
+
+