mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-13 12:19:13 +00:00
1
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef VOICE_SOUND_ENGINE_INTERFACE_H
|
||||
#define VOICE_SOUND_ENGINE_INTERFACE_H
|
||||
#pragma once
|
||||
|
||||
|
||||
/*! @defgroup VoiceSoundEngineInterface VoiceSoundEngineInterface
|
||||
Abstracts out the sound engine for the voice code.
|
||||
GoldSrc and Src each have a different implementation of this.
|
||||
@{
|
||||
*/
|
||||
|
||||
|
||||
|
||||
//! Max number of receiving voice channels.
|
||||
#define VOICE_NUM_CHANNELS 5
|
||||
|
||||
// ----------------------------------------------------------------------------- //
|
||||
// Functions for voice.cpp.
|
||||
// ----------------------------------------------------------------------------- //
|
||||
|
||||
//! Initialize the sound engine interface.
|
||||
bool VoiceSE_Init();
|
||||
|
||||
//! Shutdown the sound engine interface.
|
||||
void VoiceSE_Term();
|
||||
|
||||
//! Called each frame.
|
||||
void VoiceSE_Idle(float frametime);
|
||||
|
||||
|
||||
//! Start audio playback on the specified voice channel.
|
||||
//! Voice_GetChannelAudio is called by the mixer for each active channel.
|
||||
int VoiceSE_StartChannel(
|
||||
//! Which channel to start.
|
||||
int iChannel,
|
||||
int iEntity,
|
||||
bool bProximity,
|
||||
int nViewEntityIndex
|
||||
);
|
||||
|
||||
//! Stop audio playback on the specified voice channel.
|
||||
void VoiceSE_EndChannel(
|
||||
//! Which channel to stop.
|
||||
int iChannel,
|
||||
int iEntity
|
||||
);
|
||||
|
||||
//! Starts the voice overdrive (lowers volume of all sounds other than voice).
|
||||
void VoiceSE_StartOverdrive();
|
||||
void VoiceSE_EndOverdrive();
|
||||
|
||||
//! Control mouth movement for an entity.
|
||||
void VoiceSE_InitMouth(int entnum);
|
||||
void VoiceSE_CloseMouth(int entnum);
|
||||
void VoiceSE_MoveMouth(int entnum, short *pSamples, int nSamples);
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------- //
|
||||
// Functions for voice.cpp to implement.
|
||||
// ----------------------------------------------------------------------------- //
|
||||
|
||||
//! This function is implemented in voice.cpp. Gives 16-bit signed mono samples to the mixer.
|
||||
//! \return Number of samples actually gotten.
|
||||
int Voice_GetOutputData(
|
||||
//! The voice channel it wants samples from.
|
||||
const int iChannel,
|
||||
//! The buffer to copy the samples into.
|
||||
char *copyBuf,
|
||||
//! Maximum size of copyBuf.
|
||||
const int copyBufSize,
|
||||
//! Which sample to start at.
|
||||
const int samplePosition,
|
||||
//! How many samples to get.
|
||||
const int sampleCount
|
||||
);
|
||||
|
||||
// This is called when an audio source is deleted by the sound engine. The voice could
|
||||
// should detach whatever it needs to in order to free up the specified channel.
|
||||
void Voice_OnAudioSourceShutdown( int iChannel );
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------- //
|
||||
// Functions for the sound engine.
|
||||
// ----------------------------------------------------------------------------- //
|
||||
|
||||
class CAudioSource;
|
||||
CAudioSource* Voice_SetupAudioSource( int soundsource, int entchannel );
|
||||
|
||||
|
||||
|
||||
/*! @} End VoiceSoundEngineInterface group */
|
||||
|
||||
|
||||
#endif // VOICE_SOUND_ENGINE_INTERFACE_H
|
||||
Reference in New Issue
Block a user