From fa63c0da88de64211502004aa8b69cd622292ed8 Mon Sep 17 00:00:00 2001 From: p989 Date: Mon, 29 Jun 2009 06:59:21 +0000 Subject: [PATCH] win32: path settings on one page, manual edits saved --- desmume/src/windows/pathsettings.cpp | 81 ++++++++++++++++++++++----- desmume/src/windows/resource.h | 19 ++++++- desmume/src/windows/resources.rc | Bin 681388 -> 683744 bytes 3 files changed, 84 insertions(+), 16 deletions(-) diff --git a/desmume/src/windows/pathsettings.cpp b/desmume/src/windows/pathsettings.cpp index 4ae96e9e7..74d0cc582 100644 --- a/desmume/src/windows/pathsettings.cpp +++ b/desmume/src/windows/pathsettings.cpp @@ -55,6 +55,7 @@ char pathToCheats[MAX_PATH]; char pathToSounds[MAX_PATH]; char pathToFirmware[MAX_PATH]; char pathToModule[MAX_PATH]; +char pathToLua[MAX_PATH]; char screenshotFormat[MAX_FORMAT]; char *currentSelection = 0; @@ -117,7 +118,7 @@ BOOL BrowseForPath(char *pathToBrowse) { changed = true; SHGetPathFromIDList(idList, pathToBrowse); - shMalloc->Free(&idList); +// shMalloc->Free(&idList); } return changed; @@ -281,7 +282,6 @@ void FormatName(char *output, int maxCount) tm *time_struct = localtime(&now); srand(now); - for(int i = 0; i < MAX_FORMAT;i++) { char *c = &screenshotFormat[i]; @@ -343,7 +343,7 @@ BOOL SavePathForRomVisit() /*class functions*/ void HideControls(HWND hDlg) -{ +{/* HWND h = GetDlgItem(hDlg, IDC_USELASTVISIT); ShowWindow(h, SW_HIDE); @@ -360,12 +360,12 @@ void HideControls(HWND hDlg) ShowWindow(h, SW_HIDE); h = GetDlgItem(hDlg, IDC_FORMATEDIT); - ShowWindow(h, SW_HIDE); + ShowWindow(h, SW_HIDE);*/ } void PathSettings_OnSelChange(HWND hDlg, HWND hwndCtl) { - HideControls(hDlg); +/* HideControls(hDlg); switch(ComboBox_GetCurSel(hwndCtl)) { @@ -431,7 +431,7 @@ void PathSettings_OnSelChange(HWND hDlg, HWND hwndCtl) currentKey = FIRMWAREKEY; break; } - SetDlgItemText(hDlg, IDC_PATHEDIT, currentSelection); + SetDlgItemText(hDlg, IDC_PATHEDIT, currentSelection);*/ } @@ -439,16 +439,52 @@ void PathSettings_OnCommand(HWND hDlg, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { - case IDC_BROWSE: + case IDC_BROWSEROMS: { - if(BrowseForPath(currentSelection)) - SetDlgItemText(hDlg, IDC_PATHEDIT, currentSelection); + if(BrowseForPath(pathToRoms)) + SetDlgItemText(hDlg, IDC_ROMPATHEDIT, pathToRoms); } break; - case IDC_DEFAULT: + case IDC_BROWSESRAM: { - GetDefaultPath(currentSelection, currentKey, MAX_PATH); - SetDlgItemText(hDlg, IDC_PATHEDIT, currentSelection); + if(BrowseForPath(pathToBattery)) + SetDlgItemText(hDlg, IDC_SAVERAMPATHEDIT, pathToBattery); + } + break; + case IDC_BROWSESTATES: + { + if(BrowseForPath(pathToStates)) + SetDlgItemText(hDlg, IDC_STATEPATHEDIT, pathToStates); + } + break; + case IDC_BROWSESCREENSHOTS: + { + if(BrowseForPath(pathToScreenshots)) + SetDlgItemText(hDlg, IDC_SCREENSHOTPATHEDIT, pathToScreenshots); + } + break; + case IDC_BROWSEAVI: + { + if(BrowseForPath(pathToAviFiles)) + SetDlgItemText(hDlg, IDC_AVIPATHEDIT, pathToAviFiles); + } + break; + case IDC_BROWSECHEATS: + { + if(BrowseForPath(pathToCheats)) + SetDlgItemText(hDlg, IDC_CHEATPATHEDIT, pathToCheats); + } + break; + case IDC_BROWSELUA: + { + if(BrowseForPath(pathToLua)) + SetDlgItemText(hDlg, IDC_LUAPATHEDIT, pathToLua); + } + break; + case IDC_PATHDEFAULTS: + { + /* GetDefaultPath(currentSelection, currentKey, MAX_PATH); + SetDlgItemText(hDlg, IDC_PATHEDIT, currentSelection);*/ } break; case IDC_PNG: @@ -485,6 +521,15 @@ void PathSettings_OnCommand(HWND hDlg, int id, HWND hwndCtl, UINT codeNotify) } break; case IDOK: + + GetDlgItemText(hDlg, IDC_ROMPATHEDIT, pathToRoms, MAX_PATH); + GetDlgItemText(hDlg, IDC_SAVERAMPATHEDIT, pathToBattery, MAX_PATH); + GetDlgItemText(hDlg, IDC_STATEPATHEDIT, pathToStates, MAX_PATH); + GetDlgItemText(hDlg, IDC_SCREENSHOTPATHEDIT, pathToScreenshots, MAX_PATH); + GetDlgItemText(hDlg, IDC_AVIPATHEDIT, pathToAviFiles, MAX_PATH); + GetDlgItemText(hDlg, IDC_CHEATPATHEDIT, pathToCheats, MAX_PATH); + GetDlgItemText(hDlg, IDC_LUAPATHEDIT, pathToLua, MAX_PATH); + WritePathSettings(); EndDialog(hDlg, 0); break; @@ -499,7 +544,7 @@ void PathSettings_OnCommand(HWND hDlg, int id, HWND hwndCtl, UINT codeNotify) BOOL PathSettings_OnInitDialog(HWND hDlg, HWND hwndFocus, LPARAM lParam) { HWND hwnd = GetDlgItem(hDlg, IDC_PATHLIST); - ComboBox_AddString(hwnd, ROMKEY); +/* ComboBox_AddString(hwnd, ROMKEY); ComboBox_AddString(hwnd, BATTERYKEY); ComboBox_AddString(hwnd, STATEKEY); ComboBox_AddString(hwnd, SCREENSHOTKEY); @@ -508,7 +553,7 @@ BOOL PathSettings_OnInitDialog(HWND hDlg, HWND hwndFocus, LPARAM lParam) ComboBox_AddString(hwnd, SOUNDKEY); ComboBox_AddString(hwnd, FIRMWAREKEY); - ComboBox_SetCurSel(hwnd, 0); + ComboBox_SetCurSel(hwnd, 0);*/ PathSettings_OnSelChange(hDlg, NULL); CheckDlgButton(hDlg, IDC_USELASTVISIT, (romsLastVisit) ? BST_CHECKED : BST_UNCHECKED); @@ -531,6 +576,14 @@ BOOL PathSettings_OnInitDialog(HWND hDlg, HWND hwndFocus, LPARAM lParam) SetWindowPos(toolTip, HWND_TOPMOST, 0,0,0,0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); + SetDlgItemText(hDlg, IDC_ROMPATHEDIT, pathToRoms); + SetDlgItemText(hDlg, IDC_SAVERAMPATHEDIT, pathToBattery); + SetDlgItemText(hDlg, IDC_STATEPATHEDIT, pathToStates); + SetDlgItemText(hDlg, IDC_SCREENSHOTPATHEDIT, pathToScreenshots); + SetDlgItemText(hDlg, IDC_AVIPATHEDIT, pathToAviFiles); + SetDlgItemText(hDlg, IDC_CHEATPATHEDIT, pathToCheats); + SetDlgItemText(hDlg, IDC_LUAPATHEDIT, pathToLua); + TOOLINFO ti; ZeroMemory(&ti, sizeof(ti)); ti.cbSize = sizeof(ti); diff --git a/desmume/src/windows/resource.h b/desmume/src/windows/resource.h index 6681bd0b4..bd50fb9eb 100644 --- a/desmume/src/windows/resource.h +++ b/desmume/src/windows/resource.h @@ -123,8 +123,23 @@ #define IDC_PNG 325 #define IDC_BMP 326 #define IDC_FORMATSTATIC 327 -#define IDM_PATHSETTINGS 328 -#define IDD_PATHSETTINGS 229 +#define IDM_PATHSETTINGS 350 +#define IDC_ROMPATHEDIT 351 +#define IDC_BROWSEROMS 352 +#define IDC_PATHDEFAULTS 353 +#define IDC_SAVERAMPATHEDIT 354 +#define IDC_BROWSESRAM 355 +#define IDC_STATEPATHEDIT 356 +#define IDC_BROWSESTATES 357 +#define IDC_SCREENSHOTPATHEDIT 358 +#define IDC_BROWSESCREENSHOTS 359 +#define IDC_AVIPATHEDIT 360 +#define IDC_BROWSEAVI 361 +#define IDC_CHEATPATHEDIT 362 +#define IDC_BROWSECHEATS 363 +#define IDC_LUAPATHEDIT 364 +#define IDC_BROWSELUA 365 +#define IDD_PATHSETTINGS 366 #define IDC_DES_BOX 402 #define IDC_R0 403 #define IDC_R1 404 diff --git a/desmume/src/windows/resources.rc b/desmume/src/windows/resources.rc index 7203cc5d5429c37eb21007c41bae36c482f4a9e2..00ec95ea74337411f45fab38061e3b8240aa4085 100644 GIT binary patch delta 2325 zcmeHIO>9(E6h5!_-8XOA*gq(P*8a>u!O?;A&0jn8$9Wy5w4{Zx9g8s#)PDL?!7Y|D)Yk9jd{5< zcjle%ob!F>oO@3#1efjxj~&;JS6yVk;<^kBz&N}`YZUg4KTLy}~y}oIsZl@zue(uW*h6m z5Q8v;pq)PB5JCSd>>WJZTKzn(d}F?by$PPdxmmN*S^DAyr#+-^8ifqlqU4ZnHldGqxRTGjgkhj8>OAFi9qKn!lIzphj~gng8mlcS>GUe ze-%c^udt0s`zXZGKhA7i+2}R!STC<{vdB$TI*G`@B7CRv6`FgW_u%Cu zZ^Vy!`FdPR^4hut@fJx(q?a)I7qxYG?y&x%vy?Elj!_bohzd;XDMZJKsz56-5~~P7 zwBZwPA5Qo1LHwzQ2QYijvmI9kyt{F3hpBtR&?R#U5|)O$np^5lWWi65lF>le`eXEB&O&Fa3N&jVhxwMEh^8N$L^I z%5tYGlwBmzt@K-4_F%c}<5Wn|F6m-Lb(NtKc&((2z0s578OPef#8+mAw zX9S+Hh;g|WMH_ER$>|ZYxP?xTpvv)M)AUlAXW7GAb_!P#HaJ3~WV-|rBC7Fn8(D=e z^D809z2ko~hV8F&1Lymy4bKrc2p_@}T3NlNNzHbrJQc){3i45G_`S+<>Q9)?)O0;2 zvwCfvuJur9RK*4;DQJ3K7e=#3^`oL^uG}(^5#W%Bj-^?%H_s$>v2ecX1KL7v# delta 1385 zcmdT^T}TvB6h7n3U1v=f^9Oa8ZFk!Qt!>*`S4mkHS4~$f72JLxQjj2ei4=m05F=@W zh@$&&vZQ=cioyhSk_sZ~Nejg4K?sb9kbbC_!iS(cKX)gjpXV6no;%;(^PTUU@3PCU z%Wuz>4-N@K8B^jbBq2Bsin@ZLPcZlHVUgI(edP@cKRhaCa{SDgSjx}e9~WI5U%6x9 zz6lHOn6~iLjD=4>u<%b0E!_3Q!n>YY`02Sco|>H()!BLJYq?;@$#2qm7UFLukJ|fP zdhQbKV5jTlLN%FB?v)mKAp`;7YZxkxZ}csSE^I9jit+jfIf_RXMJIJ$D8|rx*-08< zCp6l~1a0V2mVUR{k|z*OE@hTT7%2 zk4DMnN~5_BXiK+akW`r@zi(&Zq6-hoSs^+&;t;$vK2TJm$u;I|tP#_wDk==;H_ROln*;cJ!+VH3wUi+2wXru-T}sG- cz5nlDk-G9iKH