Added Always On Top option to GUI Options in win32 port

This commit is contained in:
pagefault
2001-05-04 20:36:10 +00:00
parent 73100da89c
commit ed60cc11c6
4 changed files with 43 additions and 4 deletions

View File

@@ -171,6 +171,7 @@ EXTSYM TCPIPGetByte
EXTSYM ModemSendChar EXTSYM ModemSendChar
%ifdef __WIN32__ %ifdef __WIN32__
EXTSYM CheckPriority EXTSYM CheckPriority
EXTSYM CheckAlwaysOnTop
%endif %endif
NEWSYM GuiAsmStart NEWSYM GuiAsmStart
@@ -544,6 +545,7 @@ NEWSYM UseCubicSpline, db 1
NEWSYM LargeSoundBuf, db 0 NEWSYM LargeSoundBuf, db 0
NEWSYM HighPriority, db 0 NEWSYM HighPriority, db 0
NEWSYM AlwaysOnTop, db 0
GUIsave equ $-GUIRAdd GUIsave equ $-GUIRAdd
@@ -562,9 +564,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 ,22 ,36 ,20 ,30 ,20 ,30 ,70 ,60 ,30 ,65 ,50 ,22 ,60 GUIwinposyo dd 0,20 ,70 ,30 ,20 ,22 ,36 ,20 ,30 ,20 ,20 ,70 ,60 ,30 ,65 ,50 ,22 ,60
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,170 ,148 ,244 ,8*16,13*16,176 ,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,180 ,7*16,9*16,8*16,9*16,140 ,250 ,160
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,186 ,168 ,191 ,40 ,189 ,152 ,98 ,42 ,40 ,42 ,70 ,190 ,60 GUIwinsizey dd 0,190 ,3*16,166 ,190 ,186 ,168 ,191 ,40 ,189 ,182 ,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
@@ -3248,6 +3250,11 @@ DisplayBoxes:
cmp al,10 cmp al,10
jne .noguiconf jne .noguiconf
call DisplayGUIOptns call DisplayGUIOptns
%ifdef __WIN32__
pushad
call CheckAlwaysOnTop
popad
%endif
jmp .finstuff jmp .finstuff
.noguiconf .noguiconf
cmp al,11 cmp al,11

View File

@@ -2520,6 +2520,9 @@ DisplayGUIOptnsClick:
GUIClickCButton 12,73,byte[JoyPad1Move] GUIClickCButton 12,73,byte[JoyPad1Move]
GUIClickCButton6 12,83,byte[GUIEffect],1 GUIClickCButton6 12,83,byte[GUIEffect],1
GUIClickCButton6 12,93,byte[GUIEffect],2 GUIClickCButton6 12,93,byte[GUIEffect],2
%ifdef __WIN32__
GUIClickCButton 12,168,byte[AlwaysOnTop]
%endif
cmp eax,25 cmp eax,25
jl near .nomovebar jl near .nomovebar
cmp eax,25+32*4-1 cmp eax,25+32*4-1

View File

@@ -4608,10 +4608,21 @@ DisplayGUIOptns:
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheck8 .nocheck8
GUIDisplayIconWin 10,12,93,[GUITemp] GUIDisplayIconWin 10,12,93,[GUITemp]
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AlwaysOnTop],1
jne .nocheck9
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheck9
GUIDisplayIconWin 10,12,168,[GUITemp]
%endif
mov al,[GUIWincol] mov al,[GUIWincol]
mov byte[GUItextcolor],al mov byte[GUItextcolor],al
GUIOuttextwin2 10,6,111,GUIGUIOptnsText1 GUIOuttextwin2 10,6,111,GUIGUIOptnsText1
GUIOuttextwin2 10,6,16,GUIGUIOptnsText5 GUIOuttextwin2 10,6,16,GUIGUIOptnsText5
%ifdef __WIN32__
GUIOuttextwin2 10,6,160,GUIGUIOptnsTextD
%endif
mov byte[GUItextcolor],163 mov byte[GUItextcolor],163
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero je .zero
@@ -4619,6 +4630,9 @@ DisplayGUIOptns:
.zero .zero
GUIOuttextwin2 10,5,110,GUIGUIOptnsText1 GUIOuttextwin2 10,5,110,GUIGUIOptnsText1
GUIOuttextwin2 10,5,15,GUIGUIOptnsText5 GUIOuttextwin2 10,5,15,GUIGUIOptnsText5
%ifdef __WIN32__
GUIOuttextwin2 10,5,160,GUIGUIOptnsTextD
%endif
mov byte[GUItextcolor],217 mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero3 je .zero3
@@ -4636,6 +4650,9 @@ DisplayGUIOptns:
GUIOuttextwin2u 10,26,78,GUIGUIOptnsTextA,0 GUIOuttextwin2u 10,26,78,GUIGUIOptnsTextA,0
GUIOuttextwin2 10,26,88,GUIGUIOptnsTextB GUIOuttextwin2 10,26,88,GUIGUIOptnsTextB
GUIOuttextwin2 10,26,98,GUIGUIOptnsTextC GUIOuttextwin2 10,26,98,GUIGUIOptnsTextC
%ifdef __WIN32__
GUIOuttextwin2 10,26,173,GUIGUIOptnsTextE
%endif
mov byte[GUIGUIOptnsText6],'R' mov byte[GUIGUIOptnsText6],'R'
GUIOuttextwin2 10,16,123,GUIGUIOptnsText6 GUIOuttextwin2 10,16,123,GUIGUIOptnsText6
mov byte[GUIGUIOptnsText6],'G' mov byte[GUIGUIOptnsText6],'G'
@@ -4654,6 +4671,9 @@ DisplayGUIOptns:
GUIOuttextwin2 10,25,77,GUIGUIOptnsTextA GUIOuttextwin2 10,25,77,GUIGUIOptnsTextA
GUIOuttextwin2 10,25,87,GUIGUIOptnsTextB GUIOuttextwin2 10,25,87,GUIGUIOptnsTextB
GUIOuttextwin2 10,25,97,GUIGUIOptnsTextC GUIOuttextwin2 10,25,97,GUIGUIOptnsTextC
%ifdef __WIN32__
GUIOuttextwin2 10,25,172,GUIGUIOptnsTextE
%endif
mov byte[GUIGUIOptnsText6],'R' mov byte[GUIGUIOptnsText6],'R'
GUIOuttextwin2 10,15,122,GUIGUIOptnsText6 GUIOuttextwin2 10,15,122,GUIGUIOptnsText6
mov byte[GUIGUIOptnsText6],'G' mov byte[GUIGUIOptnsText6],'G'
@@ -4727,12 +4747,14 @@ GUIGUIOptnsText3 db 'MOUSE SHADOW',0
GUIGUIOptnsText4 db 'KEEP MENU POSITION',0 GUIGUIOptnsText4 db 'KEEP MENU POSITION',0
GUIGUIOptnsText5 db 'GUI SWITCHES :',0 GUIGUIOptnsText5 db 'GUI SWITCHES :',0
GUIGUIOptnsText6 db '@',0 GUIGUIOptnsText6 db '@',0
GUIGUIOptnsText7 db 'SAVE WINDOW POSITIONS',0 GUIGUIOptnsText7 db 'SAVE GUI WINDOW POSITIONS',0
GUIGUIOptnsText8 db 'CLICK ENTERS/EXITS GUI',0 GUIGUIOptnsText8 db 'CLICK ENTERS/EXITS GUI',0
GUIGUIOptnsText9 dd 0 GUIGUIOptnsText9 dd 0
GUIGUIOptnsTextA db 'USE JOYPAD1 TO CONTROL',0 GUIGUIOptnsTextA db 'USE JOYPAD1 TO CONTROL',0
GUIGUIOptnsTextB dd 'ENABLE SNOW EFFECT',0 GUIGUIOptnsTextB dd 'ENABLE SNOW EFFECT',0
GUIGUIOptnsTextC dd 'ENABLE WATER EFFECT',0 GUIGUIOptnsTextC dd 'ENABLE WATER EFFECT',0
GUIGUIOptnsTextD dd 'MAIN WINDOW OPTIONS :',0
GUIGUIOptnsTextE dd 'ALWAYS ON TOP',0
DisplayGUIAbout: DisplayGUIAbout:
cmp byte[OSPort],3 cmp byte[OSPort],3

View File

@@ -186,6 +186,7 @@ extern BYTE StereoSound;
extern DWORD SoundQuality; extern DWORD SoundQuality;
extern BYTE LargeSoundBuf; extern BYTE LargeSoundBuf;
extern BYTE HighPriority; extern BYTE HighPriority;
extern BYTE AlwaysOnTop;
extern int CurKeyPos; extern int CurKeyPos;
extern int CurKeyReadPos; extern int CurKeyReadPos;
extern int KeyBuffer[16]; extern int KeyBuffer[16];
@@ -197,6 +198,12 @@ extern "C" void CheckPriority()
else SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); else SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
} }
extern "C" void CheckAlwaysOnTop()
{
if (AlwaysOnTop == 1) SetWindowPos(hMainWindow, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
else SetWindowPos(hMainWindow, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
}
BOOL InputRead(void) BOOL InputRead(void)
{ {
static PrevZ=0; static PrevZ=0;