2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 // $Header: r:/t2repos/thief2/src/sound/vocore.h,v 1.1 1998/09/16 00:17:12 mahk Exp $
12 ////////////////////////////////////////////////////////////
13 // CORE VOICE-OVER SYSTEM
15 // This is a tiny system for playing "voice overs" which are special
16 // schemas that can be omitted if their context isn't right.
19 typedef BOOL (LGAPI
*tVOTestFunc
)(void);
22 // The voice-overs class
26 F_DECLARE_INTERFACE(IVoiceOverSys
);
28 #define INTERFACE IVoiceOverSys
29 DECLARE_INTERFACE_(IVoiceOverSys
,IUnknown
)
31 DECLARE_UNKNOWN_PURE();
34 // Play a voiceover schema
35 // May actually choose not to play, if the conditions for playing
36 // the schema are not right.
38 // Returns a schema handle
40 STDMETHOD_(int,Play
)(THIS_
int schema
) PURE
;
43 // Observe whether a schema has been played.
44 // Mark a schema as having been played, or not played already
46 STDMETHOD_(BOOL
,AlreadyPlayed
)(THIS_
int schema
) PURE
;
47 STDMETHOD(SetAlreadyPlayed
)(THIS_
int schema
, BOOL played
) PURE
;
50 // Set the game-specific callback that tests whether or not we
51 // are "in combat." Each call to Play() will call it.
53 STDMETHOD(SetCombatTest
)(THIS_ tVOTestFunc func
) PURE
;
58 EXTERN
void VoiceOverCreate(void);