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
48 lines
2.1 KiB
//========= 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
|
|
|