61 lines
2.5 KiB
C++
61 lines
2.5 KiB
C++
//========= 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
|