/
sounds.h
116 lines (89 loc) · 3.06 KB
/
sounds.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
//****************************************************************************
//
// sounds.h
//
//****************************************************************************
#pragma once
#include "raze_sound.h"
#include "raze_music.h"
struct MapRecord;
BEGIN_DUKE_NS
// Sound flags
enum {
SF_LOOP = 1,
SF_MSFX = 2,
SF_TALK = 4,
SF_ADULT = 8,
SF_GLOBAL = 16,
SF_ONEINST_INTERNAL = 32,
SF_CONDEFINED = 64,
SF_DTAG = 128,
};
enum esound_t
{
kPitchStart,
kPitchEnd,
kVolAdjust,
kPriority,
kFlags,
kWorldTourMapping,
kMaxUserData
};
int S_PlaySound(FSoundID num, int channel = CHAN_AUTO, EChanFlags flags = 0, float vol = 0.8f);
int S_PlaySound3D(FSoundID num, DDukeActor* spriteNum, const DVector3& pos, int channel = CHAN_AUTO, EChanFlags flags = 0);
int S_PlayActorSound(FSoundID soundNum, DDukeActor* spriteNum, int channel = CHAN_AUTO, EChanFlags flags = 0);
void S_StopSound(FSoundID sndNum, DDukeActor* spr = nullptr, int flags = -1);
void S_ChangeSoundPitch(FSoundID soundNum, DDukeActor* spriteNum, int pitchoffset);
int S_CheckActorSoundPlaying(DDukeActor* spriteNum, FSoundID soundNum, int channel = 0);
int S_CheckSoundPlaying(FSoundID soundNum);
void S_CacheAllSounds(void);
int S_DefineSound(unsigned index, const char* filename, int ps, int pe, int pr, int m, int vo, float vol);
void S_WorldTourMappingsForOldSounds();
void S_MenuSound(void);
int S_CheckAnyActorSoundPlaying(DDukeActor* spriteNum);
int S_GetUserFlags(FSoundID sndnum);
inline bool S_IsSoundValid(int num)
{
return !soundEngine->isValidSoundId(S_FindSoundByResID(num));
}
inline int S_PlaySound(int num, int channel = CHAN_AUTO, EChanFlags flags = 0, float vol = 0.8f)
{
return S_PlaySound(S_FindSoundByResID(num), channel, flags, vol);
}
inline int S_PlaySound3D(int num, DDukeActor* spriteNum, const DVector3& pos, int channel = CHAN_AUTO, EChanFlags flags = 0)
{
return S_PlaySound3D(S_FindSoundByResID(num), spriteNum, pos, channel, flags);
}
inline int S_PlayActorSound(int soundNum, DDukeActor* spriteNum, int channel = CHAN_AUTO, EChanFlags flags = 0)
{
return S_PlayActorSound(S_FindSoundByResID(soundNum), spriteNum, channel, flags);
}
inline void S_StopSound(int sndNum, DDukeActor* spr = nullptr, int flags = -1)
{
return S_StopSound(S_FindSoundByResID(sndNum), spr, flags);
}
inline void S_ChangeSoundPitch(int soundNum, DDukeActor* spriteNum, int pitchoffset)
{
S_ChangeSoundPitch(S_FindSoundByResID(soundNum), spriteNum, pitchoffset);
}
inline int S_CheckActorSoundPlaying(DDukeActor* spriteNum, int soundNum, int channel = 0)
{
return S_CheckActorSoundPlaying(spriteNum, S_FindSoundByResID(soundNum), channel);
}
inline int S_CheckSoundPlaying(int soundNum)
{
return S_CheckSoundPlaying(S_FindSoundByResID(soundNum));
}
inline int S_GetUserFlags(int soundNum)
{
return S_GetUserFlags(S_FindSoundByResID(soundNum));
}
void S_PlayRRMusic(int newTrack = -1);
void S_PlayBonusMusic();
void S_PlayLevelMusic(MapRecord* mi);
void S_ContinueLevelMusic(void);
// Placeholders.
void S_ParseDeveloperCommentary();
void StopCommentary();
bool StartCommentary(int tag, DDukeActor* sprnum);
END_DUKE_NS