Fix multi-leg promotions
[xboard.git] / usounds.c
index aabb9ee..6432335 100644 (file)
--- a/usounds.c
+++ b/usounds.c
@@ -5,7 +5,8 @@
  * Massachusetts.
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free
+ * Software Foundation, Inc.
  *
  * The following terms apply to Digital Equipment Corporation's copyright
  * interest in XBoard:
@@ -76,63 +77,70 @@ extern char *getenv();
 #include "frontend.h"
 
 
-void
-PlaySound (char *name)
+int
+PlaySoundFile (char *name)
 {
   if (*name == NULLCHAR) {
-    return;
+    return 0;
   } else if (strcmp(name, "$") == 0) {
     putc(BELLCHAR, stderr);
   } else {
     char buf[2048];
     char *prefix = "", *sep = "";
-    if(appData.soundProgram[0] == NULLCHAR) return;
+    if(appData.soundProgram[0] == NULLCHAR) return 1;
     if(!strchr(name, '/')) { prefix = appData.soundDirectory; sep = "/"; }
     snprintf(buf, sizeof(buf), "%s '%s%s%s' &", appData.soundProgram, prefix, sep, name);
     system(buf);
   }
+  return 1;
 }
 
 void
 RingBell ()
 {
-  PlaySound(appData.soundMove);
+  PlaySoundFile(appData.soundMove);
 }
 
 void
 PlayIcsWinSound ()
 {
-  PlaySound(appData.soundIcsWin);
+  PlaySoundFile(appData.soundIcsWin);
 }
 
 void
 PlayIcsLossSound ()
 {
-  PlaySound(appData.soundIcsLoss);
+  PlaySoundFile(appData.soundIcsLoss);
 }
 
 void
 PlayIcsDrawSound ()
 {
-  PlaySound(appData.soundIcsDraw);
+  PlaySoundFile(appData.soundIcsDraw);
 }
 
 void
 PlayIcsUnfinishedSound ()
 {
-  PlaySound(appData.soundIcsUnfinished);
+  PlaySoundFile(appData.soundIcsUnfinished);
 }
 
 void
 PlayAlarmSound ()
 {
-  PlaySound(appData.soundIcsAlarm);
+  PlaySoundFile(appData.soundIcsAlarm);
 }
 
 void
 PlayTellSound ()
 {
-  PlaySound(appData.soundTell);
+  PlaySoundFile(appData.soundTell);
+}
+
+int
+Roar ()
+{
+  return PlaySoundFile(appData.soundRoar);
 }
 
 void
@@ -140,31 +148,31 @@ PlaySoundForColor (ColorClass cc)
 {
     switch (cc) {
     case ColorShout:
-      PlaySound(appData.soundShout);
+      PlaySoundFile(appData.soundShout);
       break;
     case ColorSShout:
-      PlaySound(appData.soundSShout);
+      PlaySoundFile(appData.soundSShout);
       break;
     case ColorChannel1:
-      PlaySound(appData.soundChannel1);
+      PlaySoundFile(appData.soundChannel1);
       break;
     case ColorChannel:
-      PlaySound(appData.soundChannel);
+      PlaySoundFile(appData.soundChannel);
       break;
     case ColorKibitz:
-      PlaySound(appData.soundKibitz);
+      PlaySoundFile(appData.soundKibitz);
       break;
     case ColorTell:
-      PlaySound(appData.soundTell);
+      PlaySoundFile(appData.soundTell);
       break;
     case ColorChallenge:
-      PlaySound(appData.soundChallenge);
+      PlaySoundFile(appData.soundChallenge);
       break;
     case ColorRequest:
-      PlaySound(appData.soundRequest);
+      PlaySoundFile(appData.soundRequest);
       break;
     case ColorSeek:
-      PlaySound(appData.soundSeek);
+      PlaySoundFile(appData.soundSeek);
       break;
     case ColorNormal:
     case ColorNone:
@@ -172,5 +180,3 @@ PlaySoundForColor (ColorClass cc)
       break;
     }
 }
-
-