From b26087f2ba58a5d6c9d30c521a295db7c3f5850a Mon Sep 17 00:00:00 2001 From: stephena Date: Sun, 11 Jul 2004 03:13:24 +0000 Subject: [PATCH] Added ability to configure more stuff to the Config Page. This is all I'm adding to it, since the other options can be toggled within the emulation. All I have to figure out is how to fix scrolling down in a integer-box making the number get bigger. It's a confirmed bug, and the VC++ docs say that it's counterintuitive but that's the way it works. Damn, I really hate Windows. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/win32/StellaX/ConfigPage.cxx | 184 ++++++++++++++++++------ stella/src/win32/StellaX/StellaX.aps | Bin 39668 -> 40556 bytes stella/src/win32/StellaX/StellaX.rc | 57 +++++--- stella/src/win32/StellaX/resource.h | 20 ++- stella/src/win32/Stella_Emulator.ncb | Bin 510976 -> 510976 bytes stella/src/win32/Stella_Emulator.suo | Bin 11776 -> 11776 bytes 6 files changed, 189 insertions(+), 72 deletions(-) diff --git a/stella/src/win32/StellaX/ConfigPage.cxx b/stella/src/win32/StellaX/ConfigPage.cxx index 0b229c07b..2f075ef4a 100644 --- a/stella/src/win32/StellaX/ConfigPage.cxx +++ b/stella/src/win32/StellaX/ConfigPage.cxx @@ -14,9 +14,12 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: ConfigPage.cxx,v 1.3 2004-07-06 22:51:58 stephena Exp $ +// $Id: ConfigPage.cxx,v 1.4 2004-07-11 03:13:24 stephena Exp $ //============================================================================ +//#define WINVER 0x0501 +//#include + #include "pch.hxx" #include "ConfigPage.hxx" #include "resource.h" @@ -34,53 +37,97 @@ CConfigPage::CConfigPage( CGlobalData& rGlobalData ) BOOL CConfigPage::OnInitDialog( HWND hwnd ) { - // return FALSE if SetFocus is called m_hwnd = hwnd; HWND hwndCtrl; // Reload settings just in case the emulation changed them myGlobalData.settings().loadConfig(); - // Set up ROMPATH - hwndCtrl = ::GetDlgItem( hwnd, IDC_ROMPATH ); - ::SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 ); - ::SetWindowText( hwndCtrl, - myGlobalData.settings().getString("romdir").c_str() ); + // Get romdir + hwndCtrl = GetDlgItem( hwnd, IDC_ROMPATH ); + SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 ); + SetWindowText( hwndCtrl, myGlobalData.settings().getString("romdir").c_str() ); - // Set up PADDLE - hwndCtrl = ::GetDlgItem( hwnd, IDC_PADDLE ); + // Get ssname + int ssname = 0; + hwndCtrl = GetDlgItem( hwnd, IDC_SNAPSHOT_TYPE ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"ROM Name" ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"ROM MD5" ); + if(myGlobalData.settings().getString("ssname") == "romname") + ssname = 0; + else if(myGlobalData.settings().getString("ssname") == "md5sum") + ssname = 1; + SendMessage( hwndCtrl, CB_SETCURSEL, ssname, 0 ); + + // Get sssingle + hwndCtrl = GetDlgItem( hwnd, IDC_SNAPSHOT_MULTIPLE ); + SendMessage( hwndCtrl, BM_SETCHECK, + myGlobalData.settings().getBool("sssingle") + ? BST_UNCHECKED : BST_CHECKED, 0 ); + + // Get paddle + hwndCtrl = GetDlgItem( hwnd, IDC_PADDLE ); TCHAR psz[4] = _T("0"); TCHAR i; for ( i = 0; i < 4; ++i ) { psz[0] = _T('0') + i; - ::SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)psz ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)psz ); } - ::SendMessage( hwndCtrl, CB_SETCURSEL, - myGlobalData.settings().getInt("paddle"), 0 ); + SendMessage( hwndCtrl, CB_SETCURSEL, myGlobalData.settings().getInt("paddle"), 0 ); - // Set up Video mode + // Get video int videomode = 0; - hwndCtrl = ::GetDlgItem( hwnd, IDC_VIDEO ); - ::SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"Software" ); - ::SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"OpenGL" ); + hwndCtrl = GetDlgItem( hwnd, IDC_VIDEO ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"Software" ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"OpenGL" ); if(myGlobalData.settings().getString("video") == "soft") videomode = 0; else if(myGlobalData.settings().getString("video") == "gl") videomode = 1; - ::SendMessage( hwndCtrl, CB_SETCURSEL, videomode, 0 ); + SendMessage( hwndCtrl, CB_SETCURSEL, videomode, 0 ); - // Set up Aspect Ratio - hwndCtrl = ::GetDlgItem( hwnd, IDC_ASPECT ); - ::SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 ); - ::SetWindowText( hwndCtrl, - myGlobalData.settings().getString("gl_aspect").c_str() ); + // Get gl_aspect + hwndCtrl = GetDlgItem( hwnd, IDC_GL_ASPECT ); + SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 ); + SetWindowText( hwndCtrl, myGlobalData.settings().getString("gl_aspect").c_str() ); - // Set up SOUND - hwndCtrl = ::GetDlgItem( hwnd, IDC_SOUND ); - ::SendMessage( hwndCtrl, BM_SETCHECK, - myGlobalData.settings().getBool("sound") - ? BST_UNCHECKED : BST_CHECKED, 0 ); + // Get gl_fsmax + hwndCtrl = GetDlgItem( hwnd, IDC_GL_FSMAX ); + SendMessage( hwndCtrl, BM_SETCHECK, + myGlobalData.settings().getBool("gl_fsmax") + ? BST_CHECKED : BST_UNCHECKED, 0 ); + + // Get volume +// hwndCtrl = GetDlgItem( hwnd, IDC_SOUND_VOLUME_SPIN ); +// CSpinButtonCtrl spin = (CSpinButtonCtrl) hwndCtrl; + hwndCtrl = GetDlgItem( hwnd, IDC_SOUND_VOLUME ); + SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 ); + SetWindowText( hwndCtrl, myGlobalData.settings().getString("volume").c_str() ); + + // Get fragsize + int fragindex = 2, fragsize = 2048; + hwndCtrl = GetDlgItem( hwnd, IDC_SOUND_FRAGSIZE ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"512" ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"1024" ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"2048" ); + SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"4096" ); + fragsize = myGlobalData.settings().getInt("fragsize"); + if(fragsize == 512) + fragindex = 0; + else if(fragsize == 1024) + fragindex = 1; + else if(fragsize == 2048) + fragindex = 2; + else if(fragsize == 4096) + fragindex = 3; + SendMessage( hwndCtrl, CB_SETCURSEL, fragindex, 0 ); + + // Get sound + hwndCtrl = GetDlgItem( hwnd, IDC_SOUND_ENABLE ); + SendMessage( hwndCtrl, BM_SETCHECK, + myGlobalData.settings().getBool("sound") + ? BST_UNCHECKED : BST_CHECKED, 0 ); return TRUE; } @@ -93,29 +140,47 @@ LONG CConfigPage::OnApply( LPPSHNOTIFY lppsn ) { UNUSED_ALWAYS( lppsn ); - // Apply the changes - // HWND hwnd = lppsn->hdr.hwndFrom; <<-- points to the sheet! - HWND hwndCtrl; TCHAR buffer[ MAX_PATH ]; string str; int i; bool b; - // RomPath - hwndCtrl = ::GetDlgItem( m_hwnd, IDC_ROMPATH ); + // Set romdir + hwndCtrl = GetDlgItem( m_hwnd, IDC_ROMPATH ); ASSERT( hwndCtrl ); - ::GetWindowText( hwndCtrl, buffer, MAX_PATH ); + GetWindowText( hwndCtrl, buffer, MAX_PATH ); myGlobalData.settings().setString( "romdir", buffer ); - // Paddle - hwndCtrl = ::GetDlgItem( m_hwnd, IDC_PADDLE ); + // Set ssname + hwndCtrl = GetDlgItem( m_hwnd, IDC_SNAPSHOT_TYPE ); + ASSERT( hwndCtrl ); + i = SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ); + if( i == 0 ) + str = "romname"; + else if( i == 1 ) + str = "md5sum"; + else + str = "romname"; + myGlobalData.settings().setString( "ssname", str ); + + // Set sssingle + hwndCtrl = GetDlgItem( m_hwnd, IDC_SNAPSHOT_MULTIPLE ); + ASSERT( hwndCtrl ); + if( SendMessage( hwndCtrl, BM_GETCHECK, 0, 0 ) == BST_CHECKED ) + b = false; + else + b = true; + myGlobalData.settings().setBool( "sssingle", b ); + + // Set paddle + hwndCtrl = GetDlgItem( m_hwnd, IDC_PADDLE ); ASSERT( hwndCtrl ); myGlobalData.settings().setInt( "paddle", - ::SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ) ); + SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ) ); - // VideoMode - hwndCtrl = ::GetDlgItem( m_hwnd, IDC_VIDEO ); + // Set video + hwndCtrl = GetDlgItem( m_hwnd, IDC_VIDEO ); ASSERT( hwndCtrl ); i = ::SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ); if( i == 0 ) @@ -126,16 +191,47 @@ LONG CConfigPage::OnApply( LPPSHNOTIFY lppsn ) str = "soft"; myGlobalData.settings().setString( "video", str ); - // AspectRatio - hwndCtrl = ::GetDlgItem( m_hwnd, IDC_ASPECT ); + // Set gl_aspect + hwndCtrl = GetDlgItem( m_hwnd, IDC_GL_ASPECT ); ASSERT( hwndCtrl ); - ::GetWindowText( hwndCtrl, buffer, MAX_PATH ); + GetWindowText( hwndCtrl, buffer, MAX_PATH ); myGlobalData.settings().setString( "gl_aspect", buffer ); - // Sound - hwndCtrl = ::GetDlgItem( m_hwnd, IDC_SOUND ); + // Set gl_fsmax + hwndCtrl = GetDlgItem( m_hwnd, IDC_GL_FSMAX ); ASSERT( hwndCtrl ); - if( ::SendMessage( hwndCtrl, BM_GETCHECK, 0, 0 ) == BST_CHECKED ) + if( SendMessage( hwndCtrl, BM_GETCHECK, 0, 0 ) == BST_CHECKED ) + b = true; + else + b = false; + myGlobalData.settings().setBool( "gl_fsmax", b ); + + // Set volume + hwndCtrl = GetDlgItem( m_hwnd, IDC_SOUND_VOLUME ); + ASSERT( hwndCtrl ); + GetWindowText( hwndCtrl, buffer, MAX_PATH ); + myGlobalData.settings().setString( "volume", buffer ); + + // Set fragsize + hwndCtrl = GetDlgItem( m_hwnd, IDC_SOUND_FRAGSIZE ); + ASSERT( hwndCtrl ); + i = SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ); + if( i == 0 ) + str = "512"; + else if( i == 1 ) + str = "1024"; + else if( i == 2 ) + str = "2048"; + else if( i == 3 ) + str = "4096"; + else + str = "2048"; + myGlobalData.settings().setString( "fragsize", str ); + + // Set sound + hwndCtrl = GetDlgItem( m_hwnd, IDC_SOUND_ENABLE ); + ASSERT( hwndCtrl ); + if( SendMessage( hwndCtrl, BM_GETCHECK, 0, 0 ) == BST_CHECKED ) b = false; else b = true; diff --git a/stella/src/win32/StellaX/StellaX.aps b/stella/src/win32/StellaX/StellaX.aps index 3487aa81e9fb42c8205c354499f11526ad3d47f7..fe3ac7577c45bb0c7ab696698b6d6939edf777be 100644 GIT binary patch delta 2681 zcmZ`*U2IcT9RJ_juZ?wM6-HS%Ybj-d!dO4HG8|31evHO$y;)0{yi~#zN4BwzfjA8v z#>E(U5D$TF56FDc#6U*oSBx<+8ejZ;@r?&Gh8RPPB=}%Vn7?z*ZFjrjxxKx;|Nr@a z{eJ&*PVaxD-u+yCD{i{GKuoC(nP|>(^V}z@rI1Su@^|>V=t-hf zJXX-6@pwAHMPb@4MfptnP`?m$(;g}69n2iga#0{a?NXG8r*hm?AWVCuWH6D=MB`kv zk2<6%I}p{f2Q#@s?inpn85NZRf&q4* zAF&N3_wv^kx1tmMt2O4}#OiFA%|2RLVT*N5EMf~PZ?Y-db!CxxYP>}Q{r{Nwi!4fq zwZ;rPE|oZKD8H_PRL4c~Bdm>Flf_&mtI%lEjZ*P^tN>pUT6;xW&O+y~R=Qb-_U3Xr zGUp1^O=k8+&9HKx{aMqe{JY#$dq-6#t;}urDt*gQ`z4c(($5>e+*q|7h}gx(R`yln zCT4Q<2yCjF7nGrQNx@|kJXW;T{Y!cWl)Hhut8Zg_7_5HBOXl{dgwZ8!=x>pT_*|ei)`G(^!i$d%j zr&C>7S^m`duFAT+kFZf!gLqzWz0KvGmLZE8valIXd+k;fM^vv|Wj8&Yd*dnbiZ2_H zX2bUbdYpG3?paFG2#wNnT7-iBzqDnz6oX^qH^HAZ4f@^Ww0Wg2geK zhQ$=U#22q&%+h%+Mo#*G>gjJ2k8<9i;Age8da*LVOIFuAeSp z%PpsyrExk+6LgARK=5g#lSL}ixJIBk4mlqI?4sqt3pqeB+E6JZ3lC>R$?Lrxg@^qz zzEbu;CS{wJ$F9>uJFq-?MROG$|6xK!E%Y>vQ5|8KLO)A=2r!O&3c;pDurWFfq{Ntwi6|voo-m-pqa|wX%;(ThtHv z&wx7ABqZ+nEw)#hxP2r0(b2@Td9!-EndRr*-X1p>TX3Hc4!LXHGllS1Vdr*s&f{WB zu(-C9{o#vPe@EoEcCiOLTCg)yX*Y8%xYgTx*uWDm>-%uxYiCCwxm#j0cnr<61w4M5 SXOYV;>ovGeFR;%pyZ!^+TT_q# delta 1809 zcma)6Uu;ul6hHU2x7%u&qZ0h9vtW8_S5={o9TUxV!j-j%c zbt5s+7sGNyF&l`)5M$728sm#mF~mPH`l4?<=!5#SEFsYch={-M-gexvkoeu*edqg~ z^PTT^e&@Sg{apU*Q~6v>o_&i49NkOP4td%7$^2(B_gUU;ONV2zWSoM5U@z?=O2neW z+0@a2m_YXM9ZO4TFcFKVu+#$NHv+=hbUd09P>^;TP$ZK&mKA9Vj!E#9F67@sevqMfk1$Igk$(XA{if!4<&L`)1&qF2I(oDSK6gM zzNDzqUj9;PwIazr{#9v}_Agy(=0;m1`)qmnrnUUKEhO>JHBs)YO-irvbnS=IJM6CW z9He{q@Fz;FRDIi0SsNwa5z7iACy+hU)%qb;!@^@*uXmVbB?(W>gVG*ww);%dnu5&o8ZaMshWWbUYC+8yqJmArvD~z;9BNuq zr0;pRt63&0A97uhG4pDxTTG6&D+2wvZAg)mRmC*9NRz(haOczPciBrsa=M1> z6rx%vA;wwqQif7=gjDk33XD*ZCaDXnF<9d?3Tv89&@2_GPtRBVw?K>O3@X1s_4K!e zkZ-Z-s?1XQ7W^9g|LXpQ5)O;d3{BCCbPB2c`m=GDAov*VlT?%=&Nz0Qh`i>%XlTZ3KfK;c|1bkjj|G1s3SdxPcMMR;11)s zS2l9dn;4;QO5|Mc;=@Ebg`-AMR}nRz0Tm%p5$ghMGYLapL4D$Xmf@$8itwDCPzWi+ zo5Vb#DFi- z174!uN^XAH>)BuBL1Zv_l{^(D;v+K;@!>>Jqec$8tEXS&W4_zcF23b!mcA+%yMB0H zS+){gURrFo^<(RCh5a_S?Iy4r3ZGr}$T#eK6;t{V{=(t5O({en2d@G7eJgiwYi0k+ zc6p~$H%DN8=j6E+Oy4J#LD=u3SSudzuf6*=b9%ui>h-Zga)GU4+ zC7pLeLmgs_;RB?0@%)o6uLnq>TZGo*9n<{*Q|SB85nbzMyWizK4Cm~55o*KRxG8iH e$ZzMl|7}<3S(rm_RzsbeLN5dPW!>Mj$^RcAcbS_2 diff --git a/stella/src/win32/StellaX/StellaX.rc b/stella/src/win32/StellaX/StellaX.rc index fe5655c1b..033fee433 100644 --- a/stella/src/win32/StellaX/StellaX.rc +++ b/stella/src/win32/StellaX/StellaX.rc @@ -121,7 +121,7 @@ BEGIN CONTROL "E&xit",IDC_EXIT,"Button",BS_OWNERDRAW | WS_TABSTOP,348, 226,54,16 CTEXT "Written by Jeff Miller (miller@zipcon.net)\nUpdated by Stephen Anthony (sa666_666@hotmail.com)\nStella core by Bradford W. Mott (bwmott@acm.org)", - IDC_STATIC,175,7,227,28,SS_NOPREFIX + IDC_STATIC_TEXT,175,7,227,28,SS_NOPREFIX RTEXT "",IDC_ROMCOUNT,322,45,80,8,SS_NOPREFIX CONTROL "",-1,"Static",SS_ETCHEDHORZ,0,39,411,1 CONTROL "",-1,"Static",SS_ETCHEDHORZ,0,218,411,1 @@ -158,31 +158,44 @@ BEGIN CONTROL "",-1,"Static",SS_ETCHEDHORZ,7,37,284,1 END -IDD_CONFIG_PAGE DIALOGEX 0, 0, 306, 199 +IDD_CONFIG_PAGE DIALOGEX 0, 0, 269, 158 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Options" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - LTEXT "&ROM (.bin) file path:",-1,7,10,64,8 - EDITTEXT IDC_ROMPATH,82,7,152,14,ES_AUTOHSCROLL - PUSHBUTTON "&Browse...",IDC_BROWSE,241,7,50,14 - LTEXT "Set this to the path where your .bin rom files are located.", - -1,7,25,292,8 - CONTROL "",-1,"Static",SS_ETCHEDHORZ,7,39,292,1 - LTEXT "Mouse should emulate &paddle:",-1,7,49,111,8 - COMBOBOX IDC_PADDLE,122,47,48,82,CBS_DROPDOWNLIST | WS_VSCROLL | + GROUPBOX "File Locations",-1,7,7,254,39 + LTEXT "ROM Directory:",-1,14,25,55,8 + EDITTEXT IDC_ROMPATH,67,23,171,13,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_BROWSE,241,23,13,12 + GROUPBOX "Snapshot Settings",-1,7,49,148,43 + LTEXT "Save Snapshot as:",-1,14,61,67,10 + COMBOBOX IDC_SNAPSHOT_TYPE,86,60,60,37,CBS_DROPDOWNLIST | + CBS_SORT | WS_VSCROLL | WS_TABSTOP + CONTROL "Generate multiple snapshots",IDC_SNAPSHOT_MULTIPLE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,27,75,109,11 + GROUPBOX "Paddle Emulation",-1,161,49,100,43 + LTEXT "Mouse is paddle:",-1,167,61,65,8 + COMBOBOX IDC_PADDLE,225,60,30,82,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Set this to specify which paddle the mouse should emulate. This can be any number from 0 to 3 inclusive.", - -1,7,66,198,18 - CONTROL "Disable &Sound",IDC_SOUND,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,164,62,10 - CONTROL "",-1,"Static",SS_ETCHEDHORZ,7,91,291,1 - LTEXT "Video Driver:",-1,7,101,67,10 - COMBOBOX IDC_VIDEO,67,99,51,35,CBS_DROPDOWN | CBS_SORT | + GROUPBOX "Video Settings",-1,7,95,118,57 + LTEXT "Driver:",-1,14,108,28,10 + COMBOBOX IDC_VIDEO,62,106,52,35,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "Aspect Ratio:",-1,7,120,55,10 - CONTROL "",-1,"Static",SS_ETCHEDHORZ,7,136,290,1 - EDITTEXT IDC_ASPECT,66,118,50,12,ES_AUTOHSCROLL + LTEXT "Aspect Ratio:",-1,14,122,50,10 + EDITTEXT IDC_GL_ASPECT,62,120,51,12,ES_AUTOHSCROLL + CONTROL "Maximize FS OpenGL",IDC_GL_FSMAX,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,25,135,86,12 + GROUPBOX "Sound Settings",-1,132,95,96,57 + LTEXT "Volume:",-1,140,108,28,8 + EDITTEXT IDC_SOUND_VOLUME,176,106,29,12,ES_AUTOHSCROLL + CONTROL "",IDC_SOUND_VOLUME_SPIN,"msctls_updown32", + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | + UDS_ARROWKEYS,205,106,11,12 + LTEXT "Frag Size:",-1,140,122,36,8 + COMBOBOX IDC_SOUND_FRAGSIZE,176,120,41,51,CBS_DROPDOWNLIST | + CBS_SORT | WS_VSCROLL | WS_TABSTOP + CONTROL "Disable &Sound",IDC_SOUND_ENABLE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,147,135,62,10 END @@ -213,9 +226,9 @@ BEGIN IDD_CONFIG_PAGE, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 299 + RIGHTMARGIN, 262 TOPMARGIN, 7 - BOTTOMMARGIN, 192 + BOTTOMMARGIN, 152 END END #endif // APSTUDIO_INVOKED diff --git a/stella/src/win32/StellaX/resource.h b/stella/src/win32/StellaX/resource.h index 9d6371f95..9e9646905 100644 --- a/stella/src/win32/StellaX/resource.h +++ b/stella/src/win32/StellaX/resource.h @@ -32,7 +32,7 @@ #define IDC_PLAY 1005 #define IDC_ROMCOUNT 1006 #define IDC_ROMLIST 1007 -#define IDC_STATIC 1008 +#define IDC_STATIC_TEXT 1008 #define IDC_TITLE 1009 #define IDC_WEB_MAINTAINER 1010 #define IDC_WEB_STELLA 1011 @@ -42,14 +42,22 @@ #define IDC_CONFIG 1015 #define IDC_CONFIG2 1016 #define IDC_PADDLE 1017 -#define IDC_SOUND 1018 #define IDC_VOLUME 1019 -#define IDC_VIDEO 1020 -#define IDC_ASPECT 1021 #define IDC_BROWSE 1022 #define IDC_EDIT2 1027 #define IDC_RELOAD 1028 -#define IDC_INSTRUCTIONS 2000 +#define IDC_SNAPSHOT_TYPE 1029 +#define IDC_SNAPSHOT_LOCATION 1030 +#define IDC_SNAPSHOT_MULTIPLE 1031 +#define IDC_SOUND_ENABLE 1032 +#define IDC_SOUND_VOLUME 1033 +#define IDC_LIST1 1033 +#define IDC_VIDEO 1034 +#define IDC_GL_ASPECT 1035 +#define IDC_GL_FSMAX 1036 +#define IDC_SOUND_VOLUME_SPIN 1044 +#define IDC_SOUND_FRAGSIZE 1045 +#define IDC_TAB1 1046 #define ID_FILE_EXIT 32771 // Next default values for new objects @@ -58,7 +66,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 296 #define _APS_NEXT_COMMAND_VALUE 32772 -#define _APS_NEXT_CONTROL_VALUE 1028 +#define _APS_NEXT_CONTROL_VALUE 1047 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/stella/src/win32/Stella_Emulator.ncb b/stella/src/win32/Stella_Emulator.ncb index f2ba98d6631bdaf4087a414aa7eb9b5a40708638..64db0712ee830dfbb968209673b8875246d88071 100644 GIT binary patch delta 16836 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 delta 16230 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 Y$-;ib^>0HMK4zS))>KE^e!1g+0UIGlVgLXD diff --git a/stella/src/win32/Stella_Emulator.suo b/stella/src/win32/Stella_Emulator.suo index ba8cc046ec1533dbb2600e2e8e9ff34742cfd63f..4a6827bf4106618b32180b09a3d773aac8f1cbdd 100644 GIT binary patch delta 569 zcmZ8d&o2W}5T3Vvbg|p6wrDg6DOsTjZR1zsP%Q_94RNVn#E*+6geD@09vtaq4o=)f zBw~*edMI(=Ae{XR64?U>Vcyb2&1Bx2`R4oH&Q3O!O`WH?Y8pD3$+}mdn6G zSr=y91}5BHXt@`7vjh&*^Z;&Xq4Ek+cmZ=-t(n)jgau9{kD+)7cb7cx-D9`rhj)xA zVt%cpS2Kxm-{3{($u{?l#8oI;bRx3)|#dFbv%= z1if@eAwgLPM(7k(h$0MeJL?1CVZtKB9f5vZm$19T&_ljMU+NA=qUNrC<50xbB#PpK J%uMG#`vz=}umb=9 delta 563 zcmZpOX^7d7!@_%E)%sPZ(~dAQGcYhTOs-_{ntYhcaIygl%j6#{XC}Mw8%#dH%d+_g zs}CdNzlnjnH*q+#@iGVl6>|gee;}BAkws;4310wM?H3?@1gNKkKY)h^ssOI&3xA57 zIuirPCJ^YbPU2f&lf=geWOK5BM3^R*3FvWx3Iw%JlB&&Lq&Zj^H8%g1_hJ#l^b!Mu731Upai7U6 zRX(W#_5J@33;~cWAh01?km*E>AQK`4fXXKyP@M-3jmZ<`v?pt-7NZ6Tr!r8Z8W1aj zf`3%mY%%1jI0JZ!Xd4VFUnRX{2ia