add: PlaySoundEffect (SetAbsSoundIndex (MenuSounds, 0), 0, NotPositional (), NULL, GAME_SOUND_PRIORITY);
context: DoConfirmExit (void){	BOOLEAN result;	static BOOLEAN in_confirm = FALSE;	fprintf (stderr, "Confirming Exit!\n");	if (LOBYTE (GLOBAL (CurrentActivity)) != SUPER_MELEE)		SuspendGameClock ();	if (CommData.ConversationPhrases && PlayingTrack ())		PauseTrack ();	LockMutex (GraphicsLock);	if (in_confirm)	{		result = FALSE;		ExitRequested = FALSE;	}	else	{		RECT r;		STAMP s;		FRAME F;		CONTEXT oldContext;		BOOLEAN response = FALSE, done;		in_confirm = TRUE;		oldContext = SetContext (ScreenContext);		r.extent.width = CONFIRM_WIN_WIDTH + 4;		r.extent.height = CONFIRM_WIN_HEIGHT + 4;		r.corner.x = (SCREEN_WIDTH - r.extent.width) >> 1;		r.corner.y = (SCREEN_HEIGHT - r.extent.height) >> 1;		s.origin = r.corner;		F = CaptureDrawable (LoadDisplayPixmap (&r, (FRAME)0));		DrawConfirmationWindow (response);		// Releasing the lock lets the rotate_planet_task		// draw a frame.  PauseRotate can still allow one more frame		// to be drawn, so it is safer to just not release the lock		//UnlockMutex (GraphicsLock);		FlushGraphics ();		//LockMutex (GraphicsLock);		GLOBAL (CurrentActivity) |= CHECK_ABORT;		FlushInput ();		done = FALSE;		do {			// Forbid recursive calls or pausing here!			ExitRequested = FALSE;			GamePaused = FALSE;			UpdateInputState ();			if (CurrentMenuState.select)			{				done = TRUE;			}			else if (CurrentMenuState.cancel)			{				done = TRUE;				response = FALSE;			}			else if (CurrentMenuState.left || CurrentMenuState.right)			{				response = !response;				DrawConfirmationWindow (response);			}			TaskSwitch ();		} while (!done);		s.frame = F;		DrawStamp (&s);		DestroyDrawable (ReleaseDrawable (s.frame));		if (response)		{			result = TRUE;		}				else		{			result = FALSE;			GLOBAL (CurrentActivity) &= ~CHECK_ABORT;		}		ExitRequested = FALSE;		GamePaused = FALSE;		FlushInput ();		SetContext (oldContext);	}	UnlockMutex (GraphicsLock);	if (LOBYTE (GLOBAL (CurrentActivity)) != SUPER_MELEE)		ResumeGameClock ();	if (CommData.ConversationPhrases && PlayingTrack ())	{		ResumeTrack ();		if (CommData.AlienTransitionDesc.AnimFlags & TALK_DONE)			do_subtitles ((void *)~0);	}	fprintf (stderr, "Exit was %sconfirmed.\n", result ? "" : "NOT ");	in_confirm = FALSE;	return (result);}