From 2e3de34c60832d9598a5ad284ac2ca3af02c23bf Mon Sep 17 00:00:00 2001 From: sireus Date: Wed, 29 Jun 2011 20:25:42 +0000 Subject: [PATCH] heartbeat sound git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6549 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- changelog.txt | 3 ++- config/menus_settings.cfg | 1 + config/sounds.cfg | 3 ++- docs/reference.xml | 5 +++++ packages/audio/player/heartbeat.ogg | Bin 0 -> 31495 bytes packages/audio/player/heartbeat.ogg_license.txt | 4 ++++ source/src/audiomanager.cpp | 8 +++++++- source/src/sound.h | 1 + 8 files changed, 22 insertions(+), 3 deletions(-) create mode 100755 packages/audio/player/heartbeat.ogg create mode 100755 packages/audio/player/heartbeat.ogg_license.txt diff --git a/changelog.txt b/changelog.txt index a7f7fa30..884f8094 100644 --- a/changelog.txt +++ b/changelog.txt @@ -9,6 +9,7 @@ Find me a cat! --------------------- [*] Changelog updates - oh shi- +[*] Optional heartbeat sound when health reaches a certain level. // TODO : find a better order for these categories @@ -191,4 +192,4 @@ I18n / L10n [*] Client now tries to set the LANG alias if it's not defined. [*] fixed LANG for windows (breaks Win98/2K compatibility!) -[*] Float separator set to "." (dot) regardless of locale. \ No newline at end of file +[*] Float separator set to "." (dot) regardless of locale. diff --git a/config/menus_settings.cfg b/config/menus_settings.cfg index cc304161..d8aba43c 100644 --- a/config/menus_settings.cfg +++ b/config/menus_settings.cfg @@ -518,6 +518,7 @@ menuitemcheckbox "Die 1: " "(soundmuted 32)" [ mutesound 32 (! $arg1) ] menuitemcheckbox "Die 2: " "(soundmuted 33)" [ mutesound 33 (! $arg1) ] menuitemcheckbox "Gib sounds: " "(soundmuted 48)" [ mutesound 48 (! $arg1) ] menuitemcheckbox "Tinnitus: " "(soundmuted 62)" [ mutesound 62 (! $arg1) ] +menuitemcheckbox "Heartbeat: " "(soundmuted 100)" [ mutesound 100 (! $arg1) ] newmenu "Mute movement sounds" diff --git a/config/sounds.cfg b/config/sounds.cfg index 1a1d11c0..7562f190 100755 --- a/config/sounds.cfg +++ b/config/sounds.cfg @@ -109,7 +109,8 @@ registersound "voicecom/thanks_1" // 95 : public registersound "voicecom/thanks_2" // 96 : public registersound "voicecom/awesome_1" // 97 : public registersound "voicecom/awesome_2" // 98 : public -registersound "misc/pickup_helmet" // 99 - S_ITEMHELMET +registersound "misc/pickup_helmet" // 99 - S_ITEMHELMET +registersound "player/heartbeat" // 100 - S_HEARTBEAT // Music registermusic "pingpong/Ping_Pong_-_Kamikadze" // M_FLAGGRAB diff --git a/docs/reference.xml b/docs/reference.xml index b80fceef..a8e8c7fb 100644 --- a/docs/reference.xml +++ b/docs/reference.xml @@ -4854,6 +4854,11 @@ Output: + + Defines the health level at or below which a heartbeat sound will be played. A value of 0 (which is the default) disables this feature. + + + Sets the team display mode. diff --git a/packages/audio/player/heartbeat.ogg b/packages/audio/player/heartbeat.ogg new file mode 100755 index 0000000000000000000000000000000000000000..13bda9d12fc1546a4f5adcf92585e1013a7efd32 GIT binary patch literal 31495 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

ptxFSfgJ?T3S&DelM&-DX&L%h*6o@ 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 literal 0 HcmV?d00001 diff --git a/packages/audio/player/heartbeat.ogg_license.txt b/packages/audio/player/heartbeat.ogg_license.txt new file mode 100755 index 00000000..543075c4 --- /dev/null +++ b/packages/audio/player/heartbeat.ogg_license.txt @@ -0,0 +1,4 @@ +heartbeat.ogg by Lunardrive (http://www.freesound.org/usersViewSingle.php?id=120830) + Four Heartbeats HQ_BeatSmith.wav (http://www.freesound.org/samplesViewSingle.php?id=22416) + +This file is licensed under the Creative Commons Sampling Plus 1.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/sampling+/1.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. diff --git a/source/src/audiomanager.cpp b/source/src/audiomanager.cpp index 83900c14..a2d17f68 100644 --- a/source/src/audiomanager.cpp +++ b/source/src/audiomanager.cpp @@ -532,6 +532,8 @@ void audiomanager::stopsound() if(gamemusic) gamemusic->reset(); } +VAR(heartbeat, 0, 0, 99); + // main audio update routine void audiomanager::updateaudio() @@ -540,7 +542,7 @@ void audiomanager::updateaudio() alcSuspendContext(context); // don't process sounds while we mess around - //bool alive = player1->state!=CS_DEAD; + bool alive = player1->state!=CS_DEAD; bool firstperson = camera1==player1 || (player1->isspectating() && player1->spectatemode==SM_DEATHCAM); // footsteps @@ -560,6 +562,10 @@ void audiomanager::updateaudio() bool tinnitus = /*alive &&*/ firstperson && player1->eardamagemillis>0 && lastmillis<=player1->eardamagemillis; location *tinnitusloc = updateloopsound(S_TINNITUS, tinnitus); + // heartbeat + bool heartbeatsound = heartbeat && alive && firstperson && player1->health <= heartbeat; + updateloopsound(S_HEARTBEAT, heartbeatsound); + // pitch fx const float lowpitch = 0.65f; bool pitchfx = underwater || tinnitus; diff --git a/source/src/sound.h b/source/src/sound.h index 484a2989..1b669832 100644 --- a/source/src/sound.h +++ b/source/src/sound.h @@ -70,6 +70,7 @@ enum S_AWESOME1, S_AWESOME2, S_ITEMHELMET, // begin: Sounds for AssaultCube v1.1.0.4 onwards + S_HEARTBEAT, S_NULL };