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
|