Added exclusive sound mode

This commit is contained in:
pagefault
2001-05-18 23:12:24 +00:00
parent 1e490a9797
commit b2978a0d80
4 changed files with 18 additions and 12 deletions

View File

@@ -550,7 +550,7 @@ NEWSYM KeySlowDown, dd 0
NEWSYM UseCubicSpline, db 1
NEWSYM LargeSoundBuf, db 0
NEWSYM ExclusiveSound, db 0
NEWSYM HighPriority, db 0
NEWSYM AlwaysOnTop, db 0
NEWSYM SaveMainWindowPos, db 1

View File

@@ -2221,7 +2221,7 @@ DisplayGUISoundClick:
%endif
;.win32sound
%ifdef __WIN32__
GUIClickCButton 11,121,byte[LargeSoundBuf]
GUIClickCButton 11,121,byte[ExclusiveSound]
%endif
GUIClickCButton 11,131,byte[InterSound]
GUIClickCButton 11,141,byte[LowPassFilter]

View File

@@ -2189,7 +2189,7 @@ DisplayGUISound:
.nocheckbox42
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[LargeSoundBuf],0
cmp byte[ExclusiveSound],0
je .nocheckbox43
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox43
@@ -2306,7 +2306,7 @@ GUISoundTextCb db '48000HZ',0
GUISoundTextD db '---%',0
GUISoundTextH db 'REVERSE STEREO',0
GUISoundTextI db 'SURROUND SOUND',0
GUISoundTextIb db 'LARGE SOUND BUFFER',0
GUISoundTextIb db 'EXCLUSIVE MODE',0
GUISoundTextJ db 'SOUND INTERPOLATION',0
GUISoundTextK db 'LOW PASS FILTER',0
GUISoundTextL db 'SOUND BUFFERING',0

View File

@@ -183,7 +183,7 @@ unsigned char keyboardhit=0;
void initwinvideo();
extern BYTE StereoSound;
extern DWORD SoundQuality;
extern BYTE LargeSoundBuf;
extern BYTE ExclusiveSound;
extern BYTE HighPriority;
extern BYTE AlwaysOnTop;
extern BYTE SaveMainWindowPos;
@@ -475,8 +475,19 @@ InitSound()
PrevStereoSound=StereoSound;
if(DS_OK == DirectSoundCreate8(NULL, &lpDirectSound,NULL))
{
if (DS_OK != lpDirectSound->SetCooperativeLevel(hMainWindow, DSSCL_NORMAL))
{
if (ExclusiveSound == 0)
{
if (DS_OK != lpDirectSound->SetCooperativeLevel(hMainWindow, DSSCL_NORMAL))
{
if (DS_OK != lpDirectSound->SetCooperativeLevel(hMainWindow, DSSCL_EXCLUSIVE))
{
SoundEnabled=0;
return FALSE;
}
}
}
else
{
if (DS_OK != lpDirectSound->SetCooperativeLevel(hMainWindow, DSSCL_EXCLUSIVE))
{
@@ -527,11 +538,6 @@ InitSound()
SoundBufferSize=1024*2;
}
if (LargeSoundBuf == 1)
{
SoundBufferSize*=2;
}
if(StereoSound==1)
{
wfx.nChannels = 2;