ref: d7f038fe0566c8239ec0b2ca1e56686476e82e09
dir: /src/_rt_soun.h/
/* Copyright (C) 1994-1995 Apogee Software, Ltd. Copyright (C) 2002-2015 icculus.org, GNU/Linux port Copyright (C) 2017-2018 Steven LeVesque 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 2 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. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ #ifndef _rt_sound_private #define _rt_sound_private #define SOUNDTYPES 2 typedef struct { int snds[SOUNDTYPES]; byte flags; byte priority; byte count; int prevhandle; int prevdistance; } sound_t; #define SD_OVERWRITE 0x01 #define SD_WRITE 0x02 #define SD_LOOP 0x04 #define SD_PITCHSHIFTOFF 0x08 #define SD_PLAYONCE 0x10 enum { sd_prio0=17, sd_prio1=16, sd_prio2=15, sd_prio3=14, sd_prio4=13, sd_prio5=12, sd_prio6=11, sd_prio7=10, sd_prio8=9, sd_prio9=8, sd_prio10=7, sd_prio11=6, sd_prio12=5, sd_prio13=4, sd_prio14=3, sd_prio15=2, sd_prio16=1 } ; #define SD_PRIOSECRET sd_prio1 #define SD_PRIOREMOTE sd_prio1 #define SD_PRIOPHURT sd_prio1 #define SD_PRIOGAME sd_prio2 #define SD_PRIOBOSS sd_prio2 #define SD_PRIOGODDOG sd_prio2 #define SD_PRIOEXPL sd_prio3 #define SD_PRIOASNEAK sd_prio3 #define SD_PRIOADEATH sd_prio3 #define SD_PRIOPMISS sd_prio4 #define SD_PRIOPGUNS sd_prio5 #define SD_PRIOAFIRE sd_prio6 #define SD_PRIOPMP40 sd_prio7 #define SD_PRIOAHURT sd_prio8 #define SD_PRIOGLASS sd_prio9 #define SD_PRIOPSNDS sd_prio11 #define SD_PRIOPCAUSD sd_prio12 #define SD_PRIOAGREET sd_prio13 #define SD_PRIOENVRON sd_prio14 #define SD_PRIOQUIT sd_prio15 #define SD_PRIOMENU sd_prio16 #define SD_DISTANCESHIFT 12 #define USEADLIB 255 #define SD_RANDOMSHIFT 1 #define PitchOffset() ((RandomNumber("Pitch Offset",0)-128)>>SD_RANDOMSHIFT) #define SoundOffset(x) (sounds[x].snds[soundtype]) #define GUSMIDIINIFILE ("gusmidi.ini") typedef enum { loop_yes, loop_no } looptypes; typedef struct { byte loopflag; byte songtype; char lumpname[9]; char songname[40]; } song_t; int SD_PlayIt ( int sndnum, int angle, int distance, int pitch ); boolean SD_SoundOkay ( int sndnum ); #endif