annotate AudioPlayer.h @ 1806:8e17ceba3a40

.
author Nomad
date Mon, 07 Oct 2013 13:08:53 +0200
parents 633f81bb3ae7
children 03d9336e862f
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2 #include "OSAPI.h"
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4
Ritor1
parents:
diff changeset
5
Ritor1
parents:
diff changeset
6
Ritor1
parents:
diff changeset
7
Ritor1
parents:
diff changeset
8
Ritor1
parents:
diff changeset
9
Ritor1
parents:
diff changeset
10 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
11 struct _PROVIDER {char unk_0;};
Ritor1
parents:
diff changeset
12 struct _SAMPLE {char unk_0;};
Ritor1
parents:
diff changeset
13 //struct _STREAM {char unk_0;};
Ritor1
parents:
diff changeset
14 struct _REDBOOK {char unk_0;};
Ritor1
parents:
diff changeset
15 struct _DIG_DRIVER {char unk_0;};
Ritor1
parents:
diff changeset
16 struct _SEQUENCE {char unk_0;};
Ritor1
parents:
diff changeset
17 #pragma pack(pop)
Ritor1
parents:
diff changeset
18
Ritor1
parents:
diff changeset
19
Ritor1
parents:
diff changeset
20
Ritor1
parents:
diff changeset
21 /* 22 */
Ritor1
parents:
diff changeset
22 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
23 struct AudioPlayer_3DSample
Ritor1
parents:
diff changeset
24 {
Ritor1
parents:
diff changeset
25 inline AudioPlayer_3DSample()
Ritor1
parents:
diff changeset
26 {
Ritor1
parents:
diff changeset
27 hSample = 0;
Ritor1
parents:
diff changeset
28 field_4 = 0;
Ritor1
parents:
diff changeset
29 field_8 = 0;
Ritor1
parents:
diff changeset
30 field_C = 0;
Ritor1
parents:
diff changeset
31 }
Ritor1
parents:
diff changeset
32
Ritor1
parents:
diff changeset
33 void *hSample;
Ritor1
parents:
diff changeset
34 int field_4;
Ritor1
parents:
diff changeset
35 int field_8;
Ritor1
parents:
diff changeset
36 int field_C;
Ritor1
parents:
diff changeset
37 };
Ritor1
parents:
diff changeset
38 #pragma pack(pop)
Ritor1
parents:
diff changeset
39
Ritor1
parents:
diff changeset
40
Ritor1
parents:
diff changeset
41
Ritor1
parents:
diff changeset
42
Ritor1
parents:
diff changeset
43 /* 26 */
Ritor1
parents:
diff changeset
44 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
45 struct SoundHeader
Ritor1
parents:
diff changeset
46 {
Ritor1
parents:
diff changeset
47 char pSoundName[40];
Ritor1
parents:
diff changeset
48 unsigned int uFileOffset;
Ritor1
parents:
diff changeset
49 unsigned int uCompressedSize;
Ritor1
parents:
diff changeset
50 unsigned int uDecompressedSize;
Ritor1
parents:
diff changeset
51 };
Ritor1
parents:
diff changeset
52 #pragma pack(pop)
Ritor1
parents:
diff changeset
53
Ritor1
parents:
diff changeset
54 /* 27 */
Ritor1
parents:
diff changeset
55 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
56 struct MixerChannel
Ritor1
parents:
diff changeset
57 {
Ritor1
parents:
diff changeset
58 inline MixerChannel():
378
50875632e776 AudioPlayer::UpdateSounds (004AAFCF) take 1
Nomad
parents: 328
diff changeset
59 hSample(nullptr), source_pid(0), uSourceTrackIdx(0), uSourceTrackID(0)
0
Ritor1
parents:
diff changeset
60 {}
Ritor1
parents:
diff changeset
61
Ritor1
parents:
diff changeset
62 _SAMPLE *hSample;
378
50875632e776 AudioPlayer::UpdateSounds (004AAFCF) take 1
Nomad
parents: 328
diff changeset
63 int source_pid;
0
Ritor1
parents:
diff changeset
64 unsigned int uSourceTrackIdx;
Ritor1
parents:
diff changeset
65 unsigned int uSourceTrackID;
Ritor1
parents:
diff changeset
66 };
Ritor1
parents:
diff changeset
67 #pragma pack(pop)
Ritor1
parents:
diff changeset
68
Ritor1
parents:
diff changeset
69
Ritor1
parents:
diff changeset
70
Ritor1
parents:
diff changeset
71
Ritor1
parents:
diff changeset
72
Ritor1
parents:
diff changeset
73 /* 308 */
Ritor1
parents:
diff changeset
74 enum SoundID
Ritor1
parents:
diff changeset
75 {
388
d95a91011d57 AudioPlayer::PlaySound
Nomad
parents: 378
diff changeset
76 SOUND_Invalid = 0,
0
Ritor1
parents:
diff changeset
77 SOUND_EnteringAHouse = 0x6,
978
9334a8c59c8d uGameState
Ritor1
parents: 764
diff changeset
78 SOUND_7 = 7,
0
Ritor1
parents:
diff changeset
79 SOUND_8 = 0x8,
1754
421c29d4ab3e UITransition.cpp cleaning(continue)
Ritor1
parents: 1477
diff changeset
80 SOUND_24 = 24,
421c29d4ab3e UITransition.cpp cleaning(continue)
Ritor1
parents: 1477
diff changeset
81 SOUND_error = 27,
1424
5930342f092b fall to the water
Ritor1
parents: 1413
diff changeset
82 SOUND_64 = 64,
187
49728858c35e On player voices
Nomad
parents: 24
diff changeset
83 SOUND_Button = 66,
295
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
84 SOUND_67 = 67,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
85 SOUND_71 = 71,
388
d95a91011d57 AudioPlayer::PlaySound
Nomad
parents: 378
diff changeset
86 SOUND_Button2 = 75,
295
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
87 SOUND_78 = 78,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
88 SOUND_80 = 80,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
89 SOUND_81 = 81,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
90 SOUND_83 = 83,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
91 SOUND_84 = 84,
640a176c030f sub_42ECB5
Nomad
parents: 187
diff changeset
92 SOUND_85 = 85,
1424
5930342f092b fall to the water
Ritor1
parents: 1413
diff changeset
93 SOUND_103 = 103,
0
Ritor1
parents:
diff changeset
94 SOUND_Arcomage_LoseResources = 0x78,
Ritor1
parents:
diff changeset
95 SOUND_Arcomage_AddResources = 0x79,
Ritor1
parents:
diff changeset
96 SOUND_Arcomage_TowerWallDamage = 0x7A,
Ritor1
parents:
diff changeset
97 SOUND_Arcomage_DrawCard = 0x7B,
1183
fa30ea497e94 arcomage refactoring started
Gloval
parents: 1113
diff changeset
98 SOUND_Arcomage_124 = 0x7C,
0
Ritor1
parents:
diff changeset
99 SOUND_Arcomage_ProductionDamage = 0x7D,
Ritor1
parents:
diff changeset
100 SOUND_Arcomage_ProductionUpgrade = 0x7E,
Ritor1
parents:
diff changeset
101 SOUND_Arcomage_127 = 0x7F,
Ritor1
parents:
diff changeset
102 SOUND_Arcomage_128 = 0x80,
Ritor1
parents:
diff changeset
103 SOUND_Arcomage_TowerUpgrade = 0x81,
1183
fa30ea497e94 arcomage refactoring started
Gloval
parents: 1113
diff changeset
104 SOUND_Arcomage_130 = 0x82,
fa30ea497e94 arcomage refactoring started
Gloval
parents: 1113
diff changeset
105 SOUND_Arcomage_131 = 0x83,
0
Ritor1
parents:
diff changeset
106 SOUND_Arcomage_WallUpgrade = 0x84,
1459
2ca62c9e7b3c Function names
Nomad
parents: 1458
diff changeset
107 SOUND_PlayLute = 133, // 85
2ca62c9e7b3c Function names
Nomad
parents: 1458
diff changeset
108 SOUND_PlayFaeriePipes = 134, // 86
2ca62c9e7b3c Function names
Nomad
parents: 1458
diff changeset
109 SOUND_PlayGryphonheartsTrumpet = 135, // 87
0
Ritor1
parents:
diff changeset
110 SOUND_GoldReceived = 0xC8,
1413
3881d2f94eb1 UseNPCSkill
Nomad
parents: 1332
diff changeset
111 SOUND_203 = 203,
3881d2f94eb1 UseNPCSkill
Nomad
parents: 1332
diff changeset
112 SOUND_206 = 206,
3881d2f94eb1 UseNPCSkill
Nomad
parents: 1332
diff changeset
113 SOUND_207 = 207,
426
94546824edad Chests party fixed
Nomad
parents: 388
diff changeset
114 SOUND_OpenChest = 208,
0
Ritor1
parents:
diff changeset
115 SOUND_PlayerCantCastSpell = 0xD1,
1459
2ca62c9e7b3c Function names
Nomad
parents: 1458
diff changeset
116 SOUND_EatApple = 211, // D3
0
Ritor1
parents:
diff changeset
117 SOUND_Bell = 0xD9,
1004
eac5af72b614 UI cleans
Nomad
parents: 978
diff changeset
118 SOUND_OpenBook = 230,
eac5af72b614 UI cleans
Nomad
parents: 978
diff changeset
119 SOUND_CloseBook = 231,
1413
3881d2f94eb1 UseNPCSkill
Nomad
parents: 1332
diff changeset
120 SOUND_11090 = 11090,
3881d2f94eb1 UseNPCSkill
Nomad
parents: 1332
diff changeset
121 SOUND_12040 = 12040,
0
Ritor1
parents:
diff changeset
122 SOUND_20001 = 0x4E21,
Ritor1
parents:
diff changeset
123 };
Ritor1
parents:
diff changeset
124
Ritor1
parents:
diff changeset
125
Ritor1
parents:
diff changeset
126 enum MusicID: unsigned __int32
Ritor1
parents:
diff changeset
127 {
Ritor1
parents:
diff changeset
128 MUSIC_Credits = 15
Ritor1
parents:
diff changeset
129 };
Ritor1
parents:
diff changeset
130
Ritor1
parents:
diff changeset
131 /* 20 */
Ritor1
parents:
diff changeset
132 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
133 struct AudioPlayer
Ritor1
parents:
diff changeset
134 {
Ritor1
parents:
diff changeset
135 //----- (004A9669) --------------------------------------------------------
Ritor1
parents:
diff changeset
136 AudioPlayer():
Ritor1
parents:
diff changeset
137 bPlayerReady(false), b3DSoundInitialized(false),
Ritor1
parents:
diff changeset
138 hAILRedbook(nullptr), hStream(nullptr)
Ritor1
parents:
diff changeset
139 {
Ritor1
parents:
diff changeset
140 /*AudioPlayer_3DSample *v0; //ecx@1
Ritor1
parents:
diff changeset
141 signed int v1; //edi@1
Ritor1
parents:
diff changeset
142
Ritor1
parents:
diff changeset
143 v0 = p3DSamples;
Ritor1
parents:
diff changeset
144 v1 = 32;
Ritor1
parents:
diff changeset
145 do
Ritor1
parents:
diff changeset
146 {
Ritor1
parents:
diff changeset
147 v0->field_4 = 0;
Ritor1
parents:
diff changeset
148 v0->field_8 = 0;
Ritor1
parents:
diff changeset
149 v0->field_C = 0;
Ritor1
parents:
diff changeset
150 v0->hSample = 0;
Ritor1
parents:
diff changeset
151 ++v0;
Ritor1
parents:
diff changeset
152 --v1;
Ritor1
parents:
diff changeset
153 }
Ritor1
parents:
diff changeset
154 while (v1);*/
Ritor1
parents:
diff changeset
155 uMixerChannels = 16;
Ritor1
parents:
diff changeset
156 field_2D0_time_left = 256;
Ritor1
parents:
diff changeset
157 uNumRedbookTracks = 0;
Ritor1
parents:
diff changeset
158 uCurrentMusicTrackLength = 0;
Ritor1
parents:
diff changeset
159 field_2D4 = 0;
Ritor1
parents:
diff changeset
160 s3DSoundVolume = 127;
Ritor1
parents:
diff changeset
161 }
Ritor1
parents:
diff changeset
162
Ritor1
parents:
diff changeset
163 void SetMusicVolume(int vol);
328
8e23edf57e27 little fix
Ritor1
parents: 295
diff changeset
164 void SetMasterVolume(float fVolume);
0
Ritor1
parents:
diff changeset
165 void _4AA258(int a2);
Ritor1
parents:
diff changeset
166 void PlaySound(SoundID eSoundID, signed int a3, unsigned int uNumRepeats, signed int a5, signed int a6, int a7, unsigned int uVolume, int sPlaybackRate);
378
50875632e776 AudioPlayer::UpdateSounds (004AAFCF) take 1
Nomad
parents: 328
diff changeset
167 void UpdateSounds();
0
Ritor1
parents:
diff changeset
168 void StopChannels(int uStartChannel, int uEndChannel);
Ritor1
parents:
diff changeset
169 void LoadAudioSnd();
1802
633f81bb3ae7 HWND -> class OSWindow
Nomad
parents: 1754
diff changeset
170 void Initialize();
0
Ritor1
parents:
diff changeset
171 LSTATUS CheckA3DSupport(char a2);
Ritor1
parents:
diff changeset
172 void Release();
764
90bcfb56c8f9 sound cleaning
Gloval
parents: 426
diff changeset
173 void FreeChannel(MixerChannel *pChannel);
0
Ritor1
parents:
diff changeset
174 void _4ABF23(AudioPlayer_3DSample *a2);
Ritor1
parents:
diff changeset
175 void SetEAXPreferences();
Ritor1
parents:
diff changeset
176 void SetMapEAX();
Ritor1
parents:
diff changeset
177 int _4AC0A2();
Ritor1
parents:
diff changeset
178 void PlayMusicTrack(enum MusicID eTrack);
1458
934074e7fcc1 ModalWindow
Nomad
parents: 1424
diff changeset
179 void MessWithChannels();
0
Ritor1
parents:
diff changeset
180
Ritor1
parents:
diff changeset
181
Ritor1
parents:
diff changeset
182 unsigned int bEAXSupported;
Ritor1
parents:
diff changeset
183 unsigned int b3DSoundInitialized;
Ritor1
parents:
diff changeset
184 int s3DSoundVolume;
Ritor1
parents:
diff changeset
185 struct _PROVIDER *h3DSoundProvider;
Ritor1
parents:
diff changeset
186 int uNum3DSamples;
Ritor1
parents:
diff changeset
187 struct AudioPlayer_3DSample p3DSamples[32];
Ritor1
parents:
diff changeset
188 int field_214;
Ritor1
parents:
diff changeset
189 int sRedbookVolume;
Ritor1
parents:
diff changeset
190 char p3DSoundProvider[128];
Ritor1
parents:
diff changeset
191 unsigned int bPlayerReady;
1802
633f81bb3ae7 HWND -> class OSWindow
Nomad
parents: 1754
diff changeset
192 //HWND hWindow;
633f81bb3ae7 HWND -> class OSWindow
Nomad
parents: 1754
diff changeset
193 class OSWindow *window;
0
Ritor1
parents:
diff changeset
194 struct _REDBOOK *hAILRedbook;
Ritor1
parents:
diff changeset
195 struct _DIG_DRIVER *hDigDriver;
Ritor1
parents:
diff changeset
196 int dword_0002AC;
Ritor1
parents:
diff changeset
197 struct _SEQUENCE *hSequence;
Ritor1
parents:
diff changeset
198 int dword_0002B4;
Ritor1
parents:
diff changeset
199 struct SoundHeader *pSoundHeaders;
Ritor1
parents:
diff changeset
200 HANDLE hAudioSnd;
Ritor1
parents:
diff changeset
201 unsigned int uNumSoundHeaders;
Ritor1
parents:
diff changeset
202 unsigned int uMasterVolume;
Ritor1
parents:
diff changeset
203 int dword_0002C8;
Ritor1
parents:
diff changeset
204 int dword_0002CC;
Ritor1
parents:
diff changeset
205 int field_2D0_time_left;
Ritor1
parents:
diff changeset
206 int field_2D4;
Ritor1
parents:
diff changeset
207 unsigned int uCurrentMusicTrackLength;
Ritor1
parents:
diff changeset
208 unsigned int uNumRedbookTracks;
Ritor1
parents:
diff changeset
209 unsigned int uCurrentMusicTrackStartMS;
Ritor1
parents:
diff changeset
210 unsigned int uCurrentMusicTrackEndMS;
Ritor1
parents:
diff changeset
211 struct MixerChannel pMixerChannels[16];
Ritor1
parents:
diff changeset
212 int uMixerChannels;
Ritor1
parents:
diff changeset
213 int field_3EC;
Ritor1
parents:
diff changeset
214 char pDeviceNames[16][128];
Ritor1
parents:
diff changeset
215 int array_000BF0[16];
Ritor1
parents:
diff changeset
216 int array_000C30[16];
Ritor1
parents:
diff changeset
217 unsigned int uNumDevices;
Ritor1
parents:
diff changeset
218 struct _STREAM *hStream;
Ritor1
parents:
diff changeset
219 char field_C78[8];
Ritor1
parents:
diff changeset
220 int cGameCDDriveLetter;
Ritor1
parents:
diff changeset
221 };
Ritor1
parents:
diff changeset
222 #pragma pack(pop)
Ritor1
parents:
diff changeset
223
Ritor1
parents:
diff changeset
224
Ritor1
parents:
diff changeset
225
Ritor1
parents:
diff changeset
226
Ritor1
parents:
diff changeset
227
Ritor1
parents:
diff changeset
228
Ritor1
parents:
diff changeset
229
Ritor1
parents:
diff changeset
230
Ritor1
parents:
diff changeset
231 /* 325 */
Ritor1
parents:
diff changeset
232 enum SOUND_DESC_TYPE : __int32
Ritor1
parents:
diff changeset
233 {
Ritor1
parents:
diff changeset
234 SOUND_DESC_LEVEL = 0x0,
Ritor1
parents:
diff changeset
235 SOUND_DESC_SYSTEM = 0x1,
Ritor1
parents:
diff changeset
236 SOUND_DESC_SWAP = 0x2,
Ritor1
parents:
diff changeset
237 SOUND_DESC_3 = 0x3,
Ritor1
parents:
diff changeset
238 SOUND_DESC_LOCK = 0x4,
Ritor1
parents:
diff changeset
239 };
Ritor1
parents:
diff changeset
240
Ritor1
parents:
diff changeset
241 /* 326 */
Ritor1
parents:
diff changeset
242 enum SOUND_DESC_FLAGS
Ritor1
parents:
diff changeset
243 {
Ritor1
parents:
diff changeset
244 SOUND_DESC_LOCKED = 0x1,
Ritor1
parents:
diff changeset
245 SOUND_DESC_3D = 0x2,
Ritor1
parents:
diff changeset
246 };
Ritor1
parents:
diff changeset
247
Ritor1
parents:
diff changeset
248
Ritor1
parents:
diff changeset
249
Ritor1
parents:
diff changeset
250
Ritor1
parents:
diff changeset
251 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
252 struct SoundData
Ritor1
parents:
diff changeset
253 {
Ritor1
parents:
diff changeset
254 unsigned int uDataSize;
Ritor1
parents:
diff changeset
255 char pData[1];
Ritor1
parents:
diff changeset
256 };
Ritor1
parents:
diff changeset
257
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
258 struct SoundDesc_mm6
0
Ritor1
parents:
diff changeset
259 {
1113
39eaa6b00141 something to bool cast (performance warning) mostly fixed
Grumpy7
parents: 1004
diff changeset
260 inline bool Is3D() {return (uFlags & SOUND_DESC_3D) != 0;}
388
d95a91011d57 AudioPlayer::PlaySound
Nomad
parents: 378
diff changeset
261
0
Ritor1
parents:
diff changeset
262 char pSoundName[32];
Ritor1
parents:
diff changeset
263 unsigned int uSoundID;
Ritor1
parents:
diff changeset
264 SOUND_DESC_TYPE eType;
Ritor1
parents:
diff changeset
265 int uFlags;
Ritor1
parents:
diff changeset
266 SoundData *pSoundData[17];
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
267 };
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
268
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
269 struct SoundDesc: public SoundDesc_mm6
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
270 {
0
Ritor1
parents:
diff changeset
271 void *p3DSound;
Ritor1
parents:
diff changeset
272 int bDecompressed;
Ritor1
parents:
diff changeset
273 };
Ritor1
parents:
diff changeset
274 #pragma pack(pop)
Ritor1
parents:
diff changeset
275
Ritor1
parents:
diff changeset
276
Ritor1
parents:
diff changeset
277
Ritor1
parents:
diff changeset
278 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
279 struct SoundList
Ritor1
parents:
diff changeset
280 {
Ritor1
parents:
diff changeset
281 inline SoundList():
764
90bcfb56c8f9 sound cleaning
Gloval
parents: 426
diff changeset
282 sNumSounds(0), pSounds(nullptr), uTotalLoadedSoundSize(0)
0
Ritor1
parents:
diff changeset
283 {}
Ritor1
parents:
diff changeset
284
Ritor1
parents:
diff changeset
285 void Initialize();
Ritor1
parents:
diff changeset
286 __int16 LoadSound(int a1, unsigned int a3);
Ritor1
parents:
diff changeset
287 int LoadSound(unsigned int a2, LPVOID lpBuffer, int uBufferSizeLeft, int *pOutSoundSize, int a6);
Ritor1
parents:
diff changeset
288 SoundDesc *Release();
Ritor1
parents:
diff changeset
289 void _4A9D79(int a2);
764
90bcfb56c8f9 sound cleaning
Gloval
parents: 426
diff changeset
290 void UnloadSound(unsigned int uSoundID, char a3);
0
Ritor1
parents:
diff changeset
291 void ToFile();
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 1459
diff changeset
292 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8);
0
Ritor1
parents:
diff changeset
293 int FromFileTxt(const char *Args);
Ritor1
parents:
diff changeset
294
764
90bcfb56c8f9 sound cleaning
Gloval
parents: 426
diff changeset
295 signed int sNumSounds;
0
Ritor1
parents:
diff changeset
296 SoundDesc *pSounds;
Ritor1
parents:
diff changeset
297 unsigned int uTotalLoadedSoundSize;
Ritor1
parents:
diff changeset
298 };
Ritor1
parents:
diff changeset
299 #pragma pack(pop)
Ritor1
parents:
diff changeset
300
Ritor1
parents:
diff changeset
301
Ritor1
parents:
diff changeset
302
Ritor1
parents:
diff changeset
303
Ritor1
parents:
diff changeset
304
Ritor1
parents:
diff changeset
305 /* 241 */
Ritor1
parents:
diff changeset
306 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
307 struct Sound
Ritor1
parents:
diff changeset
308 {
Ritor1
parents:
diff changeset
309 unsigned int uID;
24
352b15291822 18.01.13 (PlaySound work)
Ritor1
parents: 0
diff changeset
310 char SoundName[120];
0
Ritor1
parents:
diff changeset
311 SoundData *pSoundData;
Ritor1
parents:
diff changeset
312 };
Ritor1
parents:
diff changeset
313 #pragma pack(pop)
Ritor1
parents:
diff changeset
314
Ritor1
parents:
diff changeset
315
Ritor1
parents:
diff changeset
316
Ritor1
parents:
diff changeset
317
Ritor1
parents:
diff changeset
318 extern int Aureal3D_SplashScreen;
Ritor1
parents:
diff changeset
319 extern int Aureal3D_SplashAudio;
Ritor1
parents:
diff changeset
320 extern int uFindSound_BinSearch_ResultID; // weak
Ritor1
parents:
diff changeset
321 extern int uLastLoadedSoundID; // weak
Ritor1
parents:
diff changeset
322 extern int sLastTrackLengthMS;
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1183
diff changeset
323 extern std::array<Sound, 3000> pSounds;
0
Ritor1
parents:
diff changeset
324 extern AudioPlayer *pAudioPlayer;
Ritor1
parents:
diff changeset
325 extern SoundList *pSoundList;
Ritor1
parents:
diff changeset
326
Ritor1
parents:
diff changeset
327 extern unsigned __int8 uSoundVolumeMultiplier;
Ritor1
parents:
diff changeset
328 extern unsigned __int8 uVoicesVolumeMultiplier;
Ritor1
parents:
diff changeset
329 extern unsigned __int8 uMusicVolimeMultiplier;
Ritor1
parents:
diff changeset
330 extern int bWalkSound; // idb
Ritor1
parents:
diff changeset
331
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1183
diff changeset
332 extern std::array<float, 10> pSoundVolumeLevels; // idb
0
Ritor1
parents:
diff changeset
333
Ritor1
parents:
diff changeset
334
Ritor1
parents:
diff changeset
335
Ritor1
parents:
diff changeset
336
Ritor1
parents:
diff changeset
337
Ritor1
parents:
diff changeset
338
Ritor1
parents:
diff changeset
339
Ritor1
parents:
diff changeset
340
Ritor1
parents:
diff changeset
341 /* 379 */
Ritor1
parents:
diff changeset
342 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
343 struct stru339_spell_sound
Ritor1
parents:
diff changeset
344 {
Ritor1
parents:
diff changeset
345 int _494836(int uSoundID, int a6);
Ritor1
parents:
diff changeset
346
Ritor1
parents:
diff changeset
347 char pSounds[44744];
Ritor1
parents:
diff changeset
348 int field_AEC8[45];
Ritor1
parents:
diff changeset
349 int field_AF7C[18];
Ritor1
parents:
diff changeset
350 int field_AFC4;
Ritor1
parents:
diff changeset
351 int pSoundsSizes[2];
Ritor1
parents:
diff changeset
352 int pSoundsOffsets[2];
Ritor1
parents:
diff changeset
353 };
Ritor1
parents:
diff changeset
354 #pragma pack(pop)
1202
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1183
diff changeset
355 extern std::array<stru339_spell_sound, 4> stru_A750F8;
0dbf6c4dd029 arrays to std::arrays phase 1
Grumpy7
parents: 1183
diff changeset
356 extern std::array<stru339_spell_sound, 4> stru_AA1058;