📄 guiwindp.inc
字号:
GUIDisplayTextG 3,11,38,[GUITemp] add dword[GUITemp],17 GUIDisplayTextG 3,11,38+8,[GUITemp] add dword[GUITemp],17 GUIDisplayTextG 3,11,38+8*2,[GUITemp] add dword[GUITemp],17 GUIDisplayTextG 3,11,38+8*3,[GUITemp] add dword[GUITemp],17 GUIDisplayTextG 3,11,38+8*4,[GUITemp] ; Sidebar 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 ; Hotkey Boxes cmp byte[cplayernum],0 jne near .notpl1 GUIInputDispAll pl1.notpl1 cmp byte[cplayernum],1 jne near .notpl2 GUIInputDispAll pl2.notpl2 cmp byte[cplayernum],2 jne near .notpl3 GUIInputDispAll pl3.notpl3 cmp byte[cplayernum],3 jne near .notpl4 GUIInputDispAll pl4.notpl4 cmp byte[cplayernum],4 jne near .notpl5 GUIInputDispAll pl5.notpl5 DGOptnsBorderBox 3,44,101 ; Box borders, keep them at bottom DGOptnsBorderBox 3,44,111 DGOptnsBorderBox 3,44,121 DGOptnsBorderBox 3,44,131 DGOptnsBorderBox 3,44,141 DGOptnsBorderBox 3,44,151 DGOptnsBorderBox 3,84,101 DGOptnsBorderBox 3,84,111 DGOptnsBorderBox 3,84,121 DGOptnsBorderBox 3,84,131 DGOptnsBorderBox 3,84,141 DGOptnsBorderBox 3,84,151 DGOptnsBorderBox 3,124,101 DGOptnsBorderBox 3,124,111 DGOptnsBorderBox 3,124,121 DGOptnsBorderBox 3,124,141 DGOptnsBorderBox 3,124,151 DGOptnsBorderBox 3,164,101 DGOptnsBorderBox 3,164,111 DGOptnsBorderBox 3,164,121 DGOptnsBorderBox 3,164,141 DGOptnsBorderBox 3,164,151 retSECTION .dataGUIInputTabs dd 1,5 db '#1',0 db '#2',0 db '#3',0 db '#4',0 db '#5',0GUIInputRefP dd pl1contrl,pl2contrl,pl3contrl,pl4contrl,pl5contrlGUIInputTextA db 'DEVICE:',0GUIInputTextA1 db 'CURRENT:',0GUIInputTextB db 'KEYS:',0GUIInputTextB1 db ' UP',0GUIInputTextB2 db ' DOWN',0GUIInputTextB3 db ' LEFT',0GUIInputTextB4 db ' RIGHT',0GUIInputTextB5 db ' START',0GUIInputTextB6 db 'SELECT',0GUIInputTextC db 'TURBO:',0GUIInputTextC1 db 'A',0GUIInputTextC2 db 'B',0GUIInputTextC3 db 'X',0GUIInputTextC4 db 'Y',0GUIInputTextC5 db 'L',0GUIInputTextC6 db 'R',0GUIInputTextD db 'DIAGONALS:',0GUIInputTextD1 db 'UL',0GUIInputTextD2 db 'UR',0GUIInputTextD3 db 'DL',0GUIInputTextD4 db 'DR',0GUIInputTextE dd 0GUIInputTextE1 db 'SET',0GUIInputTextE2 db 'SET KEYS',0%ifdef __MSDOS__GUIInputTextE3 db 'CALIBRATE',0GUIInputTextE4 db 'SIDEWINDER FIX',0GUIInputTextE5 db 'USE JOYSTICK PORT 209H',0%endifGUIInputTextE6 db 'GAME SPECIFIC',0GUIInputTextE7 db 'ALLOW U+D/L+R',0GUIInputTextE8 db 'TURBO AT 30HZ',0GUIInputTextE9 db 'USE PL3/4 AS PL1/2',0GUIFreshInputSelect db 1SECTION .bssGUIIStA resd 3GUIcurrentinputviewloc resd 1GUIcurrentinputcursloc resd 1SECTION .textDisplayGUIOption: ; Emu Options GUIDrawWindowBox 4,GUIOptionDisp%ifndef __WIN32__ cmp byte[ShowMMXSupport],1 jne near .nommx%endif GUIDisplayTextY 4,11,13,GUIOptionTextA cmp byte[ShowMMXSupport],1 jne near .nommx GUIDisplayCheckboxu 4,11,18,MMXSupport,GUIOptionTextA1,7.nommx%ifdef __WIN32__ GUIDisplayCheckboxu 4,11,28,PauseFocusChange,GUIOptionTextA2,13 GUIDisplayCheckboxu 4,11,38,HighPriority,GUIOptionTextA3,16 GUIDisplayCheckboxu 4,11,48,DisableScreenSaver,GUIOptionTextA4,0%endif GUIDisplayTextY 4,11,63,GUIOptionTextB GUIDisplayCheckboxu 4,11,68,newengen,GUIOptionTextB1,4 cmp byte[newengen],0 jne near .newengen GUIDisplayCheckboxu 4,11,78,bgfixer,GUIOptionTextB2,4.newengen GUIDisplayTextY 4,140,63,GUIOptionTextF GUIDisplayButtonHoleTu 4,143,70,byte[ScreenShotFormat],0,GUIOptionTextF1,2%ifndef NO_PNG GUIDisplayButtonHoleTu 4,143,80,byte[ScreenShotFormat],1,GUIOptionTextF2,2%endif GUIDisplayTextY 4,11,93,GUIOptionTextC GUIDisplayCheckboxu 4,11,98,AutoPatch,GUIOptionTextC1,7 GUIDisplayCheckboxu 4,11,108,DisplayInfo,GUIOptionTextC2,3 GUIDisplayCheckboxu 4,11,118,RomInfo,GUIOptionTextC3,4 GUIDisplayTextY 4,11,133,GUIOptionTextD GUIDisplayCheckboxu 4,11,138,FPSAtStart,GUIOptionTextD1,5 GUIDisplayCheckboxu 4,11,148,TimerEnable,GUIOptionTextD2,5 cmp byte[TimerEnable],1 jne near .noclock GUIDisplayCheckboxu 4,89,148,TwelveHourClock,GUIOptionTextD3,0 GUIDisplayCheckboxu 4,11,158,ClockBox,GUIOptionTextD4,13.noclock GUIDisplayTextY 4,11,173,GUIOptionTextE GUIDisplayCheckboxu 4,11,178,SmallMsgText,GUIOptionTextE1,4 GUIDisplayCheckboxu 4,11,188,GUIEnableTransp,GUIOptionTextE2,4 retSECTION .dataGUIOptionTextA db 'SYSTEM:',0GUIOptionTextA1 db 'ENABLE MMX SUPPORT',0%ifdef __WIN32__GUIOptionTextA2 db 'PAUSE EMU IN BACKGROUND',0GUIOptionTextA3 db 'INCREASE EMU PRIORITY',0GUIOptionTextA4 db 'DISABLE POWER MANAGEMENT',0%endifNEWSYM ShowMMXSupport, db 2GUIOptionTextB db 'GFX ENGINES:',0GUIOptionTextB1 db 'USE NEW GFX ENG',0GUIOptionTextB2 db 'USE ALT OLD GFX ENG',0GUIOptionTextC db 'ROM:',0GUIOptionTextC1 db 'ENABLE IPS AUTO-PATCHING',0GUIOptionTextC2 db 'SHOW ROM INFO ON LOAD',0GUIOptionTextC3 db 'LOG ROM INFO',0GUIOptionTextD db 'OVERLAYS:',0GUIOptionTextD1 db 'SHOW FPS CNTR ON EMU LOAD',0GUIOptionTextD2 db 'SHOW CLOCK',0GUIOptionTextD3 db '12 HOUR MODE',0GUIOptionTextD4 db 'SHOW CLOCK BOX',0GUIOptionTextE db 'MESSAGES:',0GUIOptionTextE1 db 'USE SMALL MESSAGE TEXT',0GUIOptionTextE2 db 'USE TRANSPARENT TEXT',0GUIOptionTextF db 'SSHOTS:',0GUIOptionTextF1 db 'BMP',0%ifndef NO_PNGGUIOptionTextF2 db 'PNG',0%endifSECTION .text%macro NTSCslidSet 1 ; slider variable mov al,[%1] add al,100%endmacro%macro NTSCslidText 2 ; slider var, text mov dword[%2],' ' mov esi,%2+3 mov al,[%1] mov bl,10 test al,128 jz %%asciilp xor al,255 inc al%%asciilp ; turns decimal into ascii xor ah,ah div bl add ah,48 mov [esi],ah dec esi cmp al,0 jne %%asciilp test byte[%1],128 jz %%pos mov byte[esi],'-'%%pos mov esi,%2%endmacroDisplayGUIVideo: cmp byte[TripBufAvail],0 ; Check features jne .notexttb%ifdef __MSDOS__ mov byte[Triplebufen],0%endif.notexttb cmp byte[MMXSupport],1 jne .2xSaIdis cmp byte[newgfx16b],0 je .2xSaIdis jmp .no2xSaIdis.2xSaIdis mov byte[En2xSaI],0 mov byte[hqFilter],0.no2xSaIdis cmp byte[En2xSaI],0 je .no2xsaien%ifdef __MSDOS__ mov byte[Triplebufen],0%endif mov byte[hqFilter],0 mov byte[scanlines],0 mov byte[antienab],0.no2xsaien cmp byte[hqFilter],0 je .nohqen mov byte[En2xSaI],0 mov byte[scanlines],0 mov byte[antienab],0.nohqen GUIDrawWindowBox 5,GUIVideoDisp xor eax,eax mov al,[cvidmode] cmp byte[GUINTVID+eax],0 jne .ntsc mov byte[NTSCFilter],0 mov dword[GUIVntscTab],0 cmp byte[GUIVideoTabs],0 jne .ntsc mov byte[GUIVideoTabs],1.ntsc GUIDrawTArea 5 GUIDrawTabs GUIVideoTabs cmp byte[NTSCFilter],0 je near .nontsc GUIDrawTabs GUIVntscTab.nontsc cmp dword[GUIVideoTabs],1 ; Video Modes List/Options Tab jne near .notmodestab DrawGUIButton 5,128,30,164,41,GUIVideoTextA4,4,0,0 ; Mode Set Button%ifndef __MSDOS__ ; Legend GUIDisplayTextY 5,130,50,GUIVideoTextA1 GUIDisplayText 5,130,58,GUIVideoTextA1a GUIDisplayText 5,130,66,GUIVideoTextA1b GUIDisplayText 5,130,74,GUIVideoTextA1c GUIDisplayText 5,130,82,GUIVideoTextA1d GUIDisplayText 5,130,90,GUIVideoTextA1e%ifdef __OPENGL__ GUIDisplayText 5,130,98,GUIVideoTextA1f%endif DrawGUIButton 5,180,115,216,126,GUIVideoTextA4,12,0,0 ; Custom Set Button GUIDisplayText 5,130,120,GUIVideoTextA2 GUIDisplayText 5,180,135,GUIVideoTextA2a GUIDisplayBBox 5,130,130,170,140,167 GUIDisplayBBox 5,191,130,231,140,167 pushad call GetCustomXY popad GUIOuttextwin2d 5,138,133,GUICustomX,4 GUIOuttextwin2d 5,199,133,GUICustomY,4%endif GUIDisplayBBoxS 5,5,26,115,189,167 ; Video Modes Box DrawSlideBarWin 5,117,34,[GUIcurrentvideoviewloc],[NumVideoModes],20,148,GUIVStA cmp byte[GUICHold],5 ; Scrollbar jne .noholda add byte[GUIWincoladd],3.noholda GUIDisplayIconWin 5,117,26,GUIIconDataUpArrow cmp byte[GUICHold],5 jne .noholdb sub byte[GUIWincoladd],3.noholdb cmp byte[GUICHold],6 jne .noholdc add byte[GUIWincoladd],3.noholdc GUIDisplayIconWin 5,117,182,GUIIconDataDownArrow cmp byte[GUICHold],6 jne .noholdd sub byte[GUIWincoladd],3.noholdd mov ebx,[GUIcurrentvideocursloc] ; Box sub ebx,[GUIcurrentvideoviewloc] lea ebx,[ebx*8] add ebx,28 DrawGUIWinBox2 5,5,115,7,224 mov byte[GUItextcolor],223 ; Text in Box mov eax,[GUIcurrentvideoviewloc] mov ebx,eax shl eax,4 add eax,ebx add eax,ebx add eax,GUIVideoModeNames mov [GUITemp],eax GUIDisplayTextG 5,11,30,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*2,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*3,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*4,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*5,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*6,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*7,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*8,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*9,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*10,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*11,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*12,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*13,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*14,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*15,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*16,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*17,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*18,[GUITemp] add dword[GUITemp],18 GUIDisplayTextG 5,11,30+8*19,[GUITemp] xor eax,eax ; Mode Value mov al,[cvidmode] mov ebx,eax shl eax,4 add eax,ebx add eax,ebx add eax,GUIVideoModeNames mov [GUITemp],eax GUIDisplayTextY 5,7,194,GUIVideoTextA3 GUIDisplayTextY 5,91,194,[GUITemp] ; (5,61,194).notmodestab ; Filters tab cmp dword[GUIVideoTabs],2 jne near .notfilterstab ; Video Filters%ifdef __MSDOS__ cmp byte[smallscreenon],1 je .nocheckboxw cmp byte[ScreenScale],1 je .notexthq4xa%endif xor eax,eax ; Interpolations mov al,[cvidmode]%ifdef __WIN32__ cmp byte[GUIDSIZE+eax],0%else cmp byte[GUII2VID+eax],0%endif je near .notext3 GUIDisplayTextY 5,13,30,GUIVideoTextB1 GUIDisplayCheckboxu 5,18,35,antienab,GUIVideoTextB1a,0.notext3%ifdef __MSDOS__ ; Eagle Filter xor eax,eax mov al,[cvidmode] cmp byte[GUIEAVID+eax],0 je near .notext4 GUIDisplayTextY 5,13,30,GUIVideoTextB1 GUIDisplayCheckboxu 5,18,35,antienab,GUIVideoTextB1b,9.notext4%endif%ifdef __OPENGL__ xor eax,eax ; Bilinear mov al,[cvidmode] cmp byte[GUIBIFIL+eax],0 je near .nocheckboxe GUIDisplayTextY 5,13,30,GUIVideoTextB1 GUIDisplayCheckboxu 5,18,35,BilinearFilter,GUIVideoTextB1c,1.nocheckboxe%endif xor eax,eax ; NTSC filter mov al,[cvidmode] cmp byte[GUINTVID+eax],0 je near .nocheckboxbf GUIDisplayCheckboxu 5,128,35,NTSCFilter,GUIVideoTextB1d,0.nocheckboxbf cmp byte[MMXSupport],0 je near .nocheckboxx xor eax,eax ; Kreed 2x filters mov al,[cvidmode]%ifdef __MSDOS__ cmp byte[GUI2xVID+eax],0%else cmp byte[GUIDSIZE+eax],0%endif je near .nocheckboxx GUIDisplayCheckboxun 5,18,45,En2xSaI,1,GUIVideoTextB1e,2 ;2x GUIDisplayCheckboxun 5,128,45,En2xSaI,2,GUIVideoTextB1f,6 ;Seagle GUIDisplayCheckboxun 5,18,55,En2xSaI,3,GUIVideoTextB1g,2 ;S2x.nocheckboxx cmp byte[MMXSupport],0 je near .notexthq4xa xor eax,eax ; Hq*x mov al,[cvidmode] cmp byte[GUIHQ2X+eax],0 je near .notexthq2xa%ifdef __MSDOS__ GUIDisplayCheckboxu 5,128,55,hqFilter,GUIVideoTextB1h,1%else GUIDisplayCheckboxu 5,128,55,hqFilter,GUIVideoTextB1i,1 cmp byte[hqFilter],0 je near .notexthq4xa GUIDisplayButtonHoleTu 5,128,68,byte[hqFilterlevel],2,GUIVideoTextB1j,1 jmp .notexthq2xa%endif jmp .notexthq4xa.notexthq2xa%ifndef __MSDOS__ xor eax,eax mov al,[cvidmode] cmp byte[GUIHQ3X+eax],0 je near .notexthq3xa GUIDisplayButtonHoleTu 5,158,68,byte[hqFilterlevel],3,GUIVideoTextB1k,0.notexthq3xa xor eax,eax mov al,[cvidmode] cmp byte[GUIHQ4X+eax],0 je near .notexthq4xa GUIDisplayButtonHoleTu 5,188,68,byte[hqFilterlevel],4,GUIVideoTextB1l,0%endif.notexthq4xa xor eax,eax ; Scanlines mov al,[cvidmode]%ifdef __MSDOS__ cmp byte[GUISLVID+eax],0%else cmp byte[GUIDSIZE+eax],0%endif je near .nocheckboxb GUIDisplayTextY 5,13,80,GUIVideoTextB2 ; Scanlines text GUIDisplayButtonHoleTu 5,18,87,byte[scanlines],0,GUIVideoTextB2a,1 ; None GUIDisplayButtonHoleTu 5,168,87,byte[scanlines],1,GUIVideoTextB2d,0 ; Full.nocheckboxb%ifdef __MSDOS__ cmp byte[ScreenScale],1 je .nocheckboxw%endif xor eax,eax mov al,[cvidmode]%ifdef __MSDOS__ cmp byte[GUIHSVID+eax],0%else cmp byte[GUIDSIZE+eax],0%endif je near .nocheckboxw GUIDisplayButtonHoleTu 5,68,87,byte[scanlines],2,GUIVideoTextB2b,0 ; 25% GUIDisplayButtonHoleTu 5,118,87,byte[scanlines],3,GUIVideoTextB2c,0 ; 50%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -