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 UseCubicSpline, db 1
NEWSYM ExclusiveSound, db 0 NEWSYM LargeSoundBuf, 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
@@ -583,6 +583,8 @@ NEWSYM FilteredGUI, db 0
NEWSYM BilinearFilter, db 0 NEWSYM BilinearFilter, db 0
NEWSYM TripleBufferWin, db 0 NEWSYM TripleBufferWin, db 0
NEWSYM ExclusiveSound, db 0
GUIsave equ $-GUIRAdd GUIsave equ $-GUIRAdd
NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff 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 ; 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 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 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 GUIwinptr db 0
GUItextcolor db 0,0,0,0,0 GUItextcolor db 0,0,0,0,0

View File

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

View File

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

View File

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

View File

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