tExtra sounds added for game start/end and for players/bitches being killed; SoundEnable() function added to turn sound on/off. - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 6dc3d3791bec78ddd09166683de5148437cc2a23
 (DIR) parent 39419ee5f38694de5515ed701079d43822dfcb41
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Fri, 16 Aug 2002 18:13:36 +0000
       
       Extra sounds added for game start/end and for players/bitches being killed;
       SoundEnable() function added to turn sound on/off.
       
       
       Diffstat:
         M src/curses_client/curses_client.c   |       2 ++
         M src/dopewars.c                      |      21 ++++++++++++++++++++-
         M src/dopewars.h                      |       3 ++-
         M src/gui_client/gtk_client.c         |       2 ++
         M src/message.c                       |       6 ++++++
         M src/sound.c                         |       9 ++++++++-
         M src/sound.h                         |       1 +
       
       7 files changed, 41 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/src/curses_client/curses_client.c b/src/curses_client/curses_client.c
       t@@ -2111,6 +2111,7 @@ static void Curses_DoGame(Player *Play)
          SendNullClientMessage(Play, C_NONE, C_NAME, NULL, buf);
          g_free(buf);
          g_free(OldName);
       +  SoundPlay(Sounds.StartGame);
        
          text = g_string_new("");
        
       t@@ -2454,6 +2455,7 @@ void CursesLoop(struct CMDLINE *cmdline)
          FirstClient = AddPlayer(0, Play, FirstClient);
          do {
            Curses_DoGame(Play);
       +    SoundPlay(Sounds.EndGame);
            ShutdownNetwork(Play);
            CleanUpServer();
            RestoreConfig();
 (DIR) diff --git a/src/dopewars.c b/src/dopewars.c
       t@@ -157,7 +157,8 @@ struct NAMES Names = {
          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
        };
        struct SOUNDS Sounds = {
       -  NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
       +  NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
       +  NULL, NULL, NULL
        };
        
        /* N.B. The slightly over-enthusiastic comments here are for the benefit
       t@@ -405,6 +406,18 @@ struct GLOBALS Globals[] = {
          {NULL, NULL, NULL, &Sounds.FightReload, NULL, "Sounds.FightReload",
           N_("Sound file played when guns are reloaded"), NULL, NULL, 0, "",
           NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.EnemyBitchKilled, NULL, "Sounds.EnemyBitchKilled",
       +   N_("Sound file played when an enemy bitch/deputy is killed"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.BitchKilled, NULL, "Sounds.BitchKilled",
       +   N_("Sound file played when one of your bitches is killed"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.EnemyKilled, NULL, "Sounds.EnemyKilled",
       +   N_("Sound file played when another player or cop is killed"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.Killed, NULL, "Sounds.Killed",
       +   N_("Sound file played when you are killed"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
          {NULL, NULL, NULL, &Sounds.Jet, NULL, "Sounds.Jet",
           N_("Sound file played on arriving at a new location"), NULL, NULL, 0, "",
           NULL, NULL, FALSE, 0},
       t@@ -420,6 +433,12 @@ struct GLOBALS Globals[] = {
          {NULL, NULL, NULL, &Sounds.LeaveGame, NULL, "Sounds.LeaveGame",
           N_("Sound file played when a player leaves the game"),
           NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.StartGame, NULL, "Sounds.StartGame",
       +   N_("Sound file played at the start of the game"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
       +  {NULL, NULL, NULL, &Sounds.EndGame, NULL, "Sounds.EndGame",
       +   N_("Sound file played at the end of the game"),
       +   NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
          {&DrugSortMethod, NULL, NULL, NULL, NULL, "DrugSortMethod",
           N_("Sort key for listing available drugs"),
           NULL, NULL, 0, "", NULL, NULL, FALSE, 0},
 (DIR) diff --git a/src/dopewars.h b/src/dopewars.h
       t@@ -91,7 +91,8 @@ struct NAMES {
        
        struct SOUNDS {
          gchar *FightHit, *FightMiss, *FightReload, *Jet, *TalkToAll, *TalkPrivate;
       -  gchar *JoinGame, *LeaveGame;
       +  gchar *JoinGame, *LeaveGame, *StartGame, *EndGame;
       +  gchar *EnemyBitchKilled, *BitchKilled, *EnemyKilled, *Killed;
        };
        
        #ifdef NETWORKING
 (DIR) diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c
       t@@ -1929,6 +1929,7 @@ void GuiStartGame(void)
          UpdateMenus();
          gtk_widget_show_all(ClientData.vbox);
          UpdatePlayerLists();
       +  SoundPlay(Sounds.StartGame);
        }
        
        void EndGame(void)
       t@@ -1942,6 +1943,7 @@ void EndGame(void)
          RestoreConfig();
          InGame = FALSE;
          UpdateMenus();
       +  SoundPlay(Sounds.EndGame);
        }
        
        static void ChangeDrugSort(GtkCList *clist, gint column,
 (DIR) diff --git a/src/message.c b/src/message.c
       t@@ -1234,6 +1234,12 @@ void ReceiveFightMessage(gchar *Data, gchar **AttackName,
          switch (*fp) {
          case F_HIT:
            SoundPlay(Sounds.FightHit);
       +    if (*BitchesKilled > 0) {
       +      SoundPlay(*DefendName[0] ? Sounds.EnemyBitchKilled : Sounds.BitchKilled);
       +    }
       +    if (*DefendHealth <= 0) {
       +      SoundPlay(*DefendName[0] ? Sounds.EnemyKilled : Sounds.Killed);
       +    }
            break;
          case F_MISS:
            SoundPlay(Sounds.FightMiss);
 (DIR) diff --git a/src/sound.c b/src/sound.c
       t@@ -47,6 +47,7 @@
        static SoundDriver *driver = NULL;
        static GSList *driverlist = NULL;
        typedef SoundDriver *(*InitFunc)(void);
       +static gboolean sound_enabled = TRUE;
        
        gchar *GetPluginList(void)
        {
       t@@ -194,6 +195,7 @@ void SoundOpen(gchar *drivername)
              g_free(err);
            }
          }
       +  sound_enabled = TRUE;
        }
        
        void SoundClose(void)
       t@@ -221,7 +223,12 @@ void SoundClose(void)
        
        void SoundPlay(const gchar *snd)
        {
       -  if (driver && driver->play && snd && snd[0]) {
       +  if (sound_enabled && driver && driver->play && snd && snd[0]) {
            driver->play(snd);
          }
        }
       +
       +void SoundEnable(gboolean enable)
       +{
       +  sound_enabled = enable;
       +}
 (DIR) diff --git a/src/sound.h b/src/sound.h
       t@@ -42,5 +42,6 @@ void SoundInit(void);
        void SoundOpen(gchar *drivername);
        void SoundClose(void);
        void SoundPlay(const gchar *snd);
       +void SoundEnable(gboolean enable);
        
        #endif /* __DP_SOUND_H__ */