You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.0 KiB
101 lines
3.0 KiB
//========= 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
|