From 47c0b5207ed5bc077f1d9d59f94c12c522f2a0b9 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Wed, 17 Sep 2008 19:10:54 +0000 Subject: Split sound code out of Heretic's i_ibm.c into s_sound.c. Rename soundst.h to s_sound.h to fit. Reformat sounds.c files to declare sounds through macros and harmonise on the common sfxinfo_t. Fix up Heretic sound code to use common sound API. Subversion-branch: /branches/raven-branch Subversion-revision: 1236 --- src/heretic/sounds.c | 414 ++++++++++++++++++++++++++------------------------- 1 file changed, 215 insertions(+), 199 deletions(-) (limited to 'src/heretic/sounds.c') diff --git a/src/heretic/sounds.c b/src/heretic/sounds.c index 99dd102c..38c39210 100644 --- a/src/heretic/sounds.c +++ b/src/heretic/sounds.c @@ -25,216 +25,232 @@ // sounds.c #include "doomdef.h" +#include "i_sound.h" #include "sounds.h" // Music info +#define MUSIC(name) \ + { name, 0, NULL, NULL } + musicinfo_t S_music[] = { - {"MUS_E1M1", 0}, // 1-1 - {"MUS_E1M2", 0}, - {"MUS_E1M3", 0}, - {"MUS_E1M4", 0}, - {"MUS_E1M5", 0}, - {"MUS_E1M6", 0}, - {"MUS_E1M7", 0}, - {"MUS_E1M8", 0}, - {"MUS_E1M9", 0}, - - {"MUS_E2M1", 0}, // 2-1 - {"MUS_E2M2", 0}, - {"MUS_E2M3", 0}, - {"MUS_E2M4", 0}, - {"MUS_E1M4", 0}, - {"MUS_E2M6", 0}, - {"MUS_E2M7", 0}, - {"MUS_E2M8", 0}, - {"MUS_E2M9", 0}, - - {"MUS_E1M1", 0}, // 3-1 - {"MUS_E3M2", 0}, - {"MUS_E3M3", 0}, - {"MUS_E1M6", 0}, - {"MUS_E1M3", 0}, - {"MUS_E1M2", 0}, - {"MUS_E1M5", 0}, - {"MUS_E1M9", 0}, - {"MUS_E2M6", 0}, - - {"MUS_E1M6", 0}, // 4-1 - {"MUS_E1M2", 0}, - {"MUS_E1M3", 0}, - {"MUS_E1M4", 0}, - {"MUS_E1M5", 0}, - {"MUS_E1M1", 0}, - {"MUS_E1M7", 0}, - {"MUS_E1M8", 0}, - {"MUS_E1M9", 0}, - - {"MUS_E2M1", 0}, // 5-1 - {"MUS_E2M2", 0}, - {"MUS_E2M3", 0}, - {"MUS_E2M4", 0}, - {"MUS_E1M4", 0}, - {"MUS_E2M6", 0}, - {"MUS_E2M7", 0}, - {"MUS_E2M8", 0}, - {"MUS_E2M9", 0}, - - {"MUS_E3M2", 0}, // 6-1 - {"MUS_E3M3", 0}, // 6-2 - {"MUS_E1M6", 0}, // 6-3 - - {"MUS_TITL", 0}, - {"MUS_INTR", 0}, - {"MUS_CPTD", 0} + MUSIC("MUS_E1M1"), // 1-1 + MUSIC("MUS_E1M2"), + MUSIC("MUS_E1M3"), + MUSIC("MUS_E1M4"), + MUSIC("MUS_E1M5"), + MUSIC("MUS_E1M6"), + MUSIC("MUS_E1M7"), + MUSIC("MUS_E1M8"), + MUSIC("MUS_E1M9"), + + MUSIC("MUS_E2M1"), // 2-1 + MUSIC("MUS_E2M2"), + MUSIC("MUS_E2M3"), + MUSIC("MUS_E2M4"), + MUSIC("MUS_E1M4"), + MUSIC("MUS_E2M6"), + MUSIC("MUS_E2M7"), + MUSIC("MUS_E2M8"), + MUSIC("MUS_E2M9"), + + MUSIC("MUS_E1M1"), // 3-1 + MUSIC("MUS_E3M2"), + MUSIC("MUS_E3M3"), + MUSIC("MUS_E1M6"), + MUSIC("MUS_E1M3"), + MUSIC("MUS_E1M2"), + MUSIC("MUS_E1M5"), + MUSIC("MUS_E1M9"), + MUSIC("MUS_E2M6"), + + MUSIC("MUS_E1M6"), // 4-1 + MUSIC("MUS_E1M2"), + MUSIC("MUS_E1M3"), + MUSIC("MUS_E1M4"), + MUSIC("MUS_E1M5"), + MUSIC("MUS_E1M1"), + MUSIC("MUS_E1M7"), + MUSIC("MUS_E1M8"), + MUSIC("MUS_E1M9"), + + MUSIC("MUS_E2M1"), // 5-1 + MUSIC("MUS_E2M2"), + MUSIC("MUS_E2M3"), + MUSIC("MUS_E2M4"), + MUSIC("MUS_E1M4"), + MUSIC("MUS_E2M6"), + MUSIC("MUS_E2M7"), + MUSIC("MUS_E2M8"), + MUSIC("MUS_E2M9"), + + MUSIC("MUS_E3M2"), // 6-1 + MUSIC("MUS_E3M3"), // 6-2 + MUSIC("MUS_E1M6"), // 6-3 + + MUSIC("MUS_TITL"), + MUSIC("MUS_INTR"), + MUSIC("MUS_CPTD") }; // Sound info + /* Macro for original heretic sfxinfo_t +#define SOUND(name, priority, numchannels) \ + { name, NULL, priority, -1, NULL, 0, numchannels } +#define SOUND_LINK(name, link_id, priority, numchannels) \ + { name, &S_sfx[link_id], priority, -1, NULL, 0, numchannels } + */ + +#define SOUND(name, priority, numchannels) \ + { name, priority, NULL, -1, -1, -1, 0, numchannels, NULL } +#define SOUND_LINK(name, link_id, priority, numchannels) \ + { name, priority, &S_sfx[link_id], 0, 0, -1, 0, numchannels, NULL } + sfxinfo_t S_sfx[] = { - {{0, 0, 0, 0, 0, 0, 0, 0}, NULL, 0, -1, NULL, 0, 0}, - {"gldhit", NULL, 32, -1, NULL, 0, 2}, - {"gntful", NULL, 32, -1, NULL, 0, -1}, - {"gnthit", NULL, 32, -1, NULL, 0, -1}, - {"gntpow", NULL, 32, -1, NULL, 0, -1}, - {"gntact", NULL, 32, -1, NULL, 0, -1}, - {"gntuse", NULL, 32, -1, NULL, 0, -1}, - {"phosht", NULL, 32, -1, NULL, 0, 2}, - {"phohit", NULL, 32, -1, NULL, 0, -1}, - {"-phopow", &S_sfx[sfx_hedat1], 32, -1, NULL, 0, 1}, - {"lobsht", NULL, 20, -1, NULL, 0, 2}, - {"lobhit", NULL, 20, -1, NULL, 0, 2}, - {"lobpow", NULL, 20, -1, NULL, 0, 2}, - {"hrnsht", NULL, 32, -1, NULL, 0, 2}, - {"hrnhit", NULL, 32, -1, NULL, 0, 2}, - {"hrnpow", NULL, 32, -1, NULL, 0, 2}, - {"ramphit", NULL, 32, -1, NULL, 0, 2}, - {"ramrain", NULL, 10, -1, NULL, 0, 2}, - {"bowsht", NULL, 32, -1, NULL, 0, 2}, - {"stfhit", NULL, 32, -1, NULL, 0, 2}, - {"stfpow", NULL, 32, -1, NULL, 0, 2}, - {"stfcrk", NULL, 32, -1, NULL, 0, 2}, - {"impsit", NULL, 32, -1, NULL, 0, 2}, - {"impat1", NULL, 32, -1, NULL, 0, 2}, - {"impat2", NULL, 32, -1, NULL, 0, 2}, - {"impdth", NULL, 80, -1, NULL, 0, 2}, - {"-impact", &S_sfx[sfx_impsit], 20, -1, NULL, 0, 2}, - {"imppai", NULL, 32, -1, NULL, 0, 2}, - {"mumsit", NULL, 32, -1, NULL, 0, 2}, - {"mumat1", NULL, 32, -1, NULL, 0, 2}, - {"mumat2", NULL, 32, -1, NULL, 0, 2}, - {"mumdth", NULL, 80, -1, NULL, 0, 2}, - {"-mumact", &S_sfx[sfx_mumsit], 20, -1, NULL, 0, 2}, - {"mumpai", NULL, 32, -1, NULL, 0, 2}, - {"mumhed", NULL, 32, -1, NULL, 0, 2}, - {"bstsit", NULL, 32, -1, NULL, 0, 2}, - {"bstatk", NULL, 32, -1, NULL, 0, 2}, - {"bstdth", NULL, 80, -1, NULL, 0, 2}, - {"bstact", NULL, 20, -1, NULL, 0, 2}, - {"bstpai", NULL, 32, -1, NULL, 0, 2}, - {"clksit", NULL, 32, -1, NULL, 0, 2}, - {"clkatk", NULL, 32, -1, NULL, 0, 2}, - {"clkdth", NULL, 80, -1, NULL, 0, 2}, - {"clkact", NULL, 20, -1, NULL, 0, 2}, - {"clkpai", NULL, 32, -1, NULL, 0, 2}, - {"snksit", NULL, 32, -1, NULL, 0, 2}, - {"snkatk", NULL, 32, -1, NULL, 0, 2}, - {"snkdth", NULL, 80, -1, NULL, 0, 2}, - {"snkact", NULL, 20, -1, NULL, 0, 2}, - {"snkpai", NULL, 32, -1, NULL, 0, 2}, - {"kgtsit", NULL, 32, -1, NULL, 0, 2}, - {"kgtatk", NULL, 32, -1, NULL, 0, 2}, - {"kgtat2", NULL, 32, -1, NULL, 0, 2}, - {"kgtdth", NULL, 80, -1, NULL, 0, 2}, - {"-kgtact", &S_sfx[sfx_kgtsit], 20, -1, NULL, 0, 2}, - {"kgtpai", NULL, 32, -1, NULL, 0, 2}, - {"wizsit", NULL, 32, -1, NULL, 0, 2}, - {"wizatk", NULL, 32, -1, NULL, 0, 2}, - {"wizdth", NULL, 80, -1, NULL, 0, 2}, - {"wizact", NULL, 20, -1, NULL, 0, 2}, - {"wizpai", NULL, 32, -1, NULL, 0, 2}, - {"minsit", NULL, 32, -1, NULL, 0, 2}, - {"minat1", NULL, 32, -1, NULL, 0, 2}, - {"minat2", NULL, 32, -1, NULL, 0, 2}, - {"minat3", NULL, 32, -1, NULL, 0, 2}, - {"mindth", NULL, 80, -1, NULL, 0, 2}, - {"minact", NULL, 20, -1, NULL, 0, 2}, - {"minpai", NULL, 32, -1, NULL, 0, 2}, - {"hedsit", NULL, 32, -1, NULL, 0, 2}, - {"hedat1", NULL, 32, -1, NULL, 0, 2}, - {"hedat2", NULL, 32, -1, NULL, 0, 2}, - {"hedat3", NULL, 32, -1, NULL, 0, 2}, - {"heddth", NULL, 80, -1, NULL, 0, 2}, - {"hedact", NULL, 20, -1, NULL, 0, 2}, - {"hedpai", NULL, 32, -1, NULL, 0, 2}, - {"sorzap", NULL, 32, -1, NULL, 0, 2}, - {"sorrise", NULL, 32, -1, NULL, 0, 2}, - {"sorsit", NULL, 200, -1, NULL, 0, 2}, - {"soratk", NULL, 32, -1, NULL, 0, 2}, - {"soract", NULL, 200, -1, NULL, 0, 2}, - {"sorpai", NULL, 200, -1, NULL, 0, 2}, - {"sordsph", NULL, 200, -1, NULL, 0, 2}, - {"sordexp", NULL, 200, -1, NULL, 0, 2}, - {"sordbon", NULL, 200, -1, NULL, 0, 2}, - {"-sbtsit", &S_sfx[sfx_bstsit], 32, -1, NULL, 0, 2}, - {"-sbtatk", &S_sfx[sfx_bstatk], 32, -1, NULL, 0, 2}, - {"sbtdth", NULL, 80, -1, NULL, 0, 2}, - {"sbtact", NULL, 20, -1, NULL, 0, 2}, - {"sbtpai", NULL, 32, -1, NULL, 0, 2}, - {"plroof", NULL, 32, -1, NULL, 0, 2}, - {"plrpai", NULL, 32, -1, NULL, 0, 2}, - {"plrdth", NULL, 80, -1, NULL, 0, 2}, - {"gibdth", NULL, 100, -1, NULL, 0, 2}, - {"plrwdth", NULL, 80, -1, NULL, 0, 2}, - {"plrcdth", NULL, 100, -1, NULL, 0, 2}, - {"itemup", NULL, 32, -1, NULL, 0, 2}, - {"wpnup", NULL, 32, -1, NULL, 0, 2}, - {"telept", NULL, 50, -1, NULL, 0, 2}, - {"doropn", NULL, 40, -1, NULL, 0, 2}, - {"dorcls", NULL, 40, -1, NULL, 0, 2}, - {"dormov", NULL, 40, -1, NULL, 0, 2}, - {"artiup", NULL, 32, -1, NULL, 0, 2}, - {"switch", NULL, 40, -1, NULL, 0, 2}, - {"pstart", NULL, 40, -1, NULL, 0, 2}, - {"pstop", NULL, 40, -1, NULL, 0, 2}, - {"stnmov", NULL, 40, -1, NULL, 0, 2}, - {"chicpai", NULL, 32, -1, NULL, 0, 2}, - {"chicatk", NULL, 32, -1, NULL, 0, 2}, - {"chicdth", NULL, 40, -1, NULL, 0, 2}, - {"chicact", NULL, 32, -1, NULL, 0, 2}, - {"chicpk1", NULL, 32, -1, NULL, 0, 2}, - {"chicpk2", NULL, 32, -1, NULL, 0, 2}, - {"chicpk3", NULL, 32, -1, NULL, 0, 2}, - {"keyup", NULL, 50, -1, NULL, 0, 2}, - {"ripslop", NULL, 16, -1, NULL, 0, 2}, - {"newpod", NULL, 16, -1, NULL, 0, -1}, - {"podexp", NULL, 40, -1, NULL, 0, -1}, - {"bounce", NULL, 16, -1, NULL, 0, 2}, - {"-volsht", &S_sfx[sfx_bstatk], 16, -1, NULL, 0, 2}, - {"-volhit", &S_sfx[sfx_lobhit], 16, -1, NULL, 0, 2}, - {"burn", NULL, 10, -1, NULL, 0, 2}, - {"splash", NULL, 10, -1, NULL, 0, 1}, - {"gloop", NULL, 10, -1, NULL, 0, 2}, - {"respawn", NULL, 10, -1, NULL, 0, 1}, - {"blssht", NULL, 32, -1, NULL, 0, 2}, - {"blshit", NULL, 32, -1, NULL, 0, 2}, - {"chat", NULL, 100, -1, NULL, 0, 1}, - {"artiuse", NULL, 32, -1, NULL, 0, 1}, - {"gfrag", NULL, 100, -1, NULL, 0, 1}, - {"waterfl", NULL, 16, -1, NULL, 0, 2}, + SOUND("", 0, 0), + SOUND("gldhit", 32, 2), + SOUND("gntful", 32, -1), + SOUND("gnthit", 32, -1), + SOUND("gntpow", 32, -1), + SOUND("gntact", 32, -1), + SOUND("gntuse", 32, -1), + SOUND("phosht", 32, 2), + SOUND("phohit", 32, -1), + SOUND_LINK("-phopow", sfx_hedat1, 32, 1), + SOUND("lobsht", 20, 2), + SOUND("lobhit", 20, 2), + SOUND("lobpow", 20, 2), + SOUND("hrnsht", 32, 2), + SOUND("hrnhit", 32, 2), + SOUND("hrnpow", 32, 2), + SOUND("ramphit", 32, 2), + SOUND("ramrain", 10, 2), + SOUND("bowsht", 32, 2), + SOUND("stfhit", 32, 2), + SOUND("stfpow", 32, 2), + SOUND("stfcrk", 32, 2), + SOUND("impsit", 32, 2), + SOUND("impat1", 32, 2), + SOUND("impat2", 32, 2), + SOUND("impdth", 80, 2), + SOUND_LINK("-impact", sfx_impsit, 20, 2), + SOUND("imppai", 32, 2), + SOUND("mumsit", 32, 2), + SOUND("mumat1", 32, 2), + SOUND("mumat2", 32, 2), + SOUND("mumdth", 80, 2), + SOUND_LINK("-mumact", sfx_mumsit, 20, 2), + SOUND("mumpai", 32, 2), + SOUND("mumhed", 32, 2), + SOUND("bstsit", 32, 2), + SOUND("bstatk", 32, 2), + SOUND("bstdth", 80, 2), + SOUND("bstact", 20, 2), + SOUND("bstpai", 32, 2), + SOUND("clksit", 32, 2), + SOUND("clkatk", 32, 2), + SOUND("clkdth", 80, 2), + SOUND("clkact", 20, 2), + SOUND("clkpai", 32, 2), + SOUND("snksit", 32, 2), + SOUND("snkatk", 32, 2), + SOUND("snkdth", 80, 2), + SOUND("snkact", 20, 2), + SOUND("snkpai", 32, 2), + SOUND("kgtsit", 32, 2), + SOUND("kgtatk", 32, 2), + SOUND("kgtat2", 32, 2), + SOUND("kgtdth", 80, 2), + SOUND_LINK("-kgtact", sfx_kgtsit, 20, 2), + SOUND("kgtpai", 32, 2), + SOUND("wizsit", 32, 2), + SOUND("wizatk", 32, 2), + SOUND("wizdth", 80, 2), + SOUND("wizact", 20, 2), + SOUND("wizpai", 32, 2), + SOUND("minsit", 32, 2), + SOUND("minat1", 32, 2), + SOUND("minat2", 32, 2), + SOUND("minat3", 32, 2), + SOUND("mindth", 80, 2), + SOUND("minact", 20, 2), + SOUND("minpai", 32, 2), + SOUND("hedsit", 32, 2), + SOUND("hedat1", 32, 2), + SOUND("hedat2", 32, 2), + SOUND("hedat3", 32, 2), + SOUND("heddth", 80, 2), + SOUND("hedact", 20, 2), + SOUND("hedpai", 32, 2), + SOUND("sorzap", 32, 2), + SOUND("sorrise", 32, 2), + SOUND("sorsit", 200, 2), + SOUND("soratk", 32, 2), + SOUND("soract", 200, 2), + SOUND("sorpai", 200, 2), + SOUND("sordsph", 200, 2), + SOUND("sordexp", 200, 2), + SOUND("sordbon", 200, 2), + SOUND_LINK("-sbtsit", sfx_bstsit, 32, 2), + SOUND_LINK("-sbtatk", sfx_bstatk, 32, 2), + SOUND("sbtdth", 80, 2), + SOUND("sbtact", 20, 2), + SOUND("sbtpai", 32, 2), + SOUND("plroof", 32, 2), + SOUND("plrpai", 32, 2), + SOUND("plrdth", 80, 2), + SOUND("gibdth", 100, 2), + SOUND("plrwdth", 80, 2), + SOUND("plrcdth", 100, 2), + SOUND("itemup", 32, 2), + SOUND("wpnup", 32, 2), + SOUND("telept", 50, 2), + SOUND("doropn", 40, 2), + SOUND("dorcls", 40, 2), + SOUND("dormov", 40, 2), + SOUND("artiup", 32, 2), + SOUND("switch", 40, 2), + SOUND("pstart", 40, 2), + SOUND("pstop", 40, 2), + SOUND("stnmov", 40, 2), + SOUND("chicpai", 32, 2), + SOUND("chicatk", 32, 2), + SOUND("chicdth", 40, 2), + SOUND("chicact", 32, 2), + SOUND("chicpk1", 32, 2), + SOUND("chicpk2", 32, 2), + SOUND("chicpk3", 32, 2), + SOUND("keyup", 50, 2), + SOUND("ripslop", 16, 2), + SOUND("newpod", 16, -1), + SOUND("podexp", 40, -1), + SOUND("bounce", 16, 2), + SOUND_LINK("-volsht", sfx_bstatk, 16, 2), + SOUND_LINK("-volhit", sfx_lobhit, 16, 2), + SOUND("burn", 10, 2), + SOUND("splash", 10, 1), + SOUND("gloop", 10, 2), + SOUND("respawn", 10, 1), + SOUND("blssht", 32, 2), + SOUND("blshit", 32, 2), + SOUND("chat", 100, 1), + SOUND("artiuse", 32, 1), + SOUND("gfrag", 100, 1), + SOUND("waterfl", 16, 2), // Monophonic sounds - {"wind", NULL, 16, -1, NULL, 0, 1}, - {"amb1", NULL, 1, -1, NULL, 0, 1}, - {"amb2", NULL, 1, -1, NULL, 0, 1}, - {"amb3", NULL, 1, -1, NULL, 0, 1}, - {"amb4", NULL, 1, -1, NULL, 0, 1}, - {"amb5", NULL, 1, -1, NULL, 0, 1}, - {"amb6", NULL, 1, -1, NULL, 0, 1}, - {"amb7", NULL, 1, -1, NULL, 0, 1}, - {"amb8", NULL, 1, -1, NULL, 0, 1}, - {"amb9", NULL, 1, -1, NULL, 0, 1}, - {"amb10", NULL, 1, -1, NULL, 0, 1}, - {"amb11", NULL, 1, -1, NULL, 0, 0} + SOUND("wind", 16, 1), + SOUND("amb1", 1, 1), + SOUND("amb2", 1, 1), + SOUND("amb3", 1, 1), + SOUND("amb4", 1, 1), + SOUND("amb5", 1, 1), + SOUND("amb6", 1, 1), + SOUND("amb7", 1, 1), + SOUND("amb8", 1, 1), + SOUND("amb9", 1, 1), + SOUND("amb10", 1, 1), + SOUND("amb11", 1, 0) }; -- cgit v1.2.3