diff options
Diffstat (limited to 'game/client/toolframework_client.h')
| -rw-r--r-- | game/client/toolframework_client.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/game/client/toolframework_client.h b/game/client/toolframework_client.h new file mode 100644 index 0000000..0ef9760 --- /dev/null +++ b/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 |