mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-03 05:31:05 +00:00
113 lines
3 KiB
C++
113 lines
3 KiB
C++
//****************************************************************************
|
|
//
|
|
// 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_DTAG = 128,
|
|
SF_CON_MASK = 159,
|
|
};
|
|
|
|
enum esound_t
|
|
{
|
|
kVolAdjust,
|
|
kFlags,
|
|
kWorldTourMapping,
|
|
kMaxUserData
|
|
};
|
|
|
|
class DDukeActor;
|
|
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();
|
|
int StartCommentary(int tag, DDukeActor* sprnum);
|
|
|
|
|
|
END_DUKE_NS
|
|
|