tExtra sounds added for game start/end and for players/bitches being killed; So… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 6dc3d3791bec78ddd09166683de5148437cc2a23 | |
parent 39419ee5f38694de5515ed701079d43822dfcb41 | |
Author: Ben Webb <[email protected]> | |
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(-) | |
--- | |
diff --git a/src/curses_client/curses_client.c b/src/curses_client/curses_clien… | |
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(); | |
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}, | |
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 | |
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, | |
diff --git a/src/message.c b/src/message.c | |
t@@ -1234,6 +1234,12 @@ void ReceiveFightMessage(gchar *Data, gchar **AttackNam… | |
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); | |
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; | |
+} | |
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__ */ |