Added exclusive sound mode
This commit is contained in:
@@ -550,7 +550,7 @@ NEWSYM KeySlowDown, dd 0
|
|||||||
|
|
||||||
NEWSYM UseCubicSpline, db 1
|
NEWSYM UseCubicSpline, db 1
|
||||||
|
|
||||||
NEWSYM LargeSoundBuf, db 0
|
NEWSYM ExclusiveSound, db 0
|
||||||
NEWSYM HighPriority, db 0
|
NEWSYM HighPriority, db 0
|
||||||
NEWSYM AlwaysOnTop, db 0
|
NEWSYM AlwaysOnTop, db 0
|
||||||
NEWSYM SaveMainWindowPos, db 1
|
NEWSYM SaveMainWindowPos, db 1
|
||||||
|
|||||||
@@ -2221,7 +2221,7 @@ DisplayGUISoundClick:
|
|||||||
%endif
|
%endif
|
||||||
;.win32sound
|
;.win32sound
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
GUIClickCButton 11,121,byte[LargeSoundBuf]
|
GUIClickCButton 11,121,byte[ExclusiveSound]
|
||||||
%endif
|
%endif
|
||||||
GUIClickCButton 11,131,byte[InterSound]
|
GUIClickCButton 11,131,byte[InterSound]
|
||||||
GUIClickCButton 11,141,byte[LowPassFilter]
|
GUIClickCButton 11,141,byte[LowPassFilter]
|
||||||
|
|||||||
@@ -2189,7 +2189,7 @@ DisplayGUISound:
|
|||||||
.nocheckbox42
|
.nocheckbox42
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||||
cmp byte[LargeSoundBuf],0
|
cmp byte[ExclusiveSound],0
|
||||||
je .nocheckbox43
|
je .nocheckbox43
|
||||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||||
.nocheckbox43
|
.nocheckbox43
|
||||||
@@ -2306,7 +2306,7 @@ GUISoundTextCb db '48000HZ',0
|
|||||||
GUISoundTextD db '---%',0
|
GUISoundTextD db '---%',0
|
||||||
GUISoundTextH db 'REVERSE STEREO',0
|
GUISoundTextH db 'REVERSE STEREO',0
|
||||||
GUISoundTextI db 'SURROUND SOUND',0
|
GUISoundTextI db 'SURROUND SOUND',0
|
||||||
GUISoundTextIb db 'LARGE SOUND BUFFER',0
|
GUISoundTextIb db 'EXCLUSIVE MODE',0
|
||||||
GUISoundTextJ db 'SOUND INTERPOLATION',0
|
GUISoundTextJ db 'SOUND INTERPOLATION',0
|
||||||
GUISoundTextK db 'LOW PASS FILTER',0
|
GUISoundTextK db 'LOW PASS FILTER',0
|
||||||
GUISoundTextL db 'SOUND BUFFERING',0
|
GUISoundTextL db 'SOUND BUFFERING',0
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ unsigned char keyboardhit=0;
|
|||||||
void initwinvideo();
|
void initwinvideo();
|
||||||
extern BYTE StereoSound;
|
extern BYTE StereoSound;
|
||||||
extern DWORD SoundQuality;
|
extern DWORD SoundQuality;
|
||||||
extern BYTE LargeSoundBuf;
|
extern BYTE ExclusiveSound;
|
||||||
extern BYTE HighPriority;
|
extern BYTE HighPriority;
|
||||||
extern BYTE AlwaysOnTop;
|
extern BYTE AlwaysOnTop;
|
||||||
extern BYTE SaveMainWindowPos;
|
extern BYTE SaveMainWindowPos;
|
||||||
@@ -475,8 +475,19 @@ InitSound()
|
|||||||
PrevStereoSound=StereoSound;
|
PrevStereoSound=StereoSound;
|
||||||
|
|
||||||
if(DS_OK == DirectSoundCreate8(NULL, &lpDirectSound,NULL))
|
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))
|
if (DS_OK != lpDirectSound->SetCooperativeLevel(hMainWindow, DSSCL_EXCLUSIVE))
|
||||||
{
|
{
|
||||||
@@ -527,11 +538,6 @@ InitSound()
|
|||||||
SoundBufferSize=1024*2;
|
SoundBufferSize=1024*2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LargeSoundBuf == 1)
|
|
||||||
{
|
|
||||||
SoundBufferSize*=2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(StereoSound==1)
|
if(StereoSound==1)
|
||||||
{
|
{
|
||||||
wfx.nChannels = 2;
|
wfx.nChannels = 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user