diff options
Diffstat (limited to 'src/audio/AudioManager.h')
-rw-r--r-- | src/audio/AudioManager.h | 99 |
1 files changed, 93 insertions, 6 deletions
diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h index aa7d1f72..24dae2ce 100644 --- a/src/audio/AudioManager.h +++ b/src/audio/AudioManager.h @@ -71,12 +71,14 @@ enum eAudioType : int32 { TOTAL_AUDIO_TYPES = 14, }; +class CPhysical; + class tAudioEntity { public: eAudioType m_nType; - void *m_pEntity; - char m_bIsUsed; + CPhysical *m_pEntity; + bool m_bIsUsed; char m_bStatus; int16 m_awAudioEvent[4]; char gap_18[2]; @@ -159,7 +161,7 @@ public: char field_22; char field_23; int field_24; - char m_bIsPlayed; + bool m_bIsPlayed; char field_29; char field_30; char field_31; @@ -175,7 +177,7 @@ public: char field_2; char m_bActiveSamples; char field_4; - char m_bDynamicAcousticModelingStatus; + bool m_bDynamicAcousticModelingStatus; char field_6; char field_7; float field_8; @@ -185,7 +187,7 @@ public: char field_15; int m_nTimer; tActiveSample m_sQueueSample; - char m_bActiveSampleQueue; + uint8 m_bActiveSampleQueue; char gap_109[3]; tActiveSample m_asSamples[54]; char m_abSampleQueueIndexTable[54]; @@ -216,7 +218,92 @@ public: char field_19195; int m_nTimeOfRecentCrime; - void PlayerJustLeftCar(void); + char GetMissionScriptPoliceAudioPlayingStatus(); + bool GetMissionAudioLoadingStatus(); + + uint8 GetNum3DProvidersAvailable(); + int8 AutoDetect3DProviders(); + bool IsMP3RadioChannelAvailable(); + uint8 GetCDAudioDriveLetter(); + + void SetEffectsMasterVolume(uint8 volume); + void SetMusicMasterVolume(uint8 volume); + void SetEffectsFadeVol(uint8 volume); + void SetMusicFadeVol(uint8 volume); + + void SetSpeakerConfig(int32 conf); + + void ProcessJumboFlying(); + bool SetupJumboEngineSound(uint8, int32); // todo + void PreInitialiseGameSpecificSetup(); + void SetMissionScriptPoliceAudio(int32 sfx); + + void CalculateDistance(bool *ptr, float dist); + + bool UsesSiren(int32 model); + bool UsesSirenSwitching(int32 model); + + bool MissionScriptAudioUsesPoliceChannel(int32 soundMission); + + uint8 Get3DProviderName(uint8 id); + + void ProcessJumboTaxi(); + bool SetupJumboFlySound(uint8); // todo + bool SetupJumboTaxiSound(uint8); // todo + bool SetupJumboWhineSound(uint8, int32); // todo + + void PlayLoadedMissionAudio(); + + void SetMissionAudioLocation(float x, float y, float z); + + void ResetPoliceRadio(); + + void InterrogateAudioEntities(); + + void ClearRequestedQueue(); +// void AgeCrimes(); + + bool UsesReverseWarning(int32 model); + bool HasAirBrakes(int32 model); + + int32 GetJumboTaxiFreq(); + + void ProcessPhysical(int32 id); + void ProcessVehicle(CPhysical *); // todo + void ProcessPed(CPhysical *); // todo + void ProcessPlane(void *); // todo + + void ClearMissionAudio(); +// void ProcessReverb(); + + bool IsMissionAudioSampleFinished(); + + void ProcessEntity(int32); + + void InitialisePoliceRadio(); + + // done + + int32 RandomDisplacement(uint32 seed); + + void ReleaseDigitalHandle(); + void RequireDigitalHandle(); + void SetDynamicAcousticModelingStatus(bool status); + + bool IsAudioInitialised() const; + + int32 CreateEntity(int32 type, CPhysical *memory); + void DestroyEntity(int32 id); + void SetEntityStatus(int32 id, bool status); + + void PreTerminateGameSpecificShutdown(); + void PostTerminateGameSpecificShutdown(); + + void GenerateIntegerRandomNumberTable(); + + void PlayerJustGotInCar(); + void PlayerJustLeftCar(); + void Service(); void GetPhrase(uint32 *phrase, uint32 *prevPhrase, uint32 sample, uint32 maxOffset); |