//------------------------------------------------------------------------- /* Copyright (C) 1997, 2005 - 3D Realms Entertainment This file is part of Shadow Warrior version 1.2 Shadow Warrior 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. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Original Source: 1997 - Frank Maddin and Jim Norwood Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms */ //------------------------------------------------------------------------- #ifdef AMBIENT_TABLE #define AMB_ENTRY(name, diginame, ambient_flags, maxtics) {name, diginame, ambient_flags, maxtics}, #endif #ifdef AMBIENT_ENUM #define AMB_ENTRY(name, diginame, ambient_flags, maxtics) name, #endif // Ambient Flags, flags can be added whenever needed, up to 16 bits #define AMB_NONE 0 #define AMB_FOLLOW 1 // 1 = Do coordinate updates on sound // Use this only if the sprite won't be deleted soon #define AMB_DOPPLER 4 // 1 = Don't use doppler pitch variance #define AMB_PAN 8 // 1 = Don't do panning of sound #define AMB_INTERMIT 32 // 1 = This is a non-looping intermittant sound // Tic counts used for intermittent sounds #define AMB_TICRATE 12 // 120/10 since it's only called 10x per second #define AMB_NOTICS 0 #define AMB_5 5 *AMB_TICRATE #define AMB_10 10*AMB_TICRATE // AMB_TICRATE is the game's tic rate #define AMB_15 15*AMB_TICRATE #define AMB_20 20*AMB_TICRATE #define AMB_30 30*AMB_TICRATE #define AMB_45 45*AMB_TICRATE #define AMB_60 60*AMB_TICRATE #define AMB_120 120*AMB_TICRATE // BUBBLES AMB_ENTRY(0, DIGI_BUBBLES, AMB_PAN, AMB_NOTICS) // CRICKETS AMB_ENTRY(1, DIGI_CRICKETS, AMB_PAN, AMB_NOTICS) // AMBIENT WATER DRIPPING IN CAVE AMB_ENTRY(2, DIGI_CAVEDRIP1, AMB_NONE, AMB_NOTICS) AMB_ENTRY(3, DIGI_CAVEDRIP2, AMB_INTERMIT, AMB_10) AMB_ENTRY(4, DIGI_DRIP, AMB_PAN|AMB_INTERMIT, AMB_20) // WATER FALL AMB_ENTRY(5, DIGI_WATERFALL1, AMB_NONE, AMB_NOTICS) AMB_ENTRY(6, DIGI_WATERFALL2, AMB_NONE, AMB_NOTICS) // WATER FLOWING AMB_ENTRY(7, DIGI_WATERFLOW1, AMB_NONE, AMB_NOTICS) AMB_ENTRY(8, DIGI_WATERFLOW2, AMB_NONE, AMB_NOTICS) // CRACKLING FIRE FOR CONTINUOUS BURN AMB_ENTRY(9, DIGI_FIRE1, AMB_NONE, AMB_NOTICS) // POWERFULL HIGH HEAT CONTINUOUS BURN AMB_ENTRY(10, DIGI_FIRE2, AMB_NONE, AMB_NOTICS) // AMBIENT GONG FOR USE IN TEMPLE/PALACE LEVELS AMB_ENTRY(11, DIGI_GONG, AMB_INTERMIT, AMB_120) // AMBIENT LAVA FLOW AMB_ENTRY(12, DIGI_LAVAFLOW1, AMB_NONE, AMB_NOTICS) // AMBIENT MUD BUBBLES AMB_ENTRY(13, DIGI_MUBBUBBLES1, AMB_NONE, AMB_NOTICS) // AMBIENT EARTH QUAKE AMB_ENTRY(14, DIGI_EARTHQUAKE, AMB_NONE, AMB_NOTICS) // YUCKY SEWER FLOW AMB_ENTRY(15, DIGI_SEWERFLOW1, AMB_NONE, AMB_NOTICS) // STEAM FLOW AMB_ENTRY(16, DIGI_STEAM1, AMB_NONE, AMB_NOTICS) // VOLCANIC STEAM VENT AMB_ENTRY(17, DIGI_VOLCANOSTEAM1, AMB_NONE, AMB_NOTICS) // SCARY AMBIENT SWAMP SOUNDS AMB_ENTRY(18, DIGI_SWAMP, AMB_NONE, AMB_NOTICS) // AMBIENT ROLLING THUNDER AMB_ENTRY(19, DIGI_THUNDER, AMB_PAN|AMB_INTERMIT, AMB_60) // UNDERWATER AMBIENCE AMB_ENTRY(20, DIGI_UNDERWATER, AMB_PAN, AMB_NOTICS) // SPOOKY ETHERAL void AMBIENCE (NETHERWORLDLY SOUNDS) AMB_ENTRY(21, DIGI_VOID1, AMB_NONE, AMB_NOTICS) AMB_ENTRY(22, DIGI_VOID2, AMB_NONE, AMB_NOTICS) AMB_ENTRY(23, DIGI_VOID3, AMB_NONE, AMB_NOTICS) AMB_ENTRY(24, DIGI_VOID4, AMB_NONE, AMB_NOTICS) AMB_ENTRY(25, DIGI_VOID5, AMB_NONE, AMB_NOTICS) // VOLCANIC ERUPTION AMB_ENTRY(26, DIGI_ERUPTION, AMB_NONE, AMB_NOTICS) // VOLCANIC SIZZLING PROJECTILES FLYING THROUGH AIR AMB_ENTRY(27, DIGI_VOLCANOPROJECTILE, AMB_NONE, AMB_NOTICS) // LIGHT WIND AMBIENCE AMB_ENTRY(28, DIGI_LIGHTWIND, AMB_NONE, AMB_NOTICS) // STRONG BLOWING WIND AMBIENCE AMB_ENTRY(29, DIGI_STRONGWIND, AMB_PAN|AMB_INTERMIT, AMB_20) // BREAKING WOOD AMBIENCE AMB_ENTRY(30, DIGI_BREAKINGWOOD, AMB_INTERMIT, AMB_120) // BREAKING, TUMBLING STONES FALLING AMBIENCE AMB_ENTRY(31, DIGI_BREAKSTONES, AMB_NONE, AMB_NOTICS) // MOTOR BOAT AMB_ENTRY(32, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(33, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(34, DIGI_nullptr, AMB_NONE, AMB_NOTICS) // WWII JAP ARMY TANK AMB_ENTRY(35, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(36, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(37, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(38, DIGI_nullptr, AMB_NONE, AMB_NOTICS) AMB_ENTRY(39, DIGI_nullptr, AMB_NONE, AMB_NOTICS) // WWII JAP BOMBER PLANE AMB_ENTRY(40, DIGI_BOMBRFLYING, AMB_NONE, AMB_NOTICS) AMB_ENTRY(41, DIGI_BOMBRDROPBOMB, AMB_NONE, AMB_NOTICS) // GIANT DRILL MACHINE AMB_ENTRY(42, DIGI_DRILL, AMB_NONE, AMB_NOTICS) // SECTOR GEAR COG TURNING AMB_ENTRY(43, DIGI_GEAR1, AMB_NONE, AMB_NOTICS) // GENERIC SECTOR OBJECT MACHINE RUNNING AMB_ENTRY(44, DIGI_MACHINE1, AMB_NONE, AMB_NOTICS) // ENGINE ROOM AMB_ENTRY(45, DIGI_ENGROOM1, AMB_NONE, AMB_NOTICS) AMB_ENTRY(46, DIGI_ENGROOM2, AMB_NONE, AMB_NOTICS) AMB_ENTRY(47, DIGI_ENGROOM3, AMB_NONE, AMB_NOTICS) AMB_ENTRY(48, DIGI_ENGROOM4, AMB_NONE, AMB_NOTICS) AMB_ENTRY(49, DIGI_ENGROOM5, AMB_NONE, AMB_NOTICS) // HELICOPTER, SPINNING BLADE SOUND AMB_ENTRY(50, DIGI_HELI, AMB_NONE, AMB_NOTICS) // ECHOING HEART AMB_ENTRY(51, DIGI_BIGHART, AMB_NONE, AMB_NOTICS) // ETHERAL WIND AMB_ENTRY(52, DIGI_WIND4, AMB_NONE, AMB_NOTICS) // SPOOKY SINE WAVE AMB_ENTRY(53, DIGI_SPOOKY1, AMB_NONE, AMB_NOTICS) // JET ENGINE AMB_ENTRY(54, DIGI_JET, AMB_NONE, AMB_NOTICS) // CEREMONIAL DRUM CHANT AMB_ENTRY(55, DIGI_DRUMCHANT, AMB_NONE, AMB_NOTICS) AMB_ENTRY(56, DIGI_ASIREN1, AMB_INTERMIT, AMB_45) AMB_ENTRY(57, DIGI_FIRETRK1, AMB_INTERMIT, AMB_60) AMB_ENTRY(58, DIGI_TRAFFIC1, AMB_INTERMIT, AMB_60) AMB_ENTRY(59, DIGI_TRAFFIC2, AMB_INTERMIT, AMB_60) AMB_ENTRY(60, DIGI_TRAFFIC3, AMB_INTERMIT, AMB_60) AMB_ENTRY(61, DIGI_TRAFFIC4, AMB_INTERMIT, AMB_60) AMB_ENTRY(62, DIGI_TRAFFIC5, AMB_INTERMIT, AMB_30) AMB_ENTRY(63, DIGI_TRAFFIC6, AMB_INTERMIT, AMB_60) AMB_ENTRY(64, DIGI_HELI1, AMB_INTERMIT, AMB_120) AMB_ENTRY(65, DIGI_JET1, AMB_INTERMIT, AMB_120) AMB_ENTRY(66, DIGI_MOTO1, AMB_INTERMIT, AMB_45) AMB_ENTRY(67, DIGI_MOTO2, AMB_INTERMIT, AMB_60) AMB_ENTRY(68, DIGI_NEON1, AMB_INTERMIT, AMB_5) AMB_ENTRY(69, DIGI_SUBWAY, AMB_INTERMIT, AMB_30) AMB_ENTRY(70, DIGI_TRAIN1, AMB_INTERMIT, AMB_120) AMB_ENTRY(71, DIGI_BIRDS1, AMB_INTERMIT, AMB_10) AMB_ENTRY(72, DIGI_BIRDS2, AMB_INTERMIT, AMB_10) AMB_ENTRY(73, DIGI_AMOEBA, AMB_NONE, AMB_NOTICS) AMB_ENTRY(74, DIGI_TRAIN3, AMB_INTERMIT, AMB_120) AMB_ENTRY(75, DIGI_TRAIN8, AMB_INTERMIT, AMB_120) AMB_ENTRY(76, DIGI_WHIPME, AMB_NONE, AMB_NOTICS) AMB_ENTRY(77, DIGI_FLAGWAVE, AMB_NONE, AMB_NOTICS) AMB_ENTRY(78, DIGI_ANIMECRY, AMB_NONE, AMB_NOTICS) AMB_ENTRY(79, DIGI_WINDCHIMES, AMB_INTERMIT, AMB_10) AMB_ENTRY(80, DIGI_BOATCREAK, AMB_INTERMIT, AMB_10) AMB_ENTRY(81, DIGI_SHIPBELL, AMB_INTERMIT, AMB_30) AMB_ENTRY(82, DIGI_FOGHORN, AMB_INTERMIT, AMB_120) #undef AMB_ENTRY