From 6c8e30312e644879b35c2c3f71d61dedd0b92d1b Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Sun, 6 May 2001 00:03:07 +0000 Subject: [PATCH] Added save main window position to win32 port --- zsnes/src/gui/gui.asm | 3 +++ zsnes/src/gui/guimouse.inc | 1 + zsnes/src/gui/guiwindp.inc | 9 +++++++++ zsnes/src/win/winlink.cpp | 7 +++++++ 4 files changed, 20 insertions(+) diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 22a6176a..cc8d2477 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -546,6 +546,9 @@ NEWSYM UseCubicSpline, db 1 NEWSYM LargeSoundBuf, db 0 NEWSYM HighPriority, db 0 NEWSYM AlwaysOnTop, db 0 +NEWSYM SaveMainWindowPos, db 1 +NEWSYM MainWindowX, dw -1 +NEWSYM MainWindowY, dw -1 GUIsave equ $-GUIRAdd diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 8631658c..f4086eb4 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2522,6 +2522,7 @@ DisplayGUIOptnsClick: GUIClickCButton6 12,93,byte[GUIEffect],2 %ifdef __WIN32__ GUIClickCButton 12,168,byte[AlwaysOnTop] + GUIClickCButton 12,178,byte[SaveMainWindowPos] %endif cmp eax,25 jl near .nomovebar diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 43f5d592..cdc7700c 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -4612,6 +4612,12 @@ DisplayGUIOptns: mov dword[GUITemp],GUIIconDataCheckBoxC .nocheck9 GUIDisplayIconWin 10,12,168,[GUITemp] + mov dword[GUITemp],GUIIconDataCheckBoxUC + cmp byte[SaveMainWindowPos],1 + jne .nocheck10 + mov dword[GUITemp],GUIIconDataCheckBoxC +.nocheck10 + GUIDisplayIconWin 10,12,178,[GUITemp] %endif mov al,[GUIWincol] mov byte[GUItextcolor],al @@ -4646,6 +4652,7 @@ DisplayGUIOptns: GUIOuttextwin2 10,26,98,GUIGUIOptnsTextC %ifdef __WIN32__ GUIOuttextwin2 10,26,173,GUIGUIOptnsTextE + GUIOuttextwin2 10,26,183,GUIGUIOptnsTextF %endif mov byte[GUIGUIOptnsText6],'R' GUIOuttextwin2 10,16,123,GUIGUIOptnsText6 @@ -4664,6 +4671,7 @@ DisplayGUIOptns: GUIOuttextwin2 10,25,97,GUIGUIOptnsTextC %ifdef __WIN32__ GUIOuttextwin2 10,25,172,GUIGUIOptnsTextE + GUIOuttextwin2 10,25,182,GUIGUIOptnsTextF %endif mov byte[GUIGUIOptnsText6],'R' GUIOuttextwin2 10,15,122,GUIGUIOptnsText6 @@ -4746,6 +4754,7 @@ GUIGUIOptnsTextB dd 'ENABLE SNOW EFFECT',0 GUIGUIOptnsTextC dd 'ENABLE WATER EFFECT',0 GUIGUIOptnsTextD dd 'MAIN WINDOW OPTIONS :',0 GUIGUIOptnsTextE dd 'ALWAYS ON TOP',0 +GUIGUIOptnsTextF db 'SAVE MAIN WINDOW POSITION',0 DisplayGUIAbout: ; cmp byte[OSPort],3 diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index a56cda45..1caa962d 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -187,6 +187,9 @@ extern DWORD SoundQuality; extern BYTE LargeSoundBuf; extern BYTE HighPriority; extern BYTE AlwaysOnTop; +extern BYTE SaveMainWindowPos; +extern WORD MainWindowX; +extern WORD MainWindowY; extern int CurKeyPos; extern int CurKeyReadPos; extern int KeyBuffer[16]; @@ -1375,6 +1378,8 @@ void initwinvideo(void) if(Y>(GetSystemMetrics( SM_CYSCREEN )-WindowHeight)) Y=(GetSystemMetrics( SM_CYSCREEN )-WindowHeight); if(FullScreen==1) {X=0; Y=0;} + if (SaveMainWindowPos == 1) { MainWindowX = X; MainWindowY = Y; } + MoveWindow( hMainWindow, X, Y, WindowWidth, WindowHeight, TRUE ); @@ -1407,6 +1412,8 @@ void initwinvideo(void) if(FullScreen==1) {X=0; Y=0;} if(hMainWindow) CloseWindow(hMainWindow); + if (SaveMainWindowPos == 1 && MainWindowX != -1) { X = MainWindowX; Y = MainWindowY; } + hMainWindow = CreateWindow( "ZSNESWIN", WinName, WS_VISIBLE|WS_POPUP,X,Y, //WS_OVERLAPPED "ZSNESWIN" WindowWidth,WindowHeight,NULL,NULL,hInst,NULL);