2019-05-18 06:39:39 -04:00
|
|
|
#pragma once
|
2019-07-31 11:54:18 -04:00
|
|
|
|
2019-10-26 08:39:10 -04:00
|
|
|
#include "audio_enums.h"
|
2020-04-28 07:00:38 -04:00
|
|
|
#include "soundlist.h"
|
2020-04-19 12:34:08 -04:00
|
|
|
#include "Crime.h"
|
2019-07-31 11:54:18 -04:00
|
|
|
|
2019-08-27 16:46:41 -04:00
|
|
|
#define AEHANDLE_IS_FAILED(h) ((h)<0)
|
|
|
|
#define AEHANDLE_IS_OK(h) ((h)>=0)
|
|
|
|
|
2019-08-14 21:43:00 -04:00
|
|
|
class cAudioScriptObject;
|
2019-05-18 06:39:39 -04:00
|
|
|
class CEntity;
|
|
|
|
|
|
|
|
class cDMAudio
|
|
|
|
{
|
|
|
|
public:
|
2019-08-14 21:43:00 -04:00
|
|
|
~cDMAudio()
|
|
|
|
{ }
|
|
|
|
|
|
|
|
void Initialise(void);
|
2019-06-01 23:00:38 -04:00
|
|
|
void Terminate(void);
|
2019-08-14 21:43:00 -04:00
|
|
|
void Service(void);
|
|
|
|
|
2020-05-16 13:29:13 -04:00
|
|
|
int32 CreateEntity(eAudioType type, void *UID);
|
2019-08-14 21:43:00 -04:00
|
|
|
void DestroyEntity(int32 audioEntity);
|
|
|
|
void SetEntityStatus(int32 audioEntity, uint8 status);
|
|
|
|
void PlayOneShot(int32 audioEntity, uint16 oneShot, float volume);
|
|
|
|
void DestroyAllGameCreatedEntities(void);
|
|
|
|
|
|
|
|
void SetEffectsMasterVolume(uint8 volume);
|
|
|
|
void SetMusicMasterVolume(uint8 volume);
|
|
|
|
void SetEffectsFadeVol(uint8 volume);
|
|
|
|
void SetMusicFadeVol(uint8 volume);
|
|
|
|
|
|
|
|
uint8 GetNum3DProvidersAvailable(void);
|
|
|
|
char *Get3DProviderName(uint8 id);
|
|
|
|
|
2020-05-04 13:33:48 -04:00
|
|
|
int8 AutoDetect3DProviders(void);
|
|
|
|
|
2019-08-14 21:43:00 -04:00
|
|
|
int8 GetCurrent3DProviderIndex(void);
|
|
|
|
int8 SetCurrent3DProvider(uint8 which);
|
|
|
|
|
|
|
|
void SetSpeakerConfig(int32 config);
|
|
|
|
|
|
|
|
bool IsMP3RadioChannelAvailable(void);
|
|
|
|
|
2019-05-31 13:02:26 -04:00
|
|
|
void ReleaseDigitalHandle(void);
|
|
|
|
void ReacquireDigitalHandle(void);
|
2019-08-14 21:43:00 -04:00
|
|
|
|
|
|
|
void SetDynamicAcousticModelingStatus(uint8 status);
|
|
|
|
|
2019-06-16 18:16:38 -04:00
|
|
|
bool CheckForAnAudioFileOnCD(void);
|
2019-08-14 21:43:00 -04:00
|
|
|
|
|
|
|
char GetCDAudioDriveLetter(void);
|
|
|
|
bool IsAudioInitialised(void);
|
|
|
|
|
|
|
|
void ReportCrime(eCrimeType crime, CVector const &pos);
|
|
|
|
|
|
|
|
int32 CreateLoopingScriptObject(cAudioScriptObject *scriptObject);
|
|
|
|
void DestroyLoopingScriptObject(int32 audioEntity);
|
|
|
|
void CreateOneShotScriptObject(cAudioScriptObject *scriptObject);
|
|
|
|
|
|
|
|
void PlaySuspectLastSeen(float x, float y, float z);
|
|
|
|
|
|
|
|
void ReportCollision(CEntity *entityA, CEntity *entityB, uint8 surfaceTypeA, uint8 surfaceTypeB, float collisionPower, float velocity);
|
|
|
|
|
|
|
|
void PlayFrontEndSound(uint16 frontend, uint32 volume);
|
|
|
|
void PlayRadioAnnouncement(uint8 announcement);
|
|
|
|
void PlayFrontEndTrack(uint8 track, uint8 frontendFlag);
|
|
|
|
void StopFrontEndTrack(void);
|
|
|
|
|
|
|
|
void ResetTimers(uint32 time);
|
|
|
|
|
2019-06-16 18:16:38 -04:00
|
|
|
void ChangeMusicMode(uint8 mode);
|
2019-08-14 21:43:00 -04:00
|
|
|
|
|
|
|
void PreloadCutSceneMusic(uint8 track);
|
|
|
|
void PlayPreloadedCutSceneMusic(void);
|
|
|
|
void StopCutSceneMusic(void);
|
|
|
|
|
|
|
|
void PreloadMissionAudio(char *missionAudio);
|
|
|
|
uint8 GetMissionAudioLoadingStatus(void);
|
|
|
|
void SetMissionAudioLocation(float x, float y, float z);
|
|
|
|
void PlayLoadedMissionAudio(void);
|
|
|
|
bool IsMissionAudioSampleFinished(void);
|
2019-07-03 18:16:24 -04:00
|
|
|
void ClearMissionAudio(void);
|
2019-08-14 22:06:52 -04:00
|
|
|
|
2020-02-06 12:35:24 -05:00
|
|
|
uint8 GetRadioInCar(void);
|
2019-08-14 21:43:00 -04:00
|
|
|
void SetRadioInCar(uint32 radio);
|
|
|
|
void SetRadioChannel(int8 radio, int32 pos);
|
2019-05-18 06:39:39 -04:00
|
|
|
};
|
2020-04-17 01:54:14 -04:00
|
|
|
extern cDMAudio DMAudio;
|