re3/src/audio/MusicManager.h

82 lines
1.7 KiB
C
Raw Normal View History

#pragma once
2019-10-26 12:39:10 +00:00
#include "audio_enums.h"
2019-06-15 22:20:55 +00:00
class tMP3Sample
{
2019-06-15 22:20:55 +00:00
public:
uint32 m_nLength;
uint32 m_nPosition;
uint32 m_nLastPosCheckTimer;
};
class cMusicManager
{
public:
2019-06-16 22:16:38 +00:00
bool m_bIsInitialised;
2019-06-15 22:20:55 +00:00
uint8 field_1;
uint8 m_nMusicMode;
uint8 m_nCurrentStreamedSound;
uint8 m_nPreviousStreamedSound;
uint8 field_5;
uint8 field_6;
uint8 field_7;
2019-06-16 22:16:38 +00:00
bool m_bAnnouncement;
bool m_bPreviousPlayerInCar;
bool m_bPlayerInCar;
bool m_bAnnouncementInProgress;
tMP3Sample m_asMP3Samples[TOTAL_STREAMED_SOUNDS];
2019-06-15 22:20:55 +00:00
uint8 field_2364;
uint8 field_2365;
uint8 field_2366;
uint8 field_2367;
uint32 field_2368;
uint32 field_2372;
uint32 field_2376;
uint8 field_2380;
uint8 field_2381;
uint8 field_2382;
2019-06-16 22:16:38 +00:00
bool m_bRadioSetByScript;
2019-06-15 22:20:55 +00:00
uint8 m_nRadioStation;
uint8 field_2385;
uint8 field_2386;
uint8 field_2387;
uint32 m_nRadioPosition;
2019-06-16 22:16:38 +00:00
bool m_bRadioInCar;
2019-06-15 22:20:55 +00:00
uint8 field_2393;
uint8 field_2394;
uint8 field_2395;
public:
2019-08-02 20:20:12 +00:00
bool IsInitialised() { return m_bIsInitialised; }
uint32 GetMusicMode() { return m_nMusicMode; }
uint8 GetCurrentTrack() { return m_nCurrentStreamedSound; }
2019-07-05 19:15:32 +00:00
void Initialise();
void Terminate();
2019-07-16 15:03:37 +00:00
void ChangeMusicMode(int32 mode);
void StopFrontEndTrack();
2019-06-15 22:20:55 +00:00
bool PlayerInCar();
void DisplayRadioStationName();
2019-08-29 22:44:57 +00:00
void PlayAnnouncement(uint8);
void PlayFrontEndTrack(uint8, uint8);
void PreloadCutSceneMusic(uint8);
2019-08-15 01:43:00 +00:00
void PlayPreloadedCutSceneMusic(void);
void StopCutSceneMusic(void);
int32 GetRadioInCar(void);
void SetRadioInCar(uint32);
void SetRadioChannelByScript(uint8, int32);
2019-08-29 22:44:57 +00:00
void ResetMusicAfterReload();
2019-09-21 20:10:35 +00:00
void ResetTimers(int32);
void Service();
};
2019-06-15 22:20:55 +00:00
static_assert(sizeof(cMusicManager) == 0x95C, "cMusicManager: error");
extern cMusicManager &MusicManager;