This patch converts #defines into an enum,
adds doxygen comments taken from the wiki
and fixes identation and spacing.
Index: code/gamesnd/gamesnd.h
===================================================================
--- code/gamesnd/gamesnd.h (Revision 7921)
+++ code/gamesnd/gamesnd.h (Arbeitskopie)
@@ -37,242 +37,311 @@
// this is a callback, so it needs to be a real function
void common_play_highlight_sound();
-
-// match original values by default, grow from this
-#define MIN_GAME_SOUNDS 202
-#define MIN_INTERFACE_SOUNDS 70
-
extern SCP_vector<game_snd> Snds;
extern SCP_vector<game_snd> Snds_iface;
+/**
+ * symbolic names for misc. game sounds.
+ *
+ * The order here must match the order in sounds.tbl
+ *
+ * INSTRUCTIONS FOR ADDING A NEW SOUND:
+ * Add interface (ie non-gameplay) sounds to the end of the interface list of sounds.
+ * Add gameplay sounds to the correct portion of the gameplay sounds section (ie Misc, Weapons, or Ship).
+ *
+ * Then add a symbolic name to the appropriate position in the enum below
+ * and add an entry to sounds.tbl. If there is no .wav file for the sound yet, specify sound_hook.wav in sounds.tbl.
+ */
+enum GameSoundsIndex {
+ SND_MISSILE_TRACKING = 0, //!< Missle tracking to acquire a lock (looped)
+ SND_MISSILE_LOCK = 1, //!< Missle lock (non-looping)
+ SND_PRIMARY_CYCLE = 2, //!< cycle primary weapon
+ SND_SECONDARY_CYCLE = 3, //!< cycle secondary weapon
+ SND_ENGINE = 4, //!< engine sound (as heard in cockpit)
+ SND_CARGO_REVEAL = 5, //!< cargo revealed
+ SND_DEATH_ROLL = 6, //!< ship death roll
+ SND_SHIP_EXPLODE_1 = 7, //!< ship explosion 1
+ SND_TARGET_ACQUIRE = 8, //!< target acquried
+ SND_ENERGY_ADJUST = 9, //!< energy level change success
+ SND_ENERGY_ADJUST_FAIL = 10, //!< energy level change fail
+ SND_ENERGY_TRANS = 11, //!< energy transfer success
+ SND_ENERGY_TRANS_FAIL = 12, //!< energy transfer fail
+ SND_FULL_THROTTLE = 13, //!< set full throttle
+ SND_ZERO_THROTTLE = 14, //!< set zero throttle
+ SND_THROTTLE_UP = 15, //!< set 1/3 or 2/3 throttle (up)
+ SND_THROTTLE_DOWN = 16, //!< set 1/3 or 2/3 throttle (down)
+ SND_DOCK_APPROACH = 17, //!< dock approach retros
+ SND_DOCK_ATTACH = 18, //!< dock attach
+ SND_DOCK_DETACH = 19, //!< dock detach
+ SND_DOCK_DEPART = 20, //!< dock depart retros
+ SND_ABURN_ENGAGE = 21, //!< afterburner engage
+ SND_ABURN_LOOP = 22, //!< afterburner burn sound (looped)
+ SND_VAPORIZED = 23, //!< Destroyed by a beam (vaporized)
+ SND_ABURN_FAIL = 24, //!< afterburner fail (no fuel when aburn pressed)
+ SND_HEATLOCK_WARN = 25, //!< heat-seeker launch warning
+ SND_OUT_OF_MISSLES = 26, //!< tried to fire a missle when none are left
+ SND_OUT_OF_WEAPON_ENERGY = 27, //!< tried to fire lasers when not enough energy left
+ SND_TARGET_FAIL = 28, //!< target fail sound (i.e. press targeting key, but nothing happens)
+ SND_SQUADMSGING_ON = 29, //!< squadmate message menu appears
+ SND_SQUADMSGING_OFF = 30, //!< squadmate message menu disappears
+ SND_DEBRIS = 31, //!< debris sound (persistant, looping)
+ SND_SUBSYS_DIE_1 = 32, //!< subsystem gets destroyed on player ship
+ SND_MISSILE_START_LOAD = 33, //!< missle start load (during rearm/repair)
+ SND_MISSILE_LOAD = 34, //!< missle load (during rearm/repair)
+ SND_SHIP_REPAIR = 35, //!< ship is being repaired (during rearm/repair)
+ SND_PLAYER_HIT_LASER = 36, //!< player ship is hit by laser fire
+ SND_PLAYER_HIT_MISSILE = 37, //!< player ship is hit by missile
+ SND_CMEASURE_CYCLE = 38, //!< countermeasure cycle
+ SND_SHIELD_HIT = 39, //!< shield hit
+ SND_SHIELD_HIT_YOU = 40, //!< player shield is hit
+ SND_GAME_MOUSE_CLICK = 41, //!< mouse click
+ SND_ASPECTLOCK_WARN = 42, //!< aspect launch warning
+ SND_SHIELD_XFER_OK = 43, //!< shield quadrant transfer successful
+ SND_ENGINE_WASH = 44, //!< Engine wash (looped)
+ SND_WARP_IN = 45, //!< warp hole opening up for arriving
+ SND_WARP_OUT = 46, //!< warp hole opening up for departing (Same as warp in for now)
+ SND_PLAYER_WARP_FAIL = 47, //!< player warp has failed
+ SND_STATIC = 48, //!< hud gauge static
+ SND_SHIP_EXPLODE_2 = 49, //!< ship explosion 2
+ SND_PLAYER_WARP_OUT = 50, //!< ship is warping out in 3rd person
+ SND_SHIP_SHIP_HEAVY = 51, //!< heavy ship-ship collide sound
+ SND_SHIP_SHIP_LIGHT = 52, //!< light ship-ship collide sound
+ SND_SHIP_SHIP_SHIELD = 53, //!< shield ship-ship collide overlay sound
+ SND_THREAT_FLASH = 54, //!< missile threat indicator flashes
+ SND_PROXIMITY_WARNING = 55, //!< proximity warning (heat seeker)
+ SND_PROXIMITY_ASPECT_WARNING = 56, //!< proximity warning (aspect)
+ SND_DIRECTIVE_COMPLETE = 57, //!< directive complete
+ SND_SUBSYS_EXPLODE = 58, //!< other ship subsystem destroyed
+ SND_CAPSHIP_EXPLODE = 59, //!< captial ship explosion
+ SND_CAPSHIP_SUBSYS_EXPLODE = 60, //!< captial ship subsystem destroyed
+ SND_LARGESHIP_WARPOUT = 61, //!< large ship warps out
+ SND_ASTEROID_EXPLODE_LARGE = 62, //!< large asteroid blows up
+ SND_ASTEROID_EXPLODE_SMALL = 63, //!< small asteroid blows up
+ SND_CUE_VOICE = 64, //!< sound to indicate voice is about to start
+ SND_END_VOICE = 65, //!< sound to indicate voice has ended
+ SND_CARGO_SCAN = 66, //!< cargo scanning (looped)
+ SND_WEAPON_FLYBY = 67, //!< weapon flyby sound
+ SND_ASTEROID = 68, //!< asteroid sound (persistant, looped)
+ SND_CAPITAL_WARP_IN = 69, //!< capital warp hole opening
+ SND_CAPITAL_WARP_OUT = 70, //!< capital warp hole closing
+ SND_ENGINE_LOOP_LARGE = 71, //!< LARGE engine ambient
+ SND_SUBSPACE_LEFT_CHANNEL = 72, //!< subspace ambient sound (left channel) (looped)
+ SND_SUBSPACE_RIGHT_CHANNEL = 73, //!< subspace ambient sound (right channel) (looped)
+ SND_MISSILE_EVADED_POPUP = 74, //!< "evaded" HUD popup
+ SND_ENGINE_LOOP_HUGE = 75, //!< HUGE engine ambient
+ //Weapons section
+ SND_LIGHT_LASER_FIRE = 76, //!< SD-4 Sidearm laser fired
+ SND_LIGHT_LASER_IMPACT = 77, //!< DR-2 Scalpel fired
+ SND_HVY_LASER_FIRE = 78, //!< Flail II fired
+ SND_HVY_LASER_IMPACT = 79, //!< Prometheus R laser fired
+ SND_MASSDRV_FIRED = 80, //!< Prometheus S laser fired
+ SND_MASSDRV_IMPACT = 81, //!< GTW-66 Newton Cannon fired
+ SND_FLAIL_FIRED = 82, //!< UD-8 Kayser Laser fired
+ SND_FLAIL_IMPACT = 83, //!< GTW-19 Circe laser fired
+ SND_NEUTRON_FLUX_FIRED = 84, //!< GTW-83 Lich laser fired
+ SND_NEUTRON_FLUX_IMPACT = 85, //!< Laser impact
+ SND_DEBUG_LASER_FIRED = 86, //!< Subach-HLV Vasudan laser
+ SND_ROCKEYE_FIRED = 87, //!< rockeye missile launch
+ SND_MISSILE_IMPACT1 = 88, //!< missile impact 1
+ SND_MAG_MISSILE_LAUNCH = 89, //!< mag pulse missile launch
+ SND_FURY_MISSILE_LAUNCH = 90, //!< fury missile launch
+ SND_SHRIKE_MISSILE_LAUNCH = 91, //!< shrike missile launch
+ SND_ANGEL_MISSILE_LAUNCH = 92, //!< angel fire missile launch
+ SND_CLUSTER_MISSILE_LAUNCH = 93, //!< cluster bomb launch
+ SND_CLUSTERB_MISSILE_LAUNCH = 94, //!< cluster baby bomb launch
+ SND_STILETTO_MISSILE_LAUNCH = 95, //!< stiletto bomb launch
+ SND_TSUNAMI_MISSILE_LAUNCH = 96, //!< tsunami bomb launch
+ SND_HARBINGER_MISSILE_LAUNCH = 97, //!< harbinger bomb launch
+ SND_MEGAWOKKA_MISSILE_LAUNCH = 98, //!< mega wokka launch
+ SND_CMEASURE1_LAUNCH = 99, //!< countermeasure 1 launch
+ SND_SHIVAN_LIGHT_LASER_FIRE = 100,//!< Shivan light laser
+ SND_SHOCKWAVE_EXPLODE = 101,//!< shockwave ignition
+ SND_SWARM_MISSILE_LAUNCH = 102,//!< swarm missile sound
+ SND_UNDEFINED_103 = 103,//!< Shivan heavy laser
+ SND_UNDEFINED_104 = 104,//!< Vasudan SuperCap engine
+ SND_UNDEFINED_105 = 105,//!< Shivan SuperCap engine
+ SND_UNDEFINED_106 = 106,//!< Terran SuperCap engine
+ SND_UNDEFINED_107 = 107,//!< Vasudan light laser fired
+ SND_UNDEFINED_108 = 108,//!< Shivan heavy laser
+ SND_SHOCKWAVE_IMPACT = 109,//!< shockwave impact
+ SND_UNDEFINED_110 = 110,//!< TERRAN TURRET 1
+ SND_UNDEFINED_111 = 111,//!< TERRAN TURRET 2
+ SND_UNDEFINED_112 = 112,//!< VASUDAN TURRET 1
+ SND_UNDEFINED_113 = 113,//!< VASUDAN TURRET 2
+ SND_UNDEFINED_114 = 114,//!< SHIVAN TURRET 1
+ SND_TARG_LASER_LOOP = 115,//!< targeting laser loop sound
+ SND_FLAK_FIRE = 116,//!< Flak Gun Launch
+ SND_SHIELD_BREAKER = 117,//!< Flak Gun Impact
+ SND_EMP_MISSILE = 118,//!< EMP Missle
+ SND_AUTOCANNON_LOOP = 119,//!< Escape Pod Drone
+ SND_AUTOCANNON_SHOT = 120,//!< Beam Hit 1
+ SND_BEAM_LOOP = 121,//!< beam loop
+ SND_BEAM_UP = 122,//!< beam power up
+ SND_BEAM_DOWN = 123,//!< beam power down
+ SND_BEAM_SHOT = 124,//!< Beam shot 1
+ SND_BEAM_VAPORIZE = 125,//!< Beam shot 2
+ //Ship Engine Sounds section
+ SND_TERRAN_FIGHTER_ENG = 126,//!< Terran fighter engine
+ SND_TERRAN_BOMBER_ENG = 127,//!< Terran bomber engine
+ SND_TERRAN_CAPITAL_ENG = 128,//!< Terran cruiser engine
+ SND_SPECIESB_FIGHTER_ENG = 129,//!< Vasudan fighter engine
+ SND_SPECIESB_BOMBER_ENG = 130,//!< Vasudan bomber engine
+ SND_SPECIESB_CAPITAL_ENG = 131,//!< Vasudan cruiser engine
+ SND_SHIVAN_FIGHTER_ENG = 132,//!< Shivan fighter engine
+ SND_SHIVAN_BOMBER_ENG = 133,//!< Shivan bomber engine
+ SND_SHIVAN_CAPITAL_ENG = 134,//!< Shivan cruiser engine
+ SND_REPAIR_SHIP_ENG = 135,//!< Repair ship beacon/engine sound
+ SND_UNDEFINED_136 = 136,//!< Terran capital engine
+ SND_UNDEFINED_137 = 137,//!< Vasudan capital engine
+ SND_UNDEFINED_138 = 138,//!< Shivan capital engine
+ // Electrical arc sound fx on the debris pieces
+ SND_DEBRIS_ARC_01 = 139,//!< 0.10 second spark sound effect
+ SND_DEBRIS_ARC_02 = 140,//!< 0.25 second spark sound effect
+ SND_DEBRIS_ARC_03 = 141,//!< 0.50 second spark sound effect
+ SND_DEBRIS_ARC_04 = 142,//!< 0.75 second spark sound effect
+ SND_DEBRIS_ARC_05 = 143,//!< 1.00 second spark sound effect
+ // Beam Sounds
+ SND_UNDEFINED_144 = 144,//!< LTerSlash beam loop
+ SND_UNDEFINED_145 = 145,//!< TerSlash beam loop
+ SND_UNDEFINED_146 = 146,//!< SGreen beam loop
+ SND_UNDEFINED_147 = 147,//!< BGreen beem loop
+ SND_UNDEFINED_148 = 148,//!< BFGreen been loop
+ SND_UNDEFINED_149 = 149,//!< Antifighter beam loop
+ SND_UNDEFINED_150 = 150,//!< 1 sec warm up
+ SND_UNDEFINED_151 = 151,//!< 1.5 sec warm up
+ SND_UNDEFINED_152 = 152,//!< 2.5 sec warm up
+ SND_UNDEFINED_153 = 153,//!< 3 sec warm up
+ SND_UNDEFINED_154 = 154,//!< 3.5 sec warm up
+ SND_UNDEFINED_155 = 155,//!< 5 sec warm up
+ SND_UNDEFINED_156 = 156,//!< LTerSlash warm down
+ SND_UNDEFINED_157 = 157,//!< TerSlash warm down
+ SND_UNDEFINED_158 = 158,//!< SGreen warm down
+ SND_UNDEFINED_159 = 159,//!< BGreen warm down
+ SND_UNDEFINED_160 = 160,//!< BFGreen warm down
+ SND_UNDEFINED_161 = 161,//!< T_AntiFtr warm down
-// symbolic names for misc. game sounds. The order here must match the order in
-// sounds.tbl
-//
-// INSTRUCTIONS FOR ADDING A NEW SOUND:
-//
-// Add interface (ie non-gameplay) sounds to the end of the interface list of sounds.
-// Add gameplay sounds to the correct portion of the gameplay sounds section (ie Misc,
-// Weapons, or Ship).
-//
-// Then add a symbolic name to the appropriate position in the #define list below
-// and add an entry to sounds.tbl. If there is no .wav file for the sound yet,
-// specify sound_hook.wav in sounds.tbl.
-//
-//
+ SND_COPILOT = 162,//!< copilot (SCP)
+ SND_UNDEFINED_163 = 163,//!< (Empty in Retail)
+ SND_UNDEFINED_164 = 164,//!< (Empty in Retail)
+ SND_UNDEFINED_165 = 165,//!< (Empty in Retail)
+ SND_UNDEFINED_166 = 166,//!< (Empty in Retail)
+ SND_UNDEFINED_167 = 167,//!< (Empty in Retail)
+ SND_UNDEFINED_168 = 168,//!< (Empty in Retail)
+ SND_UNDEFINED_169 = 169,//!< (Empty in Retail)
+ SND_UNDEFINED_170 = 170,//!< (Empty in Retail)
+ SND_UNDEFINED_171 = 171,//!< (Empty in Retail)
+ SND_UNDEFINED_172 = 172,//!< (Empty in Retail)
+ SND_SUPERNOVA_1 = 173,//!< SuperNova (distant)
+ SND_SUPERNOVA_2 = 174,//!< SuperNova (shockwave)
+ SND_UNDEFINED_175 = 175,//!< Shivan large engine
+ SND_UNDEFINED_176 = 176,//!< Shivan large engine
+ SND_UNDEFINED_177 = 177,//!< SRed beam loop
+ SND_UNDEFINED_178 = 178,//!< LRed beam loop
+ SND_UNDEFINED_179 = 179,//!< Antifighter beam loop
+ SND_LIGHTNING_1 = 180,//!< Thunder 1 sound in neblua
+ SND_LIGHTNING_2 = 181,//!< Thunder 2 sound in neblua
+ SND_UNDEFINED_182 = 182,//!< 1 sec warm up
+ SND_UNDEFINED_183 = 183,//!< 1.5 sec warm up
+ SND_UNDEFINED_184 = 184,//!< 3 sec warm up
+ SND_UNDEFINED_185 = 185,//!< Shivan Commnode
+ SND_UNDEFINED_186 = 186,//!< Volition PirateShip
+ SND_UNDEFINED_187 = 187,//!< SRed warm down
+ SND_UNDEFINED_188 = 188,//!< LRed warm down
+ SND_UNDEFINED_189 = 189,//!< AntiFtr warm down
+ SND_UNDEFINED_190 = 190,//!< Instellation 1
+ SND_UNDEFINED_191 = 191,//!< Instellation 2
+ SND_UNDEFINED_192 = 192,//!< (Undefined in Retail)
+ SND_UNDEFINED_193 = 193,//!< (Undefined in Retail)
+ SND_UNDEFINED_194 = 194,//!< (Undefined in Retail)
+ SND_UNDEFINED_195 = 195,//!< (Undefined in Retail)
+ SND_UNDEFINED_196 = 196,//!< (Undefined in Retail)
+ SND_UNDEFINED_197 = 197,//!< (Undefined in Retail)
+ SND_UNDEFINED_198 = 198,//!< (Undefined in Retail)
+ SND_UNDEFINED_199 = 199,//!< (Undefined in Retail)
-//---------------------------------------------------
-// Misc Sounds
-//---------------------------------------------------
-#define SND_MISSILE_TRACKING 0
-#define SND_MISSILE_LOCK 1
-#define SND_PRIMARY_CYCLE 2
-#define SND_SECONDARY_CYCLE 3
-#define SND_ENGINE 4
-#define SND_CARGO_REVEAL 5
-#define SND_DEATH_ROLL 6
-#define SND_SHIP_EXPLODE_1 7
-#define SND_TARGET_ACQUIRE 8
-#define SND_ENERGY_ADJUST 9
-#define SND_ENERGY_ADJUST_FAIL 10
-#define SND_ENERGY_TRANS 11
-#define SND_ENERGY_TRANS_FAIL 12
-#define SND_FULL_THROTTLE 13
-#define SND_ZERO_THROTTLE 14
-#define SND_THROTTLE_UP 15
-#define SND_THROTTLE_DOWN 16
-#define SND_DOCK_APPROACH 17
-#define SND_DOCK_ATTACH 18
-#define SND_DOCK_DETACH 19
-#define SND_DOCK_DEPART 20
-#define SND_ABURN_ENGAGE 21
-#define SND_ABURN_LOOP 22
-#define SND_VAPORIZED 23
-#define SND_ABURN_FAIL 24
-#define SND_HEATLOCK_WARN 25
-#define SND_OUT_OF_MISSLES 26
-#define SND_OUT_OF_WEAPON_ENERGY 27
-#define SND_TARGET_FAIL 28
-#define SND_SQUADMSGING_ON 29
-#define SND_SQUADMSGING_OFF 30
-#define SND_DEBRIS 31
-#define SND_SUBSYS_DIE_1 32
-#define SND_MISSILE_START_LOAD 33
-#define SND_MISSILE_LOAD 34
-#define SND_SHIP_REPAIR 35
-#define SND_PLAYER_HIT_LASER 36
-#define SND_PLAYER_HIT_MISSILE 37
-#define SND_CMEASURE_CYCLE 38
-#define SND_SHIELD_HIT 39
-#define SND_SHIELD_HIT_YOU 40
-#define SND_GAME_MOUSE_CLICK 41
-#define SND_ASPECTLOCK_WARN 42
-#define SND_SHIELD_XFER_OK 43
-#define SND_ENGINE_WASH 44
-#define SND_WARP_IN 45
-#define SND_WARP_OUT 46 // Same as warp in for now
-#define SND_PLAYER_WARP_FAIL 47
-#define SND_STATIC 48
-#define SND_SHIP_EXPLODE_2 49
-#define SND_PLAYER_WARP_OUT 50
-#define SND_SHIP_SHIP_HEAVY 51
-#define SND_SHIP_SHIP_LIGHT 52
-#define SND_SHIP_SHIP_SHIELD 53
-#define SND_THREAT_FLASH 54
-#define SND_PROXIMITY_WARNING 55
-#define SND_PROXIMITY_ASPECT_WARNING 56
-#define SND_DIRECTIVE_COMPLETE 57
-#define SND_SUBSYS_EXPLODE 58
-#define SND_CAPSHIP_EXPLODE 59
-#define SND_CAPSHIP_SUBSYS_EXPLODE 60
-#define SND_LARGESHIP_WARPOUT 61
-#define SND_ASTEROID_EXPLODE_LARGE 62
-#define SND_ASTEROID_EXPLODE_SMALL 63
-#define SND_CUE_VOICE 64
-#define SND_END_VOICE 65
-#define SND_CARGO_SCAN 66
-#define SND_WEAPON_FLYBY 67
-#define SND_ASTEROID 68
-#define SND_CAPITAL_WARP_IN 69
-#define SND_CAPITAL_WARP_OUT 70
-#define SND_ENGINE_LOOP_LARGE 71
-#define SND_SUBSPACE_LEFT_CHANNEL 72
-#define SND_SUBSPACE_RIGHT_CHANNEL 73
-#define SND_MISSILE_EVADED_POPUP 74
-#define SND_ENGINE_LOOP_HUGE 75
+ SND_BALLISTIC_START_LOAD = 200,//!< (SCP)
+ SND_BALLISTIC_LOAD = 201,//!< (SCP)
-// Weapon sounds
-#define SND_LIGHT_LASER_FIRE 76
-#define SND_LIGHT_LASER_IMPACT 77
-#define SND_HVY_LASER_FIRE 78
-#define SND_HVY_LASER_IMPACT 79
-#define SND_MASSDRV_FIRED 80
-#define SND_MASSDRV_IMPACT 81
-#define SND_FLAIL_FIRED 82
-#define SND_FLAIL_IMPACT 83
-#define SND_NEUTRON_FLUX_FIRED 84
-#define SND_NEUTRON_FLUX_IMPACT 85
-#define SND_DEBUG_LASER_FIRED 86
-#define SND_ROCKEYE_FIRED 87
-#define SND_MISSILE_IMPACT1 88
-#define SND_MAG_MISSILE_LAUNCH 89
-#define SND_FURY_MISSILE_LAUNCH 90
-#define SND_SHRIKE_MISSILE_LAUNCH 91
-#define SND_ANGEL_MISSILE_LAUNCH 92
-#define SND_CLUSTER_MISSILE_LAUNCH 93
-#define SND_CLUSTERB_MISSILE_LAUNCH 94
-#define SND_STILETTO_MISSILE_LAUNCH 95
-#define SND_TSUNAMI_MISSILE_LAUNCH 96
-#define SND_HARBINGER_MISSILE_LAUNCH 97
-#define SND_MEGAWOKKA_MISSILE_LAUNCH 98
-#define SND_CMEASURE1_LAUNCH 99
-#define SND_SHIVAN_LIGHT_LASER_FIRE 100
-#define SND_SHOCKWAVE_EXPLODE 101
-#define SND_SWARM_MISSILE_LAUNCH 102
-#define SND_SHOCKWAVE_IMPACT 109
+ /**
+ * Keep this below all defined enum values
+ */
+ MIN_GAME_SOUNDS = 202
+};
-#define SND_TARG_LASER_LOOP 115
-#define SND_FLAK_FIRE 116
-#define SND_SHIELD_BREAKER 117
-#define SND_EMP_MISSILE 118
-#define SND_AUTOCANNON_LOOP 119
-#define SND_AUTOCANNON_SHOT 120
-#define SND_BEAM_LOOP 121
-#define SND_BEAM_UP 122
-#define SND_BEAM_DOWN 123
-#define SND_BEAM_SHOT 124
-#define SND_BEAM_VAPORIZE 125
+/**
+ * Interface sounds
+ */
+enum InterfaceSoundsIndex {
+ SND_IFACE_MOUSE_CLICK =0, //!< mouse click
+ SND_ICON_PICKUP =1, //!< pick up a ship icon (Empty in Retail)
+ SND_ICON_DROP_ON_WING =2, //!< drop a ship icon on a wing slot
+ SND_ICON_DROP =3, //!< drop a ship icon back to the list
+ SND_SCREEN_MODE_PRESSED =4, //!< press briefing, ship selection or weapons bar (top-left)
+ SND_SWITCH_SCREENS =5, //!< Switching to a new screen, but not commit
+ SND_HELP_PRESSED =6, //!< help pressed
+ SND_COMMIT_PRESSED =7, //!< commit pressed
+ SND_PREV_NEXT_PRESSED =8, //!< prev/next pressed
+ SND_SCROLL =9, //!< scroll pressed (and scroll)
+ SND_GENERAL_FAIL =10,//!< general failure sound for any event
+ SND_SHIP_ICON_CHANGE =11,//!< ship animation starts (ie text and ship first appear)
+ SND_MAIN_HALL_AMBIENT =12,//!< ambient sound for the Terran main hall (looping)
+ SND_BTN_SLIDE =13,//!< ambient sound for the Vasudan main hall (looping)
+ SND_BRIEF_STAGE_CHG =14,//!< brief stage change
+ SND_BRIEF_STAGE_CHG_FAIL =15,//!< brief stage change fail
+ SND_BRIEF_ICON_SELECT =16,//!< selet brief icon
+ SND_USER_OVER =17,//!< user_over (mouse over a control)
+ SND_USER_SELECT =18,//!< user_click (mouse selects a control)
+ SND_RESET_PRESSED =19,//!< reset (or similar button) pressed
+ SND_BRIEF_TEXT_WIPE =20,//!< briefing text wipe
+ SND_VASUDAN_PA_1 =21,//!< main hall - elevator
+ SND_WEAPON_ANIM_START =22,//!< weapon animation starts
+ SND_MAIN_HALL_DOOR_OPEN =23,//!< door in main hall opens
+ SND_MAIN_HALL_DOOR_CLOSE =24,//!< door in main hall closes
+ SND_GLOW_OPEN =25,//!< glow in main hall opens
+ SND_VASUDAN_PA_2 =26,//!< main hall - crane 1
+ SND_AMBIENT_MENU =27,//!< ambient sound for menus off the main hall (looping)
+ SND_POPUP_APPEAR =28,//!< popup dialog box appeared
+ SND_POPUP_DISAPPEAR =29,//!< popup dialog box goes away
+ SND_VOICE_SLIDER_CLIP =30,//!< voice clip played when volume slider changes
+ SND_VASUDAN_PA_3 =31,//!< main hall - crane 2
+ SND_MAIN_HALL_GET_PEPSI =32,//!< main hall options - mouse on
+ SND_MAIN_HALL_LIFT_UP =33,//!< main hall options - mouse off
+ SND_MAIN_HALL_WELD1 =34,//!< main hall tech room - mouse on
+ SND_MAIN_HALL_WELD2 =35,//!< main hall tech room - mouse off
+ SND_MAIN_HALL_WELD3 =36,//!< main hall exit open
+ SND_MAIN_HALL_WELD4 =37,//!< main hall exit close
+ SND_MAIN_HALL_INT1 =38,//!< main hall random intercom 1
+ SND_MAIN_HALL_INT2 =39,//!< main hall random intercom 2
+ SND_MAIN_HALL_INT3 =40,//!< main hall random intercom 3
+ SND_ICON_HIGHLIGHT =41,//!< spinning highlight in briefing
+ SND_BRIEFING_STATIC =42,//!< static in a briefing stage cut
+ SND_MAIN_HALL2_CRANE1_1 =43,//!< main hall campaign - mouse on
+ SND_MAIN_HALL2_CRANE1_2 =44,//!< main hall campaign - mouse off
+ SND_MAIN_HALL2_CRANE2_1 =45,//!< vasudan hall - hatch open
+ SND_MAIN_HALL2_CRANE2_2 =46,//!< vasudan hall - hatch close
+ SND_MAIN_HALL2_CAR1 =47,//!< vasudan hall - roll open
+ SND_MAIN_HALL2_CAR2 =48,//!< vasudan hall - roll close
+ SND_MAIN_HALL2_INT1 =49,//!< vasudan hall - lift up
+ SND_MAIN_HALL2_INT2 =50,//!< vasudan hall - lift down
+ SND_MAIN_HALL2_INT3 =51,//!< vasudan hall - glow on
+ SND_INTERFACE_UNDEFINED_52 =52,//!< vasudan hall - glow off
+ SND_INTERFACE_UNDEFINED_53 =53,//!< vasudan hall - skiff loop
+ SND_INTERFACE_UNDEFINED_54 =54,//!< vasudan hall - screen on
+ SND_INTERFACE_UNDEFINED_55 =55,//!< vasudan hall - screen off
+ SND_INTERFACE_UNDEFINED_56 =56,//!< vasudan hall - vasudan greeting
+ SND_INTERFACE_UNDEFINED_57 =57,//!< vasudan hall - vasudan bye
+ SND_INTERFACE_UNDEFINED_58 =58,//!< vasudan hall - vasudan pa 1
+ SND_INTERFACE_UNDEFINED_59 =59,//!< vasudan hall - vasudan pa 2
+ SND_INTERFACE_UNDEFINED_60 =60,//!< vasudan hall - vasudan pa 3
+ SND_VASUDAN_BUP =61,//!< bup bup bup-bup bup bup
+ SND_INTERFACE_UNDEFINED_62 =62,//!< thankyou
+ SND_INTERFACE_UNDEFINED_63 =62,//!< vasudan hall - exit open
+ SND_INTERFACE_UNDEFINED_64 =62,//!< vasudan hall - exit close
-// Ship engine sounds
-#define SND_TERRAN_FIGHTER_ENG 126
-#define SND_TERRAN_BOMBER_ENG 127
-#define SND_TERRAN_CAPITAL_ENG 128
-#define SND_SPECIESB_FIGHTER_ENG 129
-#define SND_SPECIESB_BOMBER_ENG 130
-#define SND_SPECIESB_CAPITAL_ENG 131
-#define SND_SHIVAN_FIGHTER_ENG 132
-#define SND_SHIVAN_BOMBER_ENG 133
-#define SND_SHIVAN_CAPITAL_ENG 134
-#define SND_REPAIR_SHIP_ENG 135
+ /**
+ * Keep this below all defined enum values
+ */
+ MIN_INTERFACE_SOUNDS =70 //!< MIN_INTERFACE_SOUNDS
+};
-// Debris electric arcing sounds
-#define SND_DEBRIS_ARC_01 139 // 0.10 second spark sound effect (3d sound)
-#define SND_DEBRIS_ARC_02 140 // 0.25 second spark sound effect (3d sound)
-#define SND_DEBRIS_ARC_03 141 // 0.50 second spark sound effect (3d sound)
-#define SND_DEBRIS_ARC_04 142 // 0.75 second spark sound effect (3d sound)
-#define SND_DEBRIS_ARC_05 143 // 1.00 second spark sound effect (3d sound)
-
-// copilot
-#define SND_COPILOT 162
-
-// supernova 1 and supernova 2
-#define SND_SUPERNOVA_1 173
-#define SND_SUPERNOVA_2 174
-
-// lightning sounds
-#define SND_LIGHTNING_1 180
-#define SND_LIGHTNING_2 181
-
-// added for ballistic primaries - Goober5000
-#define SND_BALLISTIC_START_LOAD 200
-#define SND_BALLISTIC_LOAD 201
-
-//---------------------------------------------------
-// Interface sounds
-//---------------------------------------------------
-#define SND_IFACE_MOUSE_CLICK 0
-#define SND_ICON_PICKUP 1
-#define SND_ICON_DROP_ON_WING 2
-#define SND_ICON_DROP 3
-#define SND_SCREEN_MODE_PRESSED 4
-#define SND_SWITCH_SCREENS 5
-#define SND_HELP_PRESSED 6
-#define SND_COMMIT_PRESSED 7
-#define SND_PREV_NEXT_PRESSED 8
-#define SND_SCROLL 9
-#define SND_GENERAL_FAIL 10
-#define SND_SHIP_ICON_CHANGE 11
-#define SND_MAIN_HALL_AMBIENT 12
-#define SND_BTN_SLIDE 13
-#define SND_BRIEF_STAGE_CHG 14
-#define SND_BRIEF_STAGE_CHG_FAIL 15
-#define SND_BRIEF_ICON_SELECT 16
-#define SND_USER_OVER 17
-#define SND_USER_SELECT 18
-#define SND_RESET_PRESSED 19
-#define SND_BRIEF_TEXT_WIPE 20
-#define SND_VASUDAN_PA_1 21 // vasudan pa 1
-#define SND_WEAPON_ANIM_START 22
-#define SND_MAIN_HALL_DOOR_OPEN 23
-#define SND_MAIN_HALL_DOOR_CLOSE 24
-#define SND_GLOW_OPEN 25
-#define SND_VASUDAN_PA_2 26 // vasudan pa 2
-#define SND_AMBIENT_MENU 27
-#define SND_POPUP_APPEAR 28
-#define SND_POPUP_DISAPPEAR 29
-#define SND_VOICE_SLIDER_CLIP 30
-#define SND_VASUDAN_PA_3 31 // vasudan pa 3
-#define SND_MAIN_HALL_GET_PEPSI 32
-#define SND_MAIN_HALL_LIFT_UP 33
-#define SND_MAIN_HALL_WELD1 34
-#define SND_MAIN_HALL_WELD2 35
-#define SND_MAIN_HALL_WELD3 36
-#define SND_MAIN_HALL_WELD4 37
-#define SND_MAIN_HALL_INT1 38 // random intercom message 1
-#define SND_MAIN_HALL_INT2 39 // random intercom message 2
-#define SND_MAIN_HALL_INT3 40 // random intercom message 3
-#define SND_ICON_HIGHLIGHT 41
-#define SND_BRIEFING_STATIC 42
-#define SND_MAIN_HALL2_CRANE1_1 43
-#define SND_MAIN_HALL2_CRANE1_2 44
-#define SND_MAIN_HALL2_CRANE2_1 45
-#define SND_MAIN_HALL2_CRANE2_2 46
-#define SND_MAIN_HALL2_CAR1 47
-#define SND_MAIN_HALL2_CAR2 48
-#define SND_MAIN_HALL2_INT1 49
-#define SND_MAIN_HALL2_INT2 50
-#define SND_MAIN_HALL2_INT3 51
-
-#define SND_VASUDAN_BUP 61
-
-#endif /* __GAMESND_H__ */
+#endif