- // audio.cpp 
-   
- #include "common.h" 
-   
-   
- // global variables used in this module only 
- static int queued_sound = 0; 
-   
-   
- void Audio_Think (void) 
- { 
-    // this function plays the queued sounds on the right time 
-   
-    static wchar_t soundfile_path[MAX_PATH]; 
-    int sound_index; 
-   
-    // do we have a sound to play ? if so, play it 
-    if (queued_sound != 0) 
-    { 
-       // given the type of sound we want, enqueue the right one 
-       if (queued_sound == SOUNDTYPE_CLICK) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/click.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_ILLEGALMOVE) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/illegal.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_VICTORY) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/win.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_DEFEAT) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/lose.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_CHECK) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/check.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_PIECETAKEN) 
-          swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/take.wav", app_path); 
-       else if (queued_sound == SOUNDTYPE_MOVE) 
-       { 
-          sound_index = rand () % 6; // there are several movement sounds, pick one at random 
-          if (sound_index == 0) 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move1.wav", app_path); 
-          else if (sound_index == 1) 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move2.wav", app_path); 
-          else if (sound_index == 2) 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move3.wav", app_path); 
-          else if (sound_index == 3) 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move4.wav", app_path); 
-          else if (sound_index == 4) 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move5.wav", app_path); 
-          else 
-             swprintf_s (soundfile_path, WCHAR_SIZEOF (soundfile_path), L"%s/data/sounds/move6.wav", app_path); 
-       } 
-   
-       PlaySound (soundfile_path, NULL, SND_ASYNC | SND_FILENAME | SND_NODEFAULT); 
-       queued_sound = 0; // play this sound then forget it 
-    } 
-   
-    return; // finished, audio has been handled 
- } 
-   
-   
- void Audio_PlaySound (int sound_type) 
- { 
-    // helper function to play a sound 
-   
-    if (!options.want_sounds) 
-       return; // if we want no sound, don't play anything 
-   
-    queued_sound = sound_type; // enqueue the desired sound for playing 
-    return; // finished 
- } 
-