diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 3f64dc28..59df7ff3 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -587,6 +587,7 @@ NEWSYM TripleBufferWin, db 0 NEWSYM ExclusiveSound, db 0 NEWSYM DisableScreenSaver, db 0 NEWSYM TrapMouseCursor, db 1 +NEWSYM KeyQuickMinimize, dd 0 GUIsave equ $-GUIRAdd @@ -606,7 +607,7 @@ 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 ,20 ,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,212 ,240 ,7*16,9*16,8*16,9*16,140 ,250 ,160 GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,184 ,191 ,40 ,189 ,192 ,98 ,42 ,40 ,42 ,70 ,190 ,60 GUIwinptr db 0 diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index b98b4c2f..f745243d 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2637,6 +2637,9 @@ DisplayGameOptnsClick: DGOptnsProcBox 8+114+25,178,[KeyQuickExit] DGOptnsProcBox 8+25,188,[KeyQuickChat] DGOptnsProcBox 8+57+49,188,[KeyQuickSnapShot] +%ifdef __WIN32__ + DGOptnsProcBox 8+111+70,188,[KeyQuickMinimize] +%endif ret DisplayGUIOptnsClick: diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index a9bf9de8..d24dc110 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -4473,6 +4473,9 @@ DisplayGameOptns: GUIOuttextwin2 9,9+114,180,GUIGameOptnsTextB GUIOuttextwin2 9,9,190,GUIGameOptnsTextQ GUIOuttextwin2 9,9+57,190,GUIGameOptnsTextR +%ifdef __WIN32__ + GUIOuttextwin2 9,141,190,GUIGameOptnsTextU +%endif mov byte[GUIGameOptnsColA],163 mov byte[GUIGameOptnsColB],217 @@ -4576,6 +4579,9 @@ DisplayGameOptns: GUIOuttextwin2 9,8+114,179,GUIGameOptnsTextB GUIOuttextwin2 9,8,189,GUIGameOptnsTextQ GUIOuttextwin2 9,8+57,189,GUIGameOptnsTextR +%ifdef __WIN32__ + GUIOuttextwin2 9,140,189,GUIGameOptnsTextU +%endif ; Draw black boxes DGOptnsDrawBox 27,24,[KeyBGDisble0] @@ -4626,6 +4632,9 @@ DisplayGameOptns: DGOptnsDrawBox 8+114+25,178,[KeyQuickExit] DGOptnsDrawBox 8+25,188,[KeyQuickChat] DGOptnsDrawBox 8+57+49,188,[KeyQuickSnapShot] +%ifdef __WIN32__ + DGOptnsDrawBox 8+111+70,188,[KeyQuickMinimize] +%endif ret GUIGameOptnsColA db 0 @@ -4660,6 +4669,7 @@ GUIGameOptnsTextQ db 'CHAT',0 GUIGameOptnsTextR db 'SNAPSHOT',0 GUIGameOptnsTextS db 'REWIND KEY',0 GUIGameOptnsTextT db 'SLOWDWN KEY',0 +GUIGameOptnsTextU db 'MINIMIZE',0 DisplayGUIOptns: GUIDrawWindowBox 10,GUIGUIDisp diff --git a/zsnes/src/vcache.asm b/zsnes/src/vcache.asm index 3f39b1e8..bb2033d0 100644 --- a/zsnes/src/vcache.asm +++ b/zsnes/src/vcache.asm @@ -33,6 +33,7 @@ EXTSYM KeyBGDisble0,KeyBGDisble1,KeyBGDisble2,KeyBGDisble3,KeySprDisble EXTSYM KeyResetAll,KeyExtraEnab,KeyWinDisble,KeyNewGfxSwt,KeyOffsetMSw EXTSYM KeyStateSlc0,KeyStateSlc1,KeyStateSlc2,KeyStateSlc3,KeyStateSlc4 EXTSYM KeyStateSlc5,KeyStateSlc6,KeyStateSlc7,KeyStateSlc8,KeyStateSlc9 +EXTSYM KeyQuickMinimize EXTSYM maxskip,DSPMem,SprValAdd,dsp1ptr,dsp1array,FastFwdToggle,SaveSramData EXTSYM ngextbg,Mode7HiRes,Check60hz,Get_MouseData,Get_MousePositionDisplacement EXTSYM WindowDisables,scanlines,romispal @@ -54,7 +55,9 @@ EXTSYM vcache8b,vidmemch8 EXTSYM offsetmshl,NextLineCache EXTSYM tltype2b,UpdateSoundAgain EXTSYM tltype8b,objwlrpos - +%ifdef __WIN32__ +EXTSYM MinimizeWindow +%endif NEWSYM VCacheAsmStart @@ -688,6 +691,15 @@ NEWSYM cachevideo mov eax,[MsgCount] mov [MessageOn],eax .nofrdown +%ifdef __WIN32__ + mov eax,[KeyQuickMinimize] + test byte[pressed+eax],1 + je .nominimize + pushad + call MinimizeWindow + popad +.nominimize +%endif ; do state selects stateselcomp KeyStateSlc0,'0','T' stateselcomp KeyStateSlc1,'1','1'