#pragma once #include "s_soundinternal.h" #include "m_fixed.h" #include "vectors.h" #include "build.h" inline FVector3 GetSoundPos(const vec3_t *pos) { // converts a Build coordinate to a sound system coordinate const float xmul = 1 / 16.f; const float ymul = -1 / 16.f; const float zmul = -1 / 256.f; return { pos->x* xmul, pos->z* zmul, pos->y* ymul }; } enum { SOURCE_Actor = SOURCE_None+1, // Sound is coming from an actor. SOURCE_Ambient, // Sound is coming from a blood ambient definition. SOURCE_Player, // SW player sound (player in SW maintains its own position separately from the sprite so needs to be special.) SOURCE_Swirly, // Special stuff for Exhumed. (local sound with custom panning) SOURCE_EXBoss, // Another special case for Exhumed. }; inline void FX_StopAllSounds(void) { soundEngine->StopAllChannels(); } void FX_SetReverb(int strength); inline void FX_SetReverbDelay(int delay) { } int S_LookupSound(const char* fn); class FSerializer; void S_SerializeSounds(FSerializer& arc);