re3/src/audio/DMAudio.h

95 lines
2.6 KiB
C
Raw Normal View History

2019-05-18 12:39:39 +02:00
#pragma once
2019-07-31 17:54:18 +02:00
2019-10-26 14:39:10 +02:00
#include "audio_enums.h"
#include "soundlist.h"
2020-04-19 18:34:08 +02:00
#include "Crime.h"
2019-07-31 17:54:18 +02:00
2019-08-27 22:46:41 +02:00
#define AEHANDLE_IS_FAILED(h) ((h)<0)
#define AEHANDLE_IS_OK(h) ((h)>=0)
2020-07-06 18:26:06 +02:00
#define NO_AUDIO_PROVIDER -3
#define AUDIO_PROVIDER_NOT_DETERMINED -99
2019-08-15 03:43:00 +02:00
class cAudioScriptObject;
2019-05-18 12:39:39 +02:00
class CEntity;
class cDMAudio
{
public:
2019-08-15 03:43:00 +02:00
~cDMAudio()
{ }
void Initialise(void);
void Terminate(void);
2019-08-15 03:43:00 +02:00
void Service(void);
int32 CreateEntity(eAudioType type, void *UID);
2019-08-15 03:43:00 +02:00
void DestroyEntity(int32 audioEntity);
void SetEntityStatus(int32 audioEntity, uint8 status);
void PlayOneShot(int32 audioEntity, uint16 oneShot, float volume);
void DestroyAllGameCreatedEntities(void);
2020-06-27 23:01:51 +02:00
void SetMonoMode(uint8 mono);
2019-08-15 03:43:00 +02:00
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 19:33:48 +02:00
int8 AutoDetect3DProviders(void);
2019-08-15 03:43:00 +02:00
int8 GetCurrent3DProviderIndex(void);
int8 SetCurrent3DProvider(uint8 which);
void SetSpeakerConfig(int32 config);
bool IsMP3RadioChannelAvailable(void);
2019-05-31 19:02:26 +02:00
void ReleaseDigitalHandle(void);
void ReacquireDigitalHandle(void);
2019-08-15 03:43:00 +02:00
void SetDynamicAcousticModelingStatus(uint8 status);
2019-06-17 00:16:38 +02:00
bool CheckForAnAudioFileOnCD(void);
2019-08-15 03:43:00 +02: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-17 00:16:38 +02:00
void ChangeMusicMode(uint8 mode);
2019-08-15 03:43:00 +02:00
void PreloadCutSceneMusic(uint8 track);
void PlayPreloadedCutSceneMusic(void);
void StopCutSceneMusic(void);
2020-06-08 09:34:31 +02:00
void PreloadMissionAudio(uint8 slot, Const char *missionAudio);
uint8 GetMissionAudioLoadingStatus(uint8 slot);
void SetMissionAudioLocation(uint8 slot, float x, float y, float z);
void PlayLoadedMissionAudio(uint8 slot);
bool IsMissionAudioSampleFinished(uint8 slot);
void ClearMissionAudio(uint8 slot);
2019-08-15 04:06:52 +02:00
2020-02-06 18:35:24 +01:00
uint8 GetRadioInCar(void);
2019-08-15 03:43:00 +02:00
void SetRadioInCar(uint32 radio);
void SetRadioChannel(int8 radio, int32 pos);
2019-05-18 12:39:39 +02:00
};
2020-04-17 07:54:14 +02:00
extern cDMAudio DMAudio;