diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/sceneentity.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/server/sceneentity.h')
| -rw-r--r-- | game/server/sceneentity.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/game/server/sceneentity.h b/game/server/sceneentity.h new file mode 100644 index 0000000..f158079 --- /dev/null +++ b/game/server/sceneentity.h @@ -0,0 +1,48 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// +#ifndef SCENEENTITY_H +#define SCENEENTITY_H +#ifdef _WIN32 +#pragma once +#endif + +// List of the last 5 lines of speech from NPCs for bug reports +#define SPEECH_LIST_MAX_SOUNDS 5 + +class AI_Response; + +struct recentNPCSpeech_t +{ + float time; + char name[ 512 ]; + char sceneName[ 128 ]; +}; + +int GetRecentNPCSpeech( recentNPCSpeech_t speech[ SPEECH_LIST_MAX_SOUNDS ] ); +float InstancedScriptedScene( CBaseFlex *pActor, const char *pszScene, EHANDLE *phSceneEnt = NULL, float flPostDelay = 0.0f, bool bIsBackground = false, AI_Response *response = NULL, bool bMultiplayer = false, IRecipientFilter *filter = NULL ); +float InstancedAutoGeneratedSoundScene( CBaseFlex *pActor, char const *soundname, EHANDLE *phSceneEnt = NULL ); +void StopScriptedScene( CBaseFlex *pActor, EHANDLE hSceneEnt ); +void RemoveActorFromScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly, bool nonidlescenesonly = false, const char *pszThisSceneOnly = NULL ); +void RemoveAllScenesInvolvingActor( CBaseFlex *pActor ); +void PauseActorsScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly ); +void ResumeActorsScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly ); +void QueueActorsScriptedScenesToResume( CBaseFlex *pActor, bool instancedscenesonly ); +bool IsRunningScriptedScene( CBaseFlex *pActor, bool bIgnoreInstancedScenes = true ); +bool IsRunningScriptedSceneAndNotPaused( CBaseFlex *pActor, bool bIgnoreInstancedScenes = true ); +bool IsRunningScriptedSceneWithSpeech( CBaseFlex *pActor, bool bIgnoreInstancedScenes = false ); +bool IsRunningScriptedSceneWithSpeechAndNotPaused( CBaseFlex *pActor, bool bIgnoreInstancedScenes = false ); +float GetSceneDuration( char const *pszScene ); +int GetSceneSpeechCount( char const *pszScene ); +bool IsInInterruptableScenes( CBaseFlex *pActor ); + +void PrecacheInstancedScene( char const *pszScene ); + +char const *GetSceneFilename( CBaseEntity *ent ); +void ReloadSceneFromDisk( CBaseEntity *ent ); + + +#endif // SCENEENTITY_H |