Readded large sound buffer option

This commit is contained in:
pagefault
2001-06-12 19:45:38 +00:00
parent c19f86b1f8
commit 6a1d38b6b1
5 changed files with 42 additions and 13 deletions

View File

@@ -547,7 +547,7 @@ NEWSYM KeySlowDown, dd 0
NEWSYM UseCubicSpline, db 1
NEWSYM ExclusiveSound, db 0
NEWSYM LargeSoundBuf, db 0
NEWSYM HighPriority, db 0
NEWSYM AlwaysOnTop, db 0
NEWSYM SaveMainWindowPos, db 1
@@ -583,6 +583,8 @@ NEWSYM FilteredGUI, db 0
NEWSYM BilinearFilter, db 0
NEWSYM TripleBufferWin, db 0
NEWSYM ExclusiveSound, db 0
GUIsave equ $-GUIRAdd
NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff
@@ -600,9 +602,9 @@ ModemOKStat db 0 ; OK is detected on modem status
; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO
GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,65 ,5 ,30 ,20 ,10 ,80 ,65 ,20 ,70 ,50 ,3 ,50
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,36 ,20 ,30 ,20 ,20 ,50 ,60 ,30 ,65 ,50 ,22 ,60
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,26 ,20 ,30 ,20 ,20 ,50 ,60 ,30 ,65 ,50 ,22 ,60
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,170 ,148 ,244 ,8*16,13*16,240 ,7*16,9*16,8*16,9*16,140 ,250 ,160
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,168 ,191 ,40 ,189 ,192 ,98 ,42 ,40 ,42 ,70 ,190 ,60
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,178 ,191 ,40 ,189 ,192 ,98 ,42 ,40 ,42 ,70 ,190 ,60
GUIwinptr db 0
GUItextcolor db 0,0,0,0,0

View File

@@ -993,10 +993,10 @@ GUISoundKeys:
xor byte[RevStereo],1
.notrevst
%ifdef __WIN32__
cmp dh,'X'
jne .noexclusivesound
xor byte[ExclusiveSound],1
.noexclusivesound
cmp dh,'A'
jne .nolargebuffer
xor byte[LargeSoundBuf],1
.nolargebuffer
%endif
%ifdef __MSDOS__
cmp dh,'U'
@@ -1020,6 +1020,12 @@ GUISoundKeys:
jne .nocubic
xor byte[UseCubicSpline],1
.nocubic
%ifdef __WIN32__
cmp dh,'X'
jne .noexclusivesound
xor byte[ExclusiveSound],1
.noexclusivesound
%endif
ret
.sampratenext db 1,4,5,6,2,3,0,0,0,0

View File

@@ -2243,12 +2243,15 @@ DisplayGUISoundClick:
%endif
;.win32sound
%ifdef __WIN32__
GUIClickCButton 11,121,byte[ExclusiveSound]
GUIClickCButton 11,121,byte[LargeSoundBuf]
%endif
GUIClickCButton 11,131,byte[InterSound]
GUIClickCButton 11,141,byte[LowPassFilter]
GUIClickCButton 11,151,byte[SoundBufEn]
GUIClickCButton 11,161,byte[UseCubicSpline]
%ifdef __WIN32__
GUIClickCButton 11,171,byte[ExclusiveSound]
%endif
cmp eax,15
jl near .nosrate
cmp edx,61

View File

@@ -2140,6 +2140,9 @@ DisplayGUISound:
GUIOuttextwin2u 6,26,146,GUISoundTextK,0
GUIOuttextwin2u 6,26,156,GUISoundTextL,6
GUIOuttextwin2u 6,26,166,GUISoundTextM,0
%ifdef __WIN32__
GUIOuttextwin2u 6,26,176,GUISoundTextN,1
%endif
add byte[GUItextcolor],15
GUIOuttextwin2 6,25,25,GUISoundText1
GUIOuttextwin2 6,25,34,GUISoundText3
@@ -2164,6 +2167,9 @@ DisplayGUISound:
GUIOuttextwin2 6,25,145,GUISoundTextK
GUIOuttextwin2 6,25,155,GUISoundTextL
GUIOuttextwin2 6,25,165,GUISoundTextM
%ifdef __WIN32__
GUIOuttextwin2 6,25,175,GUISoundTextN
%endif
mov al,[GUIWincol]
mov byte[GUItextcolor],al
GUIOuttextwin2 6,6,16,GUISoundText6
@@ -2225,7 +2231,7 @@ DisplayGUISound:
.nocheckbox42
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[ExclusiveSound],0
cmp byte[LargeSoundBuf],0
je .nocheckbox43
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox43
@@ -2255,6 +2261,14 @@ DisplayGUISound:
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox8
GUIDisplayIconWin 6,11,161,[GUITemp]
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[ExclusiveSound],0
je .nocheckbox9
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox9
GUIDisplayIconWin 6,11,171,[GUITemp]
%endif
DrawGUIWinBox 6,15,61,69,69,167
mov dword[GUITemp],GUISoundText7
xor eax,eax
@@ -2269,7 +2283,6 @@ DisplayGUISound:
mov byte[GUItextcolor],222
.zero4
GUIOuttextwin2 6,22,63,[GUITemp]
mov eax,dword[GUIwinposx+6*4]
mov ebx,dword[GUIwinposy+6*4]
mov ecx,eax
@@ -2284,7 +2297,6 @@ DisplayGUISound:
inc eax
sub dl,13
DrawGUILine
xor eax,eax
mov al,[MusicRelVol]
mov dword[GUITemp],11
@@ -2342,11 +2354,12 @@ GUISoundTextCb db '48000HZ',0
GUISoundTextD db '---%',0
GUISoundTextH db 'REVERSE STEREO',0
GUISoundTextI db 'SURROUND SOUND',0
GUISoundTextIb db 'EXCLUSIVE MODE',0
GUISoundTextIb db 'LARGE SOUND BUFFER',0
GUISoundTextJ db 'SOUND INTERPOLATION',0
GUISoundTextK db 'LOW PASS FILTER',0
GUISoundTextL db 'SOUND BUFFERING',0
GUISoundTextM db 'CUBIC SPLINE INTERP',0
GUISoundTextN db 'EXCLUSIVE MODE',0
DisplayGUICheatConv:
mov eax,[ccheatnpos]

View File

@@ -37,7 +37,6 @@ DWORD WindowWidth = 256;
DWORD WindowHeight = 224;
DWORD FullScreen=0;
DWORD PrevFull=0;
DWORD Moving=0;
DWORD SoundBufferSize=1024*18;
DWORD FirstSound=1;
@@ -223,6 +222,7 @@ void initwinvideo();
void DosExit();
extern BYTE StereoSound;
extern DWORD SoundQuality;
extern BYTE LargeSoundBuf;
extern BYTE ExclusiveSound;
extern BYTE HighPriority;
extern BYTE AlwaysOnTop;
@@ -661,6 +661,11 @@ ReInitSound()
SoundBufferSize=1024*2;
}
if (LargeSoundBuf == 1)
{
SoundBufferSize*=2;
}
if (StereoSound==1)
{
wfx.nChannels = 2;