DOOM-3-BFG

DOOM 3 BFG Edition
Log | Files | Refs

s_sound.h (2849B)


      1 /*
      2 ===========================================================================
      3 
      4 Doom 3 BFG Edition GPL Source Code
      5 Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company. 
      6 
      7 This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").  
      8 
      9 Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
     10 it under the terms of the GNU General Public License as published by
     11 the Free Software Foundation, either version 3 of the License, or
     12 (at your option) any later version.
     13 
     14 Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful,
     15 but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 GNU General Public License for more details.
     18 
     19 You should have received a copy of the GNU General Public License
     20 along with Doom 3 BFG Edition Source Code.  If not, see <http://www.gnu.org/licenses/>.
     21 
     22 In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code.  If not, please request a copy in writing from id Software at the address below.
     23 
     24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
     25 
     26 ===========================================================================
     27 */
     28 
     29 #ifndef __S_SOUND__
     30 #define __S_SOUND__
     31 
     32 
     33 #ifdef __GNUG__
     34 #pragma interface
     35 #endif
     36 
     37 
     38 
     39 //
     40 // Initializes sound stuff, including volume
     41 // Sets channels, SFX and music volume,
     42 //  allocates channel buffer, sets S_sfx lookup.
     43 //
     44 void
     45 S_Init
     46 ( int		sfxVolume,
     47   int		musicVolume );
     48 
     49 
     50 
     51 
     52 //
     53 // Per level startup code.
     54 // Kills playing sounds at start of level,
     55 //  determines music if any, changes music.
     56 //
     57 void S_Start(void);
     58 
     59 
     60 //
     61 // Start sound for thing at <origin>
     62 //  using <sound_id> from sounds.h
     63 //
     64 void
     65 S_StartSound
     66 ( void*		origin,
     67   int		sound_id );
     68 
     69 
     70 
     71 // Will start a sound at a given volume.
     72 void
     73 S_StartSoundAtVolume
     74 ( void*		origin,
     75   int		sound_id,
     76   int		volume );
     77 
     78 
     79 // Stop sound for thing at <origin>
     80 void S_StopSound(void* origin);
     81 
     82 
     83 // Start music using <music_id> from sounds.h
     84 void S_StartMusic(int music_id);
     85 
     86 // Start music using <music_id> from sounds.h,
     87 //  and set whether looping
     88 void
     89 S_ChangeMusic
     90 ( int		music_id,
     91   int		looping );
     92 
     93 // Stops the music fer sure.
     94 void S_StopMusic(void);
     95 
     96 // Stop and resume music, during game PAUSE.
     97 void S_PauseSound(void);
     98 void S_ResumeSound(void);
     99 
    100 
    101 //
    102 // Updates music & sounds
    103 //
    104 void S_UpdateSounds(void* listener);
    105 
    106 void S_SetMusicVolume(int volume);
    107 void S_SetSfxVolume(int volume);
    108 
    109 
    110 #endif
    111