MusicManager.h 1,9 КБ
Newer Older
aap's avatar
aap включено в состав коммита
1
2
#pragma once

Sergeanur's avatar
Sergeanur включено в состав коммита
3
#include "audio_enums.h"
_AG's avatar
_AG включено в состав коммита
4

Sergeanur's avatar
Sergeanur включено в состав коммита
5
class tStreamedSample
_AG's avatar
_AG включено в состав коммита
6
{
_AG's avatar
_AG включено в состав коммита
7
8
9
10
11
12
public:
	uint32 m_nLength;
	uint32 m_nPosition;
	uint32 m_nLastPosCheckTimer;
};

Sergeanur's avatar
Sergeanur включено в состав коммита
13
14
class CVehicle;

aap's avatar
aap включено в состав коммита
15
16
17
class cMusicManager
{
public:
Sergeanur's avatar
Sergeanur включено в состав коммита
18
19
	bool8 m_bIsInitialised;
	bool8 m_bDisabled;
_AG's avatar
_AG включено в состав коммита
20
	uint8 m_nMusicMode;
erorcun's avatar
erorcun включено в состав коммита
21
22
	uint8 m_nNextTrack;
	uint8 m_nPlayingTrack;
Sergeanur's avatar
Sergeanur включено в состав коммита
23
24
25
	bool8 m_bFrontendTrackFinished;
	bool8 m_bPlayInFrontend;
	bool8 m_bSetNextStation;
Sergeanur's avatar
Sergeanur включено в состав коммита
26
	uint8 m_nAnnouncement;
Sergeanur's avatar
Sergeanur включено в состав коммита
27
28
29
	bool8 m_bPreviousPlayerInCar;
	bool8 m_bPlayerInCar;
	bool8 m_bAnnouncementInProgress;
Sergeanur's avatar
Sergeanur включено в состав коммита
30
	tStreamedSample m_aTracks[TOTAL_STREAMED_SOUNDS];
Sergeanur's avatar
Sergeanur включено в состав коммита
31
	bool8 m_bResetTimers;
Sergeanur's avatar
Sergeanur включено в состав коммита
32
33
34
	uint32 m_nResetTime;
	uint32 m_nLastTrackServiceTime;
	uint32 m_nTimer;
Sergeanur's avatar
Sergeanur включено в состав коммита
35
36
37
38
	bool8 m_bDoTrackService;
	bool8 m_bIgnoreTimeDelay;
	bool8 m_bVerifyAmbienceTrackStartedToPlay;
	bool8 m_bRadioSetByScript;
erorcun's avatar
erorcun включено в состав коммита
39
	uint8 m_nRadioStationScript;
Sergeanur's avatar
Sergeanur включено в состав коммита
40
41
	int32 m_nRadioPosition;
	uint8 m_nRadioInCar;
_AG's avatar
_AG включено в состав коммита
42
43

public:
Sergeanur's avatar
Sergeanur включено в состав коммита
44
	cMusicManager();
Sergeanur's avatar
Sergeanur включено в состав коммита
45
	bool8 IsInitialised() { return m_bIsInitialised; }
Fire-Head's avatar
Fire-Head включено в состав коммита
46
	uint32 GetMusicMode() { return m_nMusicMode; }
erorcun's avatar
erorcun включено в состав коммита
47
	uint8 GetNextTrack() { return m_nNextTrack; }
Fire-Head's avatar
Fire-Head включено в состав коммита
48

Sergeanur's avatar
Sergeanur включено в состав коммита
49
	bool8 Initialise();
Filip Gawin's avatar
Filip Gawin включено в состав коммита
50
51
	void Terminate();

Sergeanur's avatar
Sergeanur включено в состав коммита
52
	void ChangeMusicMode(uint8 mode);
Filip Gawin's avatar
Filip Gawin включено в состав коммита
53
54
	void StopFrontEndTrack();

Sergeanur's avatar
Sergeanur включено в состав коммита
55
	bool8 PlayerInCar();
_AG's avatar
_AG включено в состав коммита
56
	void DisplayRadioStationName();
Filip Gawin's avatar
audio7    
Filip Gawin включено в состав коммита
57

58
	void PlayAnnouncement(uint8);
Sergeanur's avatar
Sergeanur включено в состав коммита
59
	void PlayFrontEndTrack(uint8, bool8);
60
	void PreloadCutSceneMusic(uint8);
Fire-Head's avatar
Fire-Head включено в состав коммита
61
62
	void PlayPreloadedCutSceneMusic(void);
	void StopCutSceneMusic(void);
Sergeanur's avatar
Sergeanur включено в состав коммита
63
	uint8 GetRadioInCar(void);
64
65
	void SetRadioInCar(uint32);
	void SetRadioChannelByScript(uint8, int32);
Filip Gawin's avatar
audio7    
Filip Gawin включено в состав коммита
66
67

	void ResetMusicAfterReload();
Filip Gawin's avatar
Filip Gawin включено в состав коммита
68

Sergeanur's avatar
Sergeanur включено в состав коммита
69
	void ResetTimers(uint32);
Filip Gawin's avatar
Filip Gawin включено в состав коммита
70
	void Service();
Sergeanur's avatar
Sergeanur включено в состав коммита
71
72
73
74
75
	void ServiceFrontEndMode();
	void ServiceGameMode();
	void ServiceAmbience();
	void ServiceTrack();

Sergeanur's avatar
Sergeanur включено в состав коммита
76
	bool8 UsesPoliceRadio(CVehicle *veh);
Sergeanur's avatar
Sergeanur включено в состав коммита
77
78
	uint32 GetTrackStartPos(uint8);

Sergeanur's avatar
Sergeanur включено в состав коммита
79
80
	void ComputeAmbienceVol(bool8 reset, uint8& outVolume);
	bool8 ServiceAnnouncement();
Sergeanur's avatar
Sergeanur включено в состав коммита
81
82
83

	uint8 GetCarTuning();
	uint8 GetNextCarTuning();
Sergeanur's avatar
Sergeanur включено в состав коммита
84
	bool8 ChangeRadioChannel();
aap's avatar
aap включено в состав коммита
85
};
_AG's avatar
_AG включено в состав коммита
86

bigbossbro08's avatar
bigbossbro08 включено в состав коммита
87
VALIDATE_SIZE(cMusicManager, 0x95C);
_AG's avatar
_AG включено в состав коммита
88

Sergeanur's avatar
Sergeanur включено в состав коммита
89
extern cMusicManager MusicManager;