[go: up one dir, main page]

Menu

[904618]: / src / s_sound.h  Maximize  Restore  History

Download this file

112 lines (89 with data), 4.2 kB

  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
// -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*-
// ----------------------------------------------------------------------------
// :oCCCCOCoc.
// .cCO8OOOOOOOOO8Oo:
// .oOO8OOOOOOOOOOOOOOOCc
// cO8888: .:oOOOOC. TM
// :888888: :CCCc .oOOOOC. ### ### #########
// C888888: .ooo: .C######## ##### ##### ###### ###### ##########
// O888888: .oO### ### ##### ##### ######## ######## #### ###
// C888888: :8O. .C########## ### #### ### ## ## ## ## #### ###
// :8@@@@8: :888c o### ### #### ### ######## ######## ##########
// :8@@@@C C@@@@ oo######## ### ## ### ###### ###### #########
// cO@@@@@@@@@@@@@@@@@Oc0
// :oO8@@@@@@@@@@Oo.
// .oCOOOOOCc. http://remood.org/
// ----------------------------------------------------------------------------
// Copyright (C) 1993-1996 by id Software, Inc.
// Copyright (C) 1998-2000 by DooM Legacy Team.
// Copyright (C) 2008-2013 GhostlyDeath <ghostlydeath@remood.org>
// <ghostlydeath@gmail.com>
// ----------------------------------------------------------------------------
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// ----------------------------------------------------------------------------
// DESCRIPTION: The not so system specific sound interface.
#ifndef __S_SOUND_H__
#define __S_SOUND_H__
/***************
*** INCLUDES ***
***************/
#include "doomtype.h"
#include "sounds.h"
/****************
*** CONSTANTS ***
****************/
/*****************
*** STRUCTURES ***
*****************/
typedef int32_t sfxid_t;
/* Define S_NoiseThinker_t */
#if !defined(__REMOOD_SNOISETHNK_DEFINED)
typedef struct S_NoiseThinker_s S_NoiseThinker_t;
#define __REMOOD_SNOISETHNK_DEFINED
#endif
/**************
*** GLOBALS ***
**************/
/****************
*** FUNCTIONS ***
****************/
void S_RegisterSoundStuff(void);
void S_Init(int sfxVolume, int musicVolume);
void S_StopSounds(void);
int S_GetSfxLumpNum(sfxinfo_t* sfx);
void S_FreeSfx(sfxinfo_t* sfx);
void S_StartSoundAtVolume(S_NoiseThinker_t* a_Origin, sfxid_t sound_id, int volume, const bool_t a_Reverse);
int S_SoundPlaying(S_NoiseThinker_t* a_Origin, int id);
void S_XStartSound(S_NoiseThinker_t* a_Origin, sfxid_t sound_id);
void S_XStartSoundRev(S_NoiseThinker_t* a_Origin, sfxid_t sound_id);
void S_XStartSoundName(S_NoiseThinker_t* a_Origin, char* soundname);
void S_XStartSoundNameRev(S_NoiseThinker_t* a_Origin, char* soundname);
void S_XStopSound(S_NoiseThinker_t* a_Origin);
// Start sound but emit sound only for a specific player
#define S_StartSoundScreen(o,i,p) S_XStartSound(((S_NoiseThinker_t*)(o)), (i))
// To cancel out those annoying (expected S_NoiseThinker_t* but not mobj_t*)
#define S_StartSound(o,i) S_XStartSound(((S_NoiseThinker_t*)(o)), (i))
#define S_StartSoundRev(o,i) S_XStartSoundRev(((S_NoiseThinker_t*)(o)), (i))
#define S_StartSoundName(o,i) S_XStartSoundName(((S_NoiseThinker_t*)(o)), (i))
#define S_StartSoundNameRev(o,i) S_XStartSoundNameRev(((S_NoiseThinker_t*)(o)), (i))
#define S_StopSound(o) S_XStopSound(((S_NoiseThinker_t*)(o)))
void S_RepositionSounds(void);
void S_ChangeMusic(int music_num, int looping);
void S_ChangeMusicName(char* name, int looping);
void S_StopMusic(void);
void S_PauseMusic(void);
void S_ResumeMusic(void);
void S_UpdateSounds(const bool_t a_Threaded);
void S_SetMusicVolume(int volume);
void S_SetSfxVolume(int volume);
void Command_SoundReset_f(void);
sfxid_t S_SoundIDForName(const char* const a_Name);
#endif /* __S_SOUND_H__ */