tUseSounds config variable added to enable/disable sounds; menu option added to… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 254694f8f33ecf467a2b787e2e97eca6d995c506 | |
parent 6dc3d3791bec78ddd09166683de5148437cc2a23 | |
Author: Ben Webb <[email protected]> | |
Date: Fri, 16 Aug 2002 18:14:42 +0000 | |
UseSounds config variable added to enable/disable sounds; menu option added | |
tto GUI client to do this on a game-by-game basis. | |
Diffstat: | |
M src/curses_client/curses_client.c | 1 + | |
M src/dopewars.c | 5 ++++- | |
M src/dopewars.h | 2 +- | |
M src/gui_client/gtk_client.c | 22 +++++++++++++++++++++- | |
4 files changed, 27 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/src/curses_client/curses_client.c b/src/curses_client/curses_clien… | |
t@@ -2448,6 +2448,7 @@ void CursesLoop(struct CMDLINE *cmdline) | |
LogMessage, NULL); | |
SoundOpen(cmdline->plugin); | |
+ SoundEnable(UseSounds); | |
display_intro(); | |
diff --git a/src/dopewars.c b/src/dopewars.c | |
t@@ -68,7 +68,7 @@ | |
#endif | |
int ClientSock, ListenSock; | |
-gboolean Network, Client, Server, WantAntique = FALSE; | |
+gboolean Network, Client, Server, WantAntique = FALSE, UseSounds = TRUE; | |
/* | |
* dopewars acting as standalone TCP server: | |
t@@ -397,6 +397,9 @@ struct GLOBALS Globals[] = { | |
N_("Name of the gun shop"), NULL, NULL, 0, "", NULL, NULL, FALSE, 0}, | |
{NULL, NULL, NULL, &Names.RoughPubName, NULL, "RoughPubName", | |
N_("Name of the pub"), NULL, NULL, 0, "", NULL, NULL, FALSE, 0}, | |
+ {NULL, &UseSounds, NULL, NULL, NULL, "UseSounds", | |
+ N_("TRUE if sounds should be enabled"), | |
+ NULL, NULL, 0, "", NULL, NULL, FALSE, 0}, | |
{NULL, NULL, NULL, &Sounds.FightHit, NULL, "Sounds.FightHit", | |
N_("Sound file played for a gun \"hit\""), NULL, NULL, 0, "", | |
NULL, NULL, FALSE, 0}, | |
diff --git a/src/dopewars.h b/src/dopewars.h | |
t@@ -174,7 +174,7 @@ struct DATE { | |
extern gboolean WantAntique; | |
extern struct DATE StartDate; | |
extern int ClientSock, ListenSock; | |
-extern gboolean Network, Client, Server; | |
+extern gboolean Network, Client, Server, UseSounds; | |
extern unsigned Port; | |
extern gboolean Sanitized, ConfigVerbose, DrugValue; | |
extern int NumLocation, NumGun, NumCop, NumDrug, NumSubway, NumPlaying, | |
diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c | |
t@@ -97,6 +97,7 @@ static void QuitGame(GtkWidget *widget, gpointer data); | |
static void DestroyGtk(GtkWidget *widget, gpointer data); | |
static void NewGame(GtkWidget *widget, gpointer data); | |
static void AbandonGame(GtkWidget *widget, gpointer data); | |
+static void ToggleSound(GtkWidget *widget, gpointer data); | |
static void ListScores(GtkWidget *widget, gpointer data); | |
static void ListInventory(GtkWidget *widget, gpointer data); | |
static void EndGame(void); | |
t@@ -159,6 +160,7 @@ static GtkItemFactoryEntry menu_items[] = { | |
{N_("/Game/_New..."), "<control>N", NewGame, 0, NULL}, | |
{N_("/Game/_Abandon..."), "<control>A", AbandonGame, 0, NULL}, | |
{N_("/Game/_Options..."), "<control>O", OptDialog, 0, NULL}, | |
+ {N_("/Game/Enable _sound"), NULL, ToggleSound, 0, "<CheckItem>"}, | |
{N_("/Game/_Quit..."), "<control>Q", QuitGame, 0, NULL}, | |
{N_("/_Talk"), NULL, NULL, 0, "<Branch>"}, | |
{N_("/Talk/To _All..."), NULL, TalkToAll, 0, NULL}, | |
t@@ -269,6 +271,20 @@ void AbandonGame(GtkWidget *widget, gpointer data) | |
} | |
} | |
+void ToggleSound(GtkWidget *widget, gpointer data) | |
+{ | |
+ gboolean enable; | |
+ | |
+ widget = gtk_item_factory_get_widget(ClientData.Menu, | |
+ "<main>/Game/Enable sound"); | |
+ if (widget) { | |
+ enable = GTK_CHECK_MENU_ITEM(widget)->active; | |
+ SoundEnable(enable); | |
+ } else { | |
+ g_print("widget is NULL\n"); | |
+ } | |
+} | |
+ | |
void ListScores(GtkWidget *widget, gpointer data) | |
{ | |
if (InGame) { | |
t@@ -2148,7 +2164,7 @@ gboolean GtkLoop(int *argc, char **argv[], | |
#endif | |
{ | |
GtkWidget *window, *vbox, *vbox2, *hbox, *frame, *table, *menubar, *text, | |
- *vpaned, *button, *clist; | |
+ *vpaned, *button, *clist, *widget; | |
GtkAccelGroup *accel_group; | |
GtkItemFactory *item_factory; | |
gint nmenu_items = sizeof(menu_items) / sizeof(menu_items[0]); | |
t@@ -2225,6 +2241,10 @@ gboolean GtkLoop(int *argc, char **argv[], | |
gtk_box_pack_start(GTK_BOX(vbox2), menubar, FALSE, FALSE, 0); | |
gtk_widget_show_all(menubar); | |
UpdateMenus(); | |
+ SoundEnable(UseSounds); | |
+ widget = gtk_item_factory_get_widget(ClientData.Menu, | |
+ "<main>/Game/Enable sound"); | |
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), UseSounds); | |
vbox = ClientData.vbox = gtk_vbox_new(FALSE, 5); | |
frame = gtk_frame_new(_("Stats")); |