(Windows) Set default path for exporting a save to path.BATTERY (same as importing a save)
This commit is contained in:
parent
c8ef38ad20
commit
407b01b39d
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "resource.h"
|
||||
|
||||
char ImportSavFName[MAX_PATH] = {0};
|
||||
char SavFName[MAX_PATH] = {0};
|
||||
u32 fileSaveSize = 0;
|
||||
u32 fileSaveType = 0xFF;
|
||||
|
||||
|
@ -79,7 +79,7 @@ BOOL CALLBACK ImportSizeSelect_Proc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
|
|||
}
|
||||
SendDlgItemMessage(hDlg, IDC_IMP_MANUAL_SIZE, CB_SETCURSEL, fileInfo.type, 0);
|
||||
|
||||
fileSaveSize = MMU_new.backupDevice.importDataSize(ImportSavFName);
|
||||
fileSaveSize = MMU_new.backupDevice.importDataSize(SavFName);
|
||||
|
||||
if (fileSaveSize > 0)
|
||||
{
|
||||
|
@ -174,7 +174,7 @@ bool importSave(HWND hwnd, HINSTANCE hAppInst)
|
|||
ofn.hwndOwner = hwnd;
|
||||
ofn.lpstrFilter = "All supported types\0*.sav;*.duc;*.dss\0Raw/No$GBA Save format (*.sav)\0*.sav\0Action Replay DS Save (*.duc,*.dss)\0*.duc;*.dss\0\0";
|
||||
ofn.nFilterIndex = 1;
|
||||
ofn.lpstrFile = ImportSavFName;
|
||||
ofn.lpstrFile = SavFName;
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrDefExt = "sav";
|
||||
ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST;
|
||||
|
@ -190,7 +190,7 @@ bool importSave(HWND hwnd, HINSTANCE hAppInst)
|
|||
u32 res = DialogBoxW(hAppInst, MAKEINTRESOURCEW(IDD_IMPORT_SAVE_SIZE), hwnd, (DLGPROC)ImportSizeSelect_Proc);
|
||||
if (res < MAX_SAVE_TYPES)
|
||||
{
|
||||
res = MMU_new.backupDevice.importData(ImportSavFName, save_types[res+1].size);
|
||||
res = MMU_new.backupDevice.importData(SavFName, save_types[res+1].size);
|
||||
if (res)
|
||||
{
|
||||
printf("Save was successfully imported\n");
|
||||
|
@ -202,4 +202,30 @@ bool importSave(HWND hwnd, HINSTANCE hAppInst)
|
|||
}
|
||||
|
||||
return (res == (MAX_SAVE_TYPES + 1));
|
||||
}
|
||||
}
|
||||
|
||||
bool exportSave(HWND hwnd, HINSTANCE hAppInst)
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = hwnd;
|
||||
ofn.lpstrFilter = "Raw Save format (*.sav)\0*.sav\0No$GBA Save format (*.sav)\0*.sav\0\0";
|
||||
ofn.nFilterIndex = 0;
|
||||
ofn.lpstrFile = SavFName;
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrDefExt = "sav";
|
||||
ofn.Flags = OFN_NOREADONLYRETURN | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT;
|
||||
|
||||
char buffer[MAX_PATH] = { 0 };
|
||||
ZeroMemory(buffer, sizeof(buffer));
|
||||
path.getpath(path.BATTERY, buffer);
|
||||
ofn.lpstrInitialDir = buffer;
|
||||
|
||||
if (!GetSaveFileName(&ofn))
|
||||
return true;
|
||||
|
||||
if (ofn.nFilterIndex == 2) strcat(SavFName, "*");
|
||||
|
||||
return !MMU_new.backupDevice.exportData(SavFName);
|
||||
}
|
||||
|
|
|
@ -22,5 +22,6 @@
|
|||
#include <windows.h>
|
||||
|
||||
extern bool importSave(HWND hwnd, HINSTANCE hAppInst);
|
||||
extern bool exportSave(HWND hwnd, HINSTANCE hAppInst);
|
||||
|
||||
#endif
|
|
@ -4741,27 +4741,8 @@ DOKEYDOWN:
|
|||
}
|
||||
case IDM_EXPORTBACKUPMEMORY:
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
NDS_Pause();
|
||||
ZeroMemory(&ofn, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
ofn.hwndOwner = hwnd;
|
||||
ofn.lpstrFilter = "Raw Save format (*.sav)\0*.sav\0No$GBA Save format (*.sav)\0*.sav\0\0";
|
||||
ofn.nFilterIndex = 0;
|
||||
ofn.lpstrFile = ImportSavName;
|
||||
ofn.nMaxFile = MAX_PATH;
|
||||
ofn.lpstrDefExt = "sav";
|
||||
ofn.Flags = OFN_NOREADONLYRETURN | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT;
|
||||
|
||||
if(!GetSaveFileName(&ofn))
|
||||
{
|
||||
NDS_UnPause();
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ofn.nFilterIndex == 2) strcat(ImportSavName, "*");
|
||||
|
||||
if (!MMU_new.backupDevice.exportData(ImportSavName))
|
||||
if (!exportSave(hwnd, hAppInst))
|
||||
MessageBox(hwnd,"Save was not successfully exported","Error",MB_OK);
|
||||
NDS_UnPause();
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue