📄 guiwindp.inc
字号:
mov dl,167
mov esi,7
%%loop
DrawGUILine
dec esi
jnz %%loop
mov eax,%3
mov ebx,[ScanCodeListing+eax*3]
mov [GUIGameDisplayKy],ebx
mov byte[GUIGameDisplayKy+3],0
mov byte[GUItextcolor],223
GUIOuttextwin2 3,%1+3,%2+2,GUIGameDisplayKy
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je %%zero
mov byte[GUItextcolor],222
%%zero
GUIOuttextwin2 3,%1+2,%2+1,GUIGameDisplayKy
%endmacro
%macro GUIInputDispKey 2
mov eax,[edi]
mov [GUIInputTextQ],eax
push edi
DGOptnsDrawBox2 %1,%2,[GUIInputTextQ]
pop edi
add edi,4
%endmacro
DisplayGUIInput:
; Player Select, Joystick/keyboard Type List, Button Assignments
GUIDrawWindowBox 3,GUIInputDisp
cmp byte[GUIWincoladd],0
je .zero
mov byte[GUItextcolor],211
.zero
sub byte[GUItextcolor],15
GUIOuttextwin2 3,6,102,GUIInputText3
GUIOuttextwin2 3,6,112,GUIInputText4
GUIOuttextwin2 3,6,122,GUIInputText5
GUIOuttextwin2 3,6,132,GUIInputText6
GUIOuttextwin2 3,6,142,GUIInputTextD
GUIOuttextwin2 3,6,152,GUIInputTextE
GUIOuttextwin2 3,76,102,GUIInputText7
GUIOuttextwin2 3,76,112,GUIInputText8
GUIOuttextwin2 3,76,122,GUIInputText9
GUIOuttextwin2 3,76,132,GUIInputTextA
GUIOuttextwin2 3,76,142,GUIInputTextB
GUIOuttextwin2 3,76,152,GUIInputTextC
%ifdef __MSDOS__
GUIOuttextwin2 3,20,167,GUIInputTextW
%endif
GUIOuttextwin2 3,156,102,GUIInputText7
GUIOuttextwin2 3,156,112,GUIInputText8
GUIOuttextwin2 3,156,122,GUIInputTextC
GUIOuttextwin2 3,116,102,GUIInputText9
GUIOuttextwin2 3,116,112,GUIInputTextA
GUIOuttextwin2 3,116,122,GUIInputTextB
GUIOuttextwin2 3,153,142,GUIInputTextd
GUIOuttextwin2 3,153,152,GUIInputTexte
GUIOuttextwin2 3,113,142,GUIInputTextf
GUIOuttextwin2 3,113,152,GUIInputTextg
add byte[GUItextcolor],15
GUIOuttextwin2 3,5,101,GUIInputText3
GUIOuttextwin2 3,5,111,GUIInputText4
GUIOuttextwin2 3,5,121,GUIInputText5
GUIOuttextwin2 3,5,131,GUIInputText6
GUIOuttextwin2 3,5,141,GUIInputTextD
GUIOuttextwin2 3,5,151,GUIInputTextE
GUIOuttextwin2 3,75,101,GUIInputText7
GUIOuttextwin2 3,75,111,GUIInputText8
GUIOuttextwin2 3,75,121,GUIInputText9
GUIOuttextwin2 3,75,131,GUIInputTextA
GUIOuttextwin2 3,75,141,GUIInputTextB
GUIOuttextwin2 3,75,151,GUIInputTextC
%ifdef __MSDOS__
GUIOuttextwin2 3,20,167,GUIInputTextW
%endif
GUIOuttextwin2 3,155,101,GUIInputText7
GUIOuttextwin2 3,155,111,GUIInputText8
GUIOuttextwin2 3,155,121,GUIInputTextC
GUIOuttextwin2 3,115,101,GUIInputText9
GUIOuttextwin2 3,115,111,GUIInputTextA
GUIOuttextwin2 3,115,121,GUIInputTextB
GUIOuttextwin2 3,152,141,GUIInputTextd
GUIOuttextwin2 3,152,151,GUIInputTexte
GUIOuttextwin2 3,112,141,GUIInputTextf
GUIOuttextwin2 3,112,151,GUIInputTextg
%ifdef __MSDOS__
mov dword[GUITemp],GUIIconDataCheckBoxUC
xor eax,eax
mov al,[cplayernum]
cmp byte[pl1p209+eax],0
je .nocheckbox2
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox2
GUIDisplayIconWin 3,5,162,[GUITemp]
%endif
DrawGUIButton 3,125,34,155,45,GUIInputTextV,14,0,0
; cmp byte[OSPort],3
; je near .win32
%ifdef __MSDOS__
DrawGUIButton 3,125,50,185,61,GUIInputTexta,15,0,0
%endif
.win32
DrawGUIButton 3,125,66,179,77,GUIInputTexta2,15,0,0
mov al,[GUIWincol]
mov byte[GUItextcolor],al
mov al,[cplayernum]
add al,'1'
mov [GUIInputText1+8],al
GUIOuttextwin2 3,6,16,GUIInputText1
GUIOuttextwin2 3,6,26,GUIInputText2
GUIOuttextwin2 3,6,92,GUIInputTextP
GUIOuttextwin2 3,116,92,GUIInputTextb
GUIOuttextwin2 3,116,131,GUIInputTextc
xor eax,eax
mov al,[cplayernum]
mov ebx,[GUIInputRefP+eax*4]
mov al,[ebx]
mov al,[GUIInputRefB+eax]
mov ebx,eax
shl eax,4
add eax,ebx
add eax,GUIInputNames
mov dword[GUITemp],eax
GUIOuttextwin2 3,7+24,83,[GUITemp]
GUIOuttextwin2 3,7,83,GUIInputTextT
mov byte[GUItextcolor],163
cmp byte[GUIWincoladd],0
je .zero3
mov byte[GUItextcolor],164
.zero3
GUIOuttextwin2 3,5,15,GUIInputText1
GUIOuttextwin2 3,5,25,GUIInputText2
GUIOuttextwin2 3,5,91,GUIInputTextP
GUIOuttextwin2 3,115,91,GUIInputTextb
GUIOuttextwin2 3,115,130,GUIInputTextc
GUIOuttextwin2 3,6+24,82,[GUITemp]
GUIOuttextwin2 3,6,82,GUIInputTextT
DrawGUIWinBox 3,5,34,107,77,167
mov ebx,[GUIcurrentinputcursloc]
sub ebx,[GUIcurrentinputviewloc]
mov eax,ebx
lea ebx,[ebx*8]
add ebx,36
DrawGUIWinBox2 3,5,107,7,224
mov edi,pl1selk
cmp byte[cplayernum],1
jne .nopl2
mov edi,pl2selk
.nopl2
cmp byte[cplayernum],2
jne .nopl3
mov edi,pl3selk
.nopl3
cmp byte[cplayernum],3
jne .nopl4
mov edi,pl4selk
.nopl4
cmp byte[cplayernum],4
jne .nopl5
mov edi,pl5selk
.nopl5
GUIInputDispKey 45,150 ; Select
GUIInputDispKey 45,140 ; Start
GUIInputDispKey 45,100 ; Up
GUIInputDispKey 45,110 ; Down
GUIInputDispKey 45,120 ; Left
GUIInputDispKey 45,130 ; Right
GUIInputDispKey 85,120 ; X
GUIInputDispKey 85,100 ; A
GUIInputDispKey 85,140 ; L
GUIInputDispKey 85,130 ; Y
GUIInputDispKey 85,110 ; B
GUIInputDispKey 85,150 ; R
mov edi,pl1Atk
cmp byte[cplayernum],1
jne .nopl2t
mov edi,pl2Atk
.nopl2t
cmp byte[cplayernum],2
jne .nopl3t
mov edi,pl3Atk
.nopl3t
cmp byte[cplayernum],3
jne .nopl4t
mov edi,pl4Atk
.nopl4t
cmp byte[cplayernum],4
jne .nopl5t
mov edi,pl5Atk
.nopl5t
GUIInputDispKey 165,100 ; A Turbo
GUIInputDispKey 165,110 ; B Turbo
GUIInputDispKey 125,100 ; X Turbo
GUIInputDispKey 125,110 ; Y Turbo
mov edi,pl1Ltk
cmp byte[cplayernum],1
jne .nopl2tl
mov edi,pl2Ltk
.nopl2tl
cmp byte[cplayernum],2
jne .nopl3tl
mov edi,pl3Ltk
.nopl3tl
cmp byte[cplayernum],3
jne .nopl4tl
mov edi,pl4Ltk
.nopl4tl
cmp byte[cplayernum],4
jne .nopl5tl
mov edi,pl5Ltk
.nopl5tl
GUIInputDispKey 125,120 ; L Turbo
GUIInputDispKey 165,120 ; R Turbo
mov edi,pl1ULk
cmp byte[cplayernum],1
jne .nopl2tb
mov edi,pl2ULk
.nopl2tb
cmp byte[cplayernum],2
jne .nopl3tb
mov edi,pl3ULk
.nopl3tb
cmp byte[cplayernum],3
jne .nopl4tb
mov edi,pl4ULk
.nopl4tb
cmp byte[cplayernum],4
jne .nopl5tb
mov edi,pl5ULk
.nopl5tb
GUIInputDispKey 165,140 ; Up-Left
GUIInputDispKey 165,150 ; Up-Right
GUIInputDispKey 125,140 ; Down-Left
GUIInputDispKey 125,150 ; Down-Right
mov byte[GUItextcolor],223
mov eax,[GUIcurrentinputviewloc]
shl eax,4
add eax,[GUIcurrentinputviewloc]
add eax,GUIInputNames
mov dword[GUITemp],eax
GUIOuttextwin2 3,11,38,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,11,38+8,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,11,38+8*2,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,11,38+8*3,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,11,38+8*4,[GUITemp]
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je .zero5
mov byte[GUItextcolor],222
.zero5
mov eax,[GUIcurrentinputviewloc]
shl eax,4
add eax,[GUIcurrentinputviewloc]
add eax,GUIInputNames
mov dword[GUITemp],eax
GUIOuttextwin2 3,10,37,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,10,37+8,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,10,37+8*2,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,10,37+8*3,[GUITemp]
add dword[GUITemp],17
GUIOuttextwin2 3,10,37+8*4,[GUITemp]
DrawSlideBarWin 3,109,42,[GUIcurrentinputviewloc],[NumInputDevices],5,28,GUIIStA
cmp byte[GUICHold],9
jne .noholda
add byte[GUIWincoladd],3
.noholda
GUIDisplayIconWin 3,109,34,GUIIconDataUpArrow
cmp byte[GUICHold],9
jne .noholda2
sub byte[GUIWincoladd],3
.noholda2
cmp byte[GUICHold],10
jne .noholdb
add byte[GUIWincoladd],3
.noholdb
GUIDisplayIconWin 3,109,70,GUIIconDataDownArrow
cmp byte[GUICHold],10
jne .noholdb2
sub byte[GUIWincoladd],3
.noholdb2
; Draw border
mov dword[GUIWincol],148+10
cmp byte[cwindrawn],1
jne .noone2
mov dword[GUIWincol],148+5
.noone2
cmp byte[cwindrawn],0
jne .nozero2
mov dword[GUIWincol],148
.nozero2
mov dl,[GUIWincol]
DrawGUIWinBox 3,5,33,107,33,dl
mov dl,[GUIWincol]
add dl,1
DrawGUIWinBox 3,4,34,3,77,dl
mov dl,[GUIWincol]
add dl,4
DrawGUIWinBox 3,5,78,107,78,dl
ret
GUIInputRefF db 0,1,2,3,5,18,6,7,8,9,10,11,14,15,16,17
GUIInputRefB db 0,1,2,3,3,4,6,7,8,9,10,11,11,11,12,13,14,15,5
GUIInputRefP dd pl1contrl,pl2contrl,pl3contrl,pl4contrl,pl5contrl
GUIInputText1 db 'PLAYER # CONTROL :',0
GUIInputText2 db 'DEVICE :',0
GUIInputText3 db ' UP',0
GUIInputText4 db ' DOWN',0
GUIInputText5 db ' LEFT',0
GUIInputText6 db ' RIGHT',0
GUIInputText7 db 'A',0
GUIInputText8 db 'B',0
GUIInputText9 db 'X',0
GUIInputTextA db 'Y',0
GUIInputTextB db 'L',0
GUIInputTextC db 'R',0
GUIInputTextD db ' START',0
GUIInputTextE db 'SELECT',0
GUIInputTextP db 'KEYS :',0
GUIInputTextQ dd 0
GUIInputTextT db 'CDV:',0
GUIInputTextV db 'SET',0
GUIInputTextW db 'USE JOYSTICK PORT 209H',0
GUIInputTexta db 'CALIBRATE',0
GUIInputTexta2 db 'SET KEYS',0
GUIInputTextb db 'TURBO :',0
GUIInputTextc db 'DIAGONALS :',0
GUIInputTextd db 'UL',0
GUIInputTexte db 'UR',0
GUIInputTextf db 'DL',0
GUIInputTextg db 'DR',0
GUIIStA dd 0,0,0
GUIcurrentinputviewloc dd 0
GUIcurrentinputcursloc dd 0
DisplayGUIOption:
; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine/Save Confirm
GUIDrawWindowBox 4,GUIOptionDisp
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero
mov byte[GUItextcolor],211
.zero
sub byte[GUItextcolor],15
mov dword[GUITemp],GUIOptionText1
cmp byte[frameskip],0
jne .noauto
mov dword[GUITemp],GUIOptionText3
.noauto
GUIOuttextwin2 4,6,16,[GUITemp]
GUIOuttextwin2u 4,26,31,GUIOptionText2,0
GUIOuttextwin2u 4,26,41,GUIOptionText4,0
%ifndef __LINUX__
GUIOuttextwin2u 4,26,51,GUIOptionText5,0
%endif
%ifdef __WIN32__
GUIOuttextwin2u 4,26,191,GUIOptionTextL,1
%endif
GUIOuttextwin2u 4,26,61,GUIOptionText6,0
GUIOuttextwin2u 4,26,71,GUIOptionText7,0
%ifdef __MSDOS__
GUIOuttextwin2u 4,26,81,GUIOptionTextA,0
%endif
%ifdef __WIN32__
GUIOuttextwin2u 4,26,81,GUIOptionTextAb,0
GUIOuttextwin2u 4,26,191,GUIOptionTextL,1
%endif
GUIOuttextwin2u 4,26,91,GUIOptionTextB,0
GUIOuttextwin2u 4,26,101,GUIOptionTextC,2
GUIOuttextwin2u 4,26,111,GUIOptionTextD,12
GUIOuttextwin2u 4,26,121,GUIOptionTextE,0
GUIOuttextwin2u 4,26,131,GUIOptionTextF,1
GUIOuttextwin2u 4,26,141,GUIOptionTextG,0
GUIOuttextwin2u 4,26,151,GUIOptionTextH,9
GUIOuttextwin2u 4,26,161,GUIOptionTextI,15
GUIOuttextwin2u 4,26,171,GUIOptionTextJ,0
GUIOuttextwin2u 4,26,181,GUIOptionTextK,1
add byte[GUItextcolor],15
GUIOuttextwin2 4,5,15,[GUITemp]
GUIOuttextwin2 4,25,30,GUIOptionText2
GUIOuttextwin2 4,25,40,GUIOptionText4
%ifndef __LINUX__
GUIOuttextwin2 4,25,50,GUIOptionText5
%endif
GUIOuttextwin2 4,25,60,GUIOptionText6
GUIOuttextwin2 4,25,70,GUIOptionText7
%ifdef __MSDOS__
GUIOuttextwin2 4,25,80,GUIOptionTextA
%endif
%ifdef __WIN32__
GUIOuttextwin2 4,25,80,GUIOptionTextAb
GUIOuttextwin2 4,25,190,GUIOptionTextL
%endif
GUIOuttextwin2 4,25,90,GUIOptionTextB
GUIOuttextwin2 4,25,100,GUIOptionTextC
GUIOuttextwin2 4,25,120,GUIOptionTextE
GUIOuttextwin2 4,25,110,GUIOptionTextD
GUIOuttextwin2 4,25,130,GUIOptionTextF
GUIOuttextwin2 4,25,140,GUIOptionTextG
GUIOuttextwin2 4,25,150,GUIOptionTextH
GUIOuttextwin2 4,25,160,GUIOptionTextI
GUIOuttextwin2 4,25,170,GUIOptionTextJ
GUIOuttextwin2 4,25,180,GUIOptionTextK
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[TimerEnable],0
je .nocheckboxt
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckboxt
GUIDisplayIconWin 4,11,106,[GUITemp]
.nocheckboxtb
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[frameskip],0
jne .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox
GUIDisplayIconWin 4,11,26,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[newengen],0
je .nocheckbox1
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox1
GUIDisplayIconWin 4,11,36,[GUITemp]
%ifndef __LINUX__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[vsyncon],0
je .nocheckbox2
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox2
GUIDisplayIconWin 4,11,46,[GUITemp]
%endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FPUCopy],2
jne .nocheckbox3
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox3
GUIDisplayIconWin 4,11,56,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[pl12s34],0
je .nocheckbox4
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox4
GUIDisplayIconWin 4,11,66,[GUITemp]
%ifdef __MSDOS__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SidewinderFix],0
je .nocheckbox5
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox5
GUIDisplayIconWin 4,11,76,[GUITemp]
%endif
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[HighPriority],0
je .nocheckbox5
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox5
GUIDisplayIconWin 4,11,76,[GUITemp]
%endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FPSAtStart],0
je .nocheckbox6
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox6
GUIDisplayIconWin 4,11,86,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[Turbo30hz],0
je .nocheckbox7
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox7
GUIDisplayIconWin 4,11,96,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FastFwdToggle],0
je .nocheckbox8
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox8
GUIDisplayIconWin 4,11,116,[GUITemp]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -