aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/toolframework/itoolsystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/toolframework/itoolsystem.h')
-rw-r--r--mp/src/public/toolframework/itoolsystem.h292
1 files changed, 146 insertions, 146 deletions
diff --git a/mp/src/public/toolframework/itoolsystem.h b/mp/src/public/toolframework/itoolsystem.h
index 8fd28ca4..84c91db7 100644
--- a/mp/src/public/toolframework/itoolsystem.h
+++ b/mp/src/public/toolframework/itoolsystem.h
@@ -1,146 +1,146 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================
-
-#ifndef ITOOLSYSTEM_H
-#define ITOOLSYSTEM_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "itoolentity.h"
-#include "interface.h"
-#include "materialsystem/imaterialproxy.h"
-#include "inputsystem/iinputsystem.h"
-
-class KeyValues;
-struct SpatializationInfo_t;
-struct AudioState_t;
-
-//-----------------------------------------------------------------------------
-// Purpose: All tools expose this interface, which includes both client and server
-// related hooks
-//-----------------------------------------------------------------------------
-class IToolSystem
-{
-public:
- // Name describing the tool
- virtual char const *GetToolName() = 0;
-
- // Called at the end of engine startup (after client .dll and server .dll have been loaded)
- virtual bool Init() = 0;
-
- // Called during RemoveTool or when engine is shutting down
- virtual void Shutdown() = 0;
-
- // Called after server.dll is loaded
- virtual bool ServerInit( CreateInterfaceFn serverFactory ) = 0;
- // Called after client.dll is loaded
- virtual bool ClientInit( CreateInterfaceFn clientFactory ) = 0;
-
- virtual void ServerShutdown() = 0;
- virtual void ClientShutdown() = 0;
-
- // Allow tool to override quitting, called before Shutdown(), return no to abort quitting
- virtual bool CanQuit() = 0;
-
- // Called when another system wiches to post a message to the tool and/or a specific entity
- // FIXME: Are KeyValues too inefficient here?
- virtual void PostMessage( HTOOLHANDLE hEntity, KeyValues *message ) = 0;
-
- // Called oncer per frame even when no level is loaded... (call ProcessMessages())
- virtual void Think( bool finalTick ) = 0;
-
-// Server calls:
-
- // Level init, shutdown
- virtual void ServerLevelInitPreEntity() = 0;
- // entities are created / spawned / precached here
- virtual void ServerLevelInitPostEntity() = 0;
-
- virtual void ServerLevelShutdownPreEntity() = 0;
- // Entities are deleted / released here...
- virtual void ServerLevelShutdownPostEntity() = 0;
- // end of level shutdown
-
- // Called each frame before entities think
- virtual void ServerFrameUpdatePreEntityThink() = 0;
- // called after entities think
- virtual void ServerFrameUpdatePostEntityThink() = 0;
- virtual void ServerPreClientUpdate() = 0;
- virtual void ServerPreSetupVisibility() = 0;
-
- // Used to allow the tool to spawn different entities when it's active
- virtual const char* GetEntityData( const char *pActualEntityData ) = 0;
-
-// Client calls:
- // Level init, shutdown
- virtual void ClientLevelInitPreEntity() = 0;
- // entities are created / spawned / precached here
- virtual void ClientLevelInitPostEntity() = 0;
-
- virtual void ClientLevelShutdownPreEntity() = 0;
- // Entities are deleted / released here...
- virtual void ClientLevelShutdownPostEntity() = 0;
- // end of level shutdown
- // Called before rendering
- virtual void ClientPreRender() = 0;
- virtual void ClientPostRender() = 0;
-
- // Let tool override viewport for engine
- virtual void AdjustEngineViewport( int& x, int& y, int& width, int& height ) = 0;
-
- // let tool override view/camera
- virtual bool SetupEngineView( Vector &origin, QAngle &angles, float &fov ) = 0;
-
- // let tool override microphone
- virtual bool SetupAudioState( AudioState_t &audioState ) = 0;
-
- // Should the client be allowed to render the view normally?
- virtual bool ShouldGameRenderView() = 0;
- virtual bool IsThirdPersonCamera() = 0;
-
- // is the current tool recording?
- virtual bool IsToolRecording() = 0;
-
- virtual IMaterialProxy *LookupProxy( const char *proxyName ) = 0;
-
- // Possible hooks for rendering
- // virtual void Think( float curtime, float frametime ) = 0;
- // virtual void Prerender() = 0;
- // virtual void Render3D() = 0;
- // virtual void Render2D() = 0;
-// Tool activation/deactivation
-
- // This tool is being activated
- virtual void OnToolActivate() = 0;
- // Another tool is being activated
- virtual void OnToolDeactivate() = 0;
-
- virtual bool TrapKey( ButtonCode_t key, bool down ) = 0;
-
- virtual bool GetSoundSpatialization( int iUserData, int guid, SpatializationInfo_t& info ) = 0;
-
- // Unlike the client .dll pre/post render stuff, these get called no matter whether a map is loaded and they only get called once per frame!!!
- virtual void RenderFrameBegin() = 0;
- virtual void RenderFrameEnd() = 0;
-
- // wraps the entire frame - surrounding all other begin/end and pre/post calls
- virtual void HostRunFrameBegin() = 0;
- virtual void HostRunFrameEnd() = 0;
-
- // See enginevgui.h for paintmode_t enum definitions
- virtual void VGui_PreRender( int paintMode ) = 0;
- virtual void VGui_PostRender( int paintMode ) = 0;
-
- virtual void VGui_PreSimulate() = 0;
- virtual void VGui_PostSimulate() = 0;
-};
-
-// Pointer to a member method of IGameSystem
-typedef void (IToolSystem::*ToolSystemFunc_t)();
-typedef void (IToolSystem::*ToolSystemFunc_Int_t)( int arg );
-
-#endif // ITOOLSYSTEM_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef ITOOLSYSTEM_H
+#define ITOOLSYSTEM_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "itoolentity.h"
+#include "interface.h"
+#include "materialsystem/imaterialproxy.h"
+#include "inputsystem/iinputsystem.h"
+
+class KeyValues;
+struct SpatializationInfo_t;
+struct AudioState_t;
+
+//-----------------------------------------------------------------------------
+// Purpose: All tools expose this interface, which includes both client and server
+// related hooks
+//-----------------------------------------------------------------------------
+class IToolSystem
+{
+public:
+ // Name describing the tool
+ virtual char const *GetToolName() = 0;
+
+ // Called at the end of engine startup (after client .dll and server .dll have been loaded)
+ virtual bool Init() = 0;
+
+ // Called during RemoveTool or when engine is shutting down
+ virtual void Shutdown() = 0;
+
+ // Called after server.dll is loaded
+ virtual bool ServerInit( CreateInterfaceFn serverFactory ) = 0;
+ // Called after client.dll is loaded
+ virtual bool ClientInit( CreateInterfaceFn clientFactory ) = 0;
+
+ virtual void ServerShutdown() = 0;
+ virtual void ClientShutdown() = 0;
+
+ // Allow tool to override quitting, called before Shutdown(), return no to abort quitting
+ virtual bool CanQuit() = 0;
+
+ // Called when another system wiches to post a message to the tool and/or a specific entity
+ // FIXME: Are KeyValues too inefficient here?
+ virtual void PostMessage( HTOOLHANDLE hEntity, KeyValues *message ) = 0;
+
+ // Called oncer per frame even when no level is loaded... (call ProcessMessages())
+ virtual void Think( bool finalTick ) = 0;
+
+// Server calls:
+
+ // Level init, shutdown
+ virtual void ServerLevelInitPreEntity() = 0;
+ // entities are created / spawned / precached here
+ virtual void ServerLevelInitPostEntity() = 0;
+
+ virtual void ServerLevelShutdownPreEntity() = 0;
+ // Entities are deleted / released here...
+ virtual void ServerLevelShutdownPostEntity() = 0;
+ // end of level shutdown
+
+ // Called each frame before entities think
+ virtual void ServerFrameUpdatePreEntityThink() = 0;
+ // called after entities think
+ virtual void ServerFrameUpdatePostEntityThink() = 0;
+ virtual void ServerPreClientUpdate() = 0;
+ virtual void ServerPreSetupVisibility() = 0;
+
+ // Used to allow the tool to spawn different entities when it's active
+ virtual const char* GetEntityData( const char *pActualEntityData ) = 0;
+
+// Client calls:
+ // Level init, shutdown
+ virtual void ClientLevelInitPreEntity() = 0;
+ // entities are created / spawned / precached here
+ virtual void ClientLevelInitPostEntity() = 0;
+
+ virtual void ClientLevelShutdownPreEntity() = 0;
+ // Entities are deleted / released here...
+ virtual void ClientLevelShutdownPostEntity() = 0;
+ // end of level shutdown
+ // Called before rendering
+ virtual void ClientPreRender() = 0;
+ virtual void ClientPostRender() = 0;
+
+ // Let tool override viewport for engine
+ virtual void AdjustEngineViewport( int& x, int& y, int& width, int& height ) = 0;
+
+ // let tool override view/camera
+ virtual bool SetupEngineView( Vector &origin, QAngle &angles, float &fov ) = 0;
+
+ // let tool override microphone
+ virtual bool SetupAudioState( AudioState_t &audioState ) = 0;
+
+ // Should the client be allowed to render the view normally?
+ virtual bool ShouldGameRenderView() = 0;
+ virtual bool IsThirdPersonCamera() = 0;
+
+ // is the current tool recording?
+ virtual bool IsToolRecording() = 0;
+
+ virtual IMaterialProxy *LookupProxy( const char *proxyName ) = 0;
+
+ // Possible hooks for rendering
+ // virtual void Think( float curtime, float frametime ) = 0;
+ // virtual void Prerender() = 0;
+ // virtual void Render3D() = 0;
+ // virtual void Render2D() = 0;
+// Tool activation/deactivation
+
+ // This tool is being activated
+ virtual void OnToolActivate() = 0;
+ // Another tool is being activated
+ virtual void OnToolDeactivate() = 0;
+
+ virtual bool TrapKey( ButtonCode_t key, bool down ) = 0;
+
+ virtual bool GetSoundSpatialization( int iUserData, int guid, SpatializationInfo_t& info ) = 0;
+
+ // Unlike the client .dll pre/post render stuff, these get called no matter whether a map is loaded and they only get called once per frame!!!
+ virtual void RenderFrameBegin() = 0;
+ virtual void RenderFrameEnd() = 0;
+
+ // wraps the entire frame - surrounding all other begin/end and pre/post calls
+ virtual void HostRunFrameBegin() = 0;
+ virtual void HostRunFrameEnd() = 0;
+
+ // See enginevgui.h for paintmode_t enum definitions
+ virtual void VGui_PreRender( int paintMode ) = 0;
+ virtual void VGui_PostRender( int paintMode ) = 0;
+
+ virtual void VGui_PreSimulate() = 0;
+ virtual void VGui_PostSimulate() = 0;
+};
+
+// Pointer to a member method of IGameSystem
+typedef void (IToolSystem::*ToolSystemFunc_t)();
+typedef void (IToolSystem::*ToolSystemFunc_Int_t)( int arg );
+
+#endif // ITOOLSYSTEM_H