Team Fortress 2 Source Code as on 22/4/2020
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.

48 lines
2.1 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef SCENEENTITY_H
  8. #define SCENEENTITY_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. // List of the last 5 lines of speech from NPCs for bug reports
  13. #define SPEECH_LIST_MAX_SOUNDS 5
  14. class AI_Response;
  15. struct recentNPCSpeech_t
  16. {
  17. float time;
  18. char name[ 512 ];
  19. char sceneName[ 128 ];
  20. };
  21. int GetRecentNPCSpeech( recentNPCSpeech_t speech[ SPEECH_LIST_MAX_SOUNDS ] );
  22. 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 );
  23. float InstancedAutoGeneratedSoundScene( CBaseFlex *pActor, char const *soundname, EHANDLE *phSceneEnt = NULL );
  24. void StopScriptedScene( CBaseFlex *pActor, EHANDLE hSceneEnt );
  25. void RemoveActorFromScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly, bool nonidlescenesonly = false, const char *pszThisSceneOnly = NULL );
  26. void RemoveAllScenesInvolvingActor( CBaseFlex *pActor );
  27. void PauseActorsScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly );
  28. void ResumeActorsScriptedScenes( CBaseFlex *pActor, bool instancedscenesonly );
  29. void QueueActorsScriptedScenesToResume( CBaseFlex *pActor, bool instancedscenesonly );
  30. bool IsRunningScriptedScene( CBaseFlex *pActor, bool bIgnoreInstancedScenes = true );
  31. bool IsRunningScriptedSceneAndNotPaused( CBaseFlex *pActor, bool bIgnoreInstancedScenes = true );
  32. bool IsRunningScriptedSceneWithSpeech( CBaseFlex *pActor, bool bIgnoreInstancedScenes = false );
  33. bool IsRunningScriptedSceneWithSpeechAndNotPaused( CBaseFlex *pActor, bool bIgnoreInstancedScenes = false );
  34. float GetSceneDuration( char const *pszScene );
  35. int GetSceneSpeechCount( char const *pszScene );
  36. bool IsInInterruptableScenes( CBaseFlex *pActor );
  37. void PrecacheInstancedScene( char const *pszScene );
  38. char const *GetSceneFilename( CBaseEntity *ent );
  39. void ReloadSceneFromDisk( CBaseEntity *ent );
  40. #endif // SCENEENTITY_H