summaryrefslogtreecommitdiff
path: root/game/server/sceneentity.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/sceneentity.h')
-rw-r--r--game/server/sceneentity.h48
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