aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/toolframework_client.h
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/client/toolframework_client.h
downloadarchived-source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
archived-source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/client/toolframework_client.h')
-rw-r--r--mp/src/game/client/toolframework_client.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/mp/src/game/client/toolframework_client.h b/mp/src/game/client/toolframework_client.h
new file mode 100644
index 00000000..53e1c328
--- /dev/null
+++ b/mp/src/game/client/toolframework_client.h
@@ -0,0 +1,101 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//===========================================================================//
+
+#ifndef TOOLFRAMEWORK_CLIENT_H
+#define TOOLFRAMEWORK_CLIENT_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "toolframework/itoolentity.h"
+
+
+//-----------------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------------
+class KeyValues;
+struct AudioState_t;
+
+
+//-----------------------------------------------------------------------------
+// Posts a message to all tools
+//-----------------------------------------------------------------------------
+void ToolFramework_PostToolMessage( HTOOLHANDLE hEntity, KeyValues *msg );
+
+
+//-----------------------------------------------------------------------------
+// Should we render with a 3rd person camera?
+//-----------------------------------------------------------------------------
+bool ToolFramework_IsThirdPersonCamera( );
+
+
+//-----------------------------------------------------------------------------
+// Are tools enabled?
+//-----------------------------------------------------------------------------
+#ifndef NO_TOOLFRAMEWORK
+bool ToolsEnabled();
+#else
+#define ToolsEnabled() 0
+#endif
+
+
+//-----------------------------------------------------------------------------
+// View manipulation
+//-----------------------------------------------------------------------------
+void ToolFramework_AdjustEngineViewport( int& x, int& y, int& width, int& height );
+bool ToolFramework_SetupEngineView( Vector &origin, QAngle &angles, float &fov );
+bool ToolFramework_SetupAudioState( AudioState_t &audioState );
+
+//-----------------------------------------------------------------------------
+// material recording - primarily for proxy materials
+//-----------------------------------------------------------------------------
+void ToolFramework_RecordMaterialParams( IMaterial *pMaterial );
+
+//-----------------------------------------------------------------------------
+// Recorded temp entity structures
+//-----------------------------------------------------------------------------
+enum TERecordingType_t
+{
+ TE_DYNAMIC_LIGHT = 0,
+ TE_WORLD_DECAL,
+ TE_DISPATCH_EFFECT,
+ TE_MUZZLE_FLASH,
+ TE_ARMOR_RICOCHET,
+ TE_METAL_SPARKS,
+ TE_SMOKE,
+ TE_SPARKS,
+ TE_BLOOD_SPRITE,
+ TE_BREAK_MODEL,
+ TE_GLOW_SPRITE,
+ TE_PHYSICS_PROP,
+ TE_SPRITE_SINGLE,
+ TE_SPRITE_SPRAY,
+ TE_CONCUSSIVE_EXPLOSION,
+ TE_BLOOD_STREAM,
+ TE_SHATTER_SURFACE,
+ TE_DECAL,
+ TE_PROJECT_DECAL,
+ TE_EXPLOSION,
+
+ TE_RECORDING_TYPE_COUNT,
+};
+
+
+//-----------------------------------------------------------------------------
+// Helper class to indicate ownership of effects
+//-----------------------------------------------------------------------------
+class CRecordEffectOwner
+{
+public:
+ CRecordEffectOwner( C_BaseEntity *pEntity, bool bIsViewModel = false );
+ ~CRecordEffectOwner();
+
+private:
+ bool m_bToolsEnabled;
+};
+
+#endif // TOOLFRAMEWORK_CLIENT_H \ No newline at end of file