From 4f4b1f914540465a77aa8daf7e837042a96b3e31 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 9 Sep 2020 19:37:44 +0300 Subject: cMusicManager, cDMAudio, radio position save/load, a few commands implemented --- src/audio/MusicManager.h | 68 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 22 deletions(-) (limited to 'src/audio/MusicManager.h') diff --git a/src/audio/MusicManager.h b/src/audio/MusicManager.h index 217b037b..7a652d1d 100644 --- a/src/audio/MusicManager.h +++ b/src/audio/MusicManager.h @@ -11,41 +11,53 @@ public: }; class CVehicle; +class CPed; class cMusicManager { public: bool m_bIsInitialised; bool m_bDisabled; - uint8 m_nMusicMode; - uint32 m_nCurrentStreamedSound; - uint32 m_nPreviousStreamedSound; - bool m_bFrontendTrackFinished; - bool m_bPlayInFrontend; - bool m_bSetNextStation; + bool field_2; + uint8 m_nVolumeLatency; + uint8 m_nCurrentVolume; + uint8 m_nMaxVolume; uint32 m_nAnnouncement; - bool m_bPreviousPlayerInCar; - bool m_bPlayerInCar; bool m_bAnnouncementInProgress; tStreamedSample m_aTracks[TOTAL_STREAMED_SOUNDS]; bool m_bResetTimers; uint32 m_nResetTime; - uint32 m_nLastTrackServiceTime; - uint32 m_nTimer; - bool m_bDoTrackService; - bool m_bIgnoreTimeDelay; - bool m_bDontServiceAmbienceTrack; bool m_bRadioSetByScript; - uint32 m_nRadioStation; - int32 m_nRadioPosition; + uint8 m_nRadioStation; + uint32 m_nRadioPosition; uint32 m_nRadioInCar; + uint32 m_nFrontendTrack; + uint32 m_nPlayingTrack; + uint8 m_nUpcomingMusicMode; + uint8 m_nMusicMode; + bool field_398E; + bool field_398F; + uint32 m_nStreamedTrack; + bool field_3994; + bool field_3995; + bool field_3996; + bool field_3997; + int8 field_3998; + bool field_3999; + bool field_399A; + uint8 m_nMusicModeToBeSet; + bool field_399C; + float aListenTimeArray[NUM_RADIOS]; + float m_nLastTrackServiceTime; public: cMusicManager(); bool IsInitialised() { return m_bIsInitialised; } uint32 GetMusicMode() { return m_nMusicMode; } - uint8 GetCurrentTrack() { return m_nCurrentStreamedSound; } + uint8 GetCurrentTrack() { return m_nPlayingTrack; } + void ResetMusicAfterReload(); + void SetStartingTrackPositions(uint8 isNewGameTimer); bool Initialise(); void Terminate(); @@ -60,21 +72,20 @@ public: void PreloadCutSceneMusic(uint32); void PlayPreloadedCutSceneMusic(void); void StopCutSceneMusic(void); - uint8 GetRadioInCar(void); + uint32 GetRadioInCar(void); void SetRadioInCar(uint32); - void SetRadioChannelByScript(uint8, int32); - - void ResetMusicAfterReload(); + void SetRadioChannelByScript(uint32, int32); void ResetTimers(int32); void Service(); void ServiceFrontEndMode(); void ServiceGameMode(); void ServiceAmbience(); - void ServiceTrack(); + void ServiceTrack(CVehicle *veh, CPed *ped); bool UsesPoliceRadio(CVehicle *veh); - uint32 GetTrackStartPos(uint8); + bool UsesTaxiRadio(CVehicle *veh); + uint32 GetTrackStartPos(uint32 track); void ComputeAmbienceVol(uint8 reset, uint8& outVolume); bool ServiceAnnouncement(); @@ -82,8 +93,21 @@ public: uint32 GetCarTuning(); uint32 GetNextCarTuning(); bool ChangeRadioChannel(); + void RecordRadioStats(); + void SetUpCorrectAmbienceTrack(); + float *GetListenTimeArray(); + uint32 GetRadioPosition(uint32 station); + uint32 GetFavouriteRadioStation(); + void SetMalibuClubTrackPos(uint8 pos); + void SetStripClubTrackPos(uint8 pos); + bool CheckForMusicInterruptions(); + + void Enable(); + void Disable(); }; VALIDATE_SIZE(cMusicManager, 0x95C); extern cMusicManager MusicManager; +extern bool g_bAnnouncementReadPosAlready; // we have a symbol of this so it was declared in .h +float GetHeightScale(); \ No newline at end of file -- cgit v1.2.3