Add an export button to cheat dialog.
This commit is contained in:
parent
0c9e7659d9
commit
f3d1b270b5
|
@ -634,19 +634,32 @@ BOOL CALLBACK CheatConsoleCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
case IDC_BTN_CHEAT_ADDFROMFILE:
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
memset(&ofn, 0, sizeof(ofn));
|
||||
ofn.lStructSize = sizeof(ofn);
|
||||
memset(&ofn, 0, sizeof(OPENFILENAME));
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
ofn.hwndOwner = hwndDlg;
|
||||
ofn.hInstance = fceu_hInstance;
|
||||
ofn.lpstrTitle = "Open Cheats file";
|
||||
ofn.lpstrTitle = "Open cheats file";
|
||||
const char filter[] = "Cheat files (*.cht)\0*.cht\0All Files (*.*)\0*.*\0\0";
|
||||
ofn.lpstrFilter = filter;
|
||||
|
||||
char nameo[2048] = { 0 };
|
||||
/*
|
||||
I gave up setting the default filename for import cheat dialog, since the filename display contains a bug.
|
||||
if (GameInfo)
|
||||
{
|
||||
char* filename;
|
||||
if ((filename = strrchr(GameInfo->filename, '\\')) || (filename = strrchr(GameInfo->filename, '/')))
|
||||
strcpy(nameo, filename + 1);
|
||||
else
|
||||
strcpy(nameo, GameInfo->filename);
|
||||
strcpy(strrchr(nameo, '.'), ".cht");
|
||||
}
|
||||
*/
|
||||
ofn.lpstrFile = nameo;
|
||||
ofn.nMaxFile = 2048;
|
||||
ofn.lpstrDefExt = "cht";
|
||||
ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST;
|
||||
std::string initdir = FCEU_GetPath(FCEUMKF_CHEAT);
|
||||
std::string initdir = FCEU_GetPath(FCEUMKF_CHEAT) + PSS;
|
||||
ofn.lpstrInitialDir = initdir.c_str();
|
||||
|
||||
if (GetOpenFileName(&ofn))
|
||||
|
@ -662,6 +675,45 @@ BOOL CALLBACK CheatConsoleCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
}
|
||||
}
|
||||
break;
|
||||
case IDC_BTN_CHEAT_EXPORTTOFILE:
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
memset(&ofn, 0, sizeof(OPENFILENAME));
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
ofn.hInstance = fceu_hInstance;
|
||||
ofn.lpstrTitle = "Save cheats file";
|
||||
const char filter[] = "Cheat files (*.cht)\0*.cht\0All Files (*.*)\0*.*\0\0";
|
||||
ofn.lpstrFilter = filter;
|
||||
|
||||
char nameo[2048] = { 0 };
|
||||
if (GameInfo)
|
||||
{
|
||||
char* filename;
|
||||
if ((filename = strrchr(GameInfo->filename, '\\')) || (filename = strrchr(GameInfo->filename, '/')))
|
||||
strcpy(nameo, filename + 1);
|
||||
else
|
||||
strcpy(nameo, GameInfo->filename);
|
||||
strcpy(strrchr(nameo, '.'), ".cht");
|
||||
}
|
||||
ofn.lpstrFile = nameo;
|
||||
ofn.nMaxFile = 2048;
|
||||
ofn.lpstrDefExt = "cht";
|
||||
ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST;
|
||||
std::string initdir = FCEU_GetPath(FCEUMKF_CHEAT) + PSS;
|
||||
ofn.lpstrInitialDir = initdir.c_str();
|
||||
|
||||
if (GetSaveFileName(&ofn))
|
||||
{
|
||||
FILE* file = FCEUD_UTF8fopen(nameo, "wb");
|
||||
if (file)
|
||||
{
|
||||
savecheats = 1;
|
||||
FCEU_FlushGameCheats(file, 0);
|
||||
fclose(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case IDC_BTN_CHEAT_RESET:
|
||||
FCEUI_CheatSearchBegin();
|
||||
ShowResults(hwndDlg);
|
||||
|
@ -1001,7 +1053,7 @@ BOOL CALLBACK GGConvCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
GGConv_wndy = 0;
|
||||
SetWindowPos(hwndDlg, 0, GGConv_wndx, GGConv_wndy, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER);
|
||||
SendDlgItemMessage(hwndDlg, IDC_GAME_GENIE_CODE, EM_SETLIMITTEXT, 8, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_GAME_GENIE_ADDR, EM_SETLIMITTEXT, 5, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_GAME_GENIE_ADDR, EM_SETLIMITTEXT, 4, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_GAME_GENIE_COMP, EM_SETLIMITTEXT, 2, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_GAME_GENIE_VAL, EM_SETLIMITTEXT, 2, 0);
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutral resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
#pragma code_page(1252)
|
||||
|
@ -1826,10 +1827,14 @@ BEGIN
|
|||
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,68,67,10
|
||||
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,83,67,10
|
||||
GROUPBOX "Greenzone saving options",IDC_STATIC,13,98,97,72
|
||||
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,"Button",BS_AUTORADIOBUTTON,23,109,77,10
|
||||
CONTROL " every 16th frame",IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,"Button",BS_AUTORADIOBUTTON,23,124,77,10
|
||||
CONTROL " marked frames",IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,"Button",BS_AUTORADIOBUTTON,23,139,77,10
|
||||
CONTROL " don't save",IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,"Button",BS_AUTORADIOBUTTON,23,154,77,10
|
||||
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,
|
||||
"Button",BS_AUTORADIOBUTTON,23,109,77,10
|
||||
CONTROL " every 16th frame",IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,
|
||||
"Button",BS_AUTORADIOBUTTON,23,124,77,10
|
||||
CONTROL " marked frames",IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,
|
||||
"Button",BS_AUTORADIOBUTTON,23,139,77,10
|
||||
CONTROL " don't save",IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,
|
||||
"Button",BS_AUTORADIOBUTTON,23,154,77,10
|
||||
END
|
||||
|
||||
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
||||
|
@ -1972,47 +1977,48 @@ BEGIN
|
|||
LTEXT "New Selection Name:",-1,5,240,68,8
|
||||
END
|
||||
|
||||
CHEATCONSOLE DIALOGEX 0, 0, 386, 217
|
||||
CHEATCONSOLE DIALOGEX 0, 0, 387, 218
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Cheat Search"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Active Cheats",IDC_GROUPBOX_CHEATLIST,5,2,169,209,WS_TABSTOP
|
||||
GROUPBOX "Cheat Search",IDC_GROUPBOX_CHEATSEARCH,179,2,201,209,WS_TABSTOP
|
||||
GROUPBOX "Cheat Search",IDC_GROUPBOX_CHEATSEARCH,180,2,201,198,WS_TABSTOP
|
||||
CONTROL "",IDC_LIST_CHEATS,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,11,11,157,133
|
||||
LTEXT "Name:",IDC_STATIC,12,149,22,10
|
||||
LTEXT "Value:",IDC_CHEAT_VAL_LABEL,73,163,22,8
|
||||
LTEXT "Compare:",IDC_CHEAT_COM_LABEL,117,163,34,8
|
||||
EDITTEXT IDC_CHEAT_NAME,37,147,131,12,ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
EDITTEXT IDC_CHEAT_ADDR,44,161,25,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
EDITTEXT IDC_CHEAT_VAL,97,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
EDITTEXT IDC_CHEAT_COM,152,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
DEFPUSHBUTTON "Add",IDC_BTN_CHEAT_ADD,9,192,36,16
|
||||
PUSHBUTTON "Delete",IDC_BTN_CHEAT_DEL,45,192,36,16
|
||||
PUSHBUTTON "Update",IDC_BTN_CHEAT_UPD,81,192,36,16
|
||||
PUSHBUTTON "Reset",IDC_BTN_CHEAT_RESET,191,12,55,15
|
||||
PUSHBUTTON "Known Value:",IDC_BTN_CHEAT_KNOWN,191,32,55,15
|
||||
LTEXT "0x",IDC_CHEAT_LABEL_KNOWN,216,51,9,8
|
||||
EDITTEXT IDC_CHEAT_VAL_KNOWN,227,49,18,12,ES_UPPERCASE
|
||||
GROUPBOX "Previous Compare",IDC_GROUP_PREV_COM,184,63,69,132
|
||||
PUSHBUTTON "Equal",IDC_BTN_CHEAT_EQ,191,75,55,15,WS_GROUP
|
||||
PUSHBUTTON "Not Equal",IDC_BTN_CHEAT_NE,191,96,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_NE_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,114,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_NE_BY,227,113,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
PUSHBUTTON "Greater Than",IDC_BTN_CHEAT_GT,191,129,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_GT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,147,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_GT_BY,227,146,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
PUSHBUTTON "Less Than",IDC_BTN_CHEAT_LT,191,162,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_LT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,180,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_LT_BY,227,179,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
GROUPBOX "Possibilities",IDC_CHEAT_BOX_POSSIBILITIES,257,8,117,187,WS_TABSTOP
|
||||
CONTROL "",IDC_CHEAT_LIST_POSSIBILITIES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,263,18,106,172
|
||||
LTEXT "Name:", IDC_STATIC, 12, 149, 22, 10
|
||||
EDITTEXT IDC_CHEAT_NAME,37,147,131,12,ES_AUTOHSCROLL | ES_WANTRETURN
|
||||
LTEXT "Address:", IDC_CHEAT_ADDRESS_LABEL, 12, 163, 30, 8
|
||||
EDITTEXT IDC_CHEAT_ADDR,44,161,25,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
LTEXT "Value:", IDC_CHEAT_VAL_LABEL, 73, 163, 22, 8
|
||||
EDITTEXT IDC_CHEAT_VAL,97,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
LTEXT "Compare:", IDC_CHEAT_COM_LABEL, 117, 163, 34, 8
|
||||
EDITTEXT IDC_CHEAT_COM,152,161,16,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
LTEXT "Cheat code / Game Genie:", IDC_CHEAT_CODE_GG_LABEL, 11, 177, 87, 8
|
||||
EDITTEXT IDC_CHEAT_TEXT, 105, 175, 63, 12, ES_UPPERCASE | ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "Add",IDC_BTN_CHEAT_ADD,7,192,30,16
|
||||
PUSHBUTTON "Delete",IDC_BTN_CHEAT_DEL,37,192,30,16
|
||||
PUSHBUTTON "Update",IDC_BTN_CHEAT_UPD,67,192,30,16
|
||||
PUSHBUTTON "Import...", IDC_BTN_CHEAT_ADDFROMFILE, 100, 192, 36, 16
|
||||
PUSHBUTTON "Export...", IDC_BTN_CHEAT_EXPORTTOFILE, 136, 192, 36, 16
|
||||
PUSHBUTTON "Reset",IDC_BTN_CHEAT_RESET,192,12,55,15
|
||||
PUSHBUTTON "Known Value:",IDC_BTN_CHEAT_KNOWN,192,32,55,15
|
||||
LTEXT "0x",IDC_CHEAT_LABEL_KNOWN,217,51,9,8
|
||||
EDITTEXT IDC_CHEAT_VAL_KNOWN,228,49,18,12,ES_UPPERCASE
|
||||
GROUPBOX "Previous Compare",IDC_GROUP_PREV_COM,185,63,69,132
|
||||
PUSHBUTTON "Equal",IDC_BTN_CHEAT_EQ,192,75,55,15,WS_GROUP
|
||||
PUSHBUTTON "Not Equal",IDC_BTN_CHEAT_NE,192,96,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_NE_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,204,114,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_NE_BY,228,113,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
PUSHBUTTON "Greater Than",IDC_BTN_CHEAT_GT,192,129,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_GT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,204,147,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_GT_BY,228,146,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
PUSHBUTTON "Less Than",IDC_BTN_CHEAT_LT,192,162,55,15
|
||||
CONTROL "By:",IDC_CHEAT_CHECK_LT_BY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,204,180,22,10
|
||||
EDITTEXT IDC_CHEAT_VAL_LT_BY,228,179,18,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
GROUPBOX "Possibilities",IDC_CHEAT_BOX_POSSIBILITIES,258,8,117,187,WS_TABSTOP
|
||||
CONTROL "",IDC_CHEAT_LIST_POSSIBILITIES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,264,18,106,172
|
||||
CONTROL " Pause emulation when this window is active",IDC_CHEAT_PAUSEWHENACTIVE,
|
||||
"Button",BS_AUTOCHECKBOX,185,198,157,10
|
||||
PUSHBUTTON "Import...",IDC_BTN_CHEAT_ADDFROMFILE,126,192,43,16
|
||||
EDITTEXT IDC_CHEAT_TEXT,105,175,63,12,ES_UPPERCASE | ES_AUTOHSCROLL
|
||||
LTEXT "Address:",IDC_CHEAT_ADDRESS_LABEL,12,163,30,8
|
||||
LTEXT "Cheat code / Game Genie:",IDC_CHEAT_CODE_GG_LABEL,12,177,87,8
|
||||
"Button",BS_AUTOCHECKBOX,180,202,157,10
|
||||
END
|
||||
|
||||
IDD_LUA DIALOGEX 0, 0, 270, 150
|
||||
|
@ -2221,10 +2227,14 @@ BEGIN
|
|||
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,92,67,10
|
||||
GROUPBOX "File contents",IDC_STATIC,105,4,111,177
|
||||
GROUPBOX "Greenzone saving options",IDC_STATIC,112,106,97,69
|
||||
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,"Button",BS_AUTORADIOBUTTON,122,117,77,10
|
||||
CONTROL " every 16th frame", IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,"Button",BS_AUTORADIOBUTTON,122,131,77,10
|
||||
CONTROL " marked frames", IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,"Button",BS_AUTORADIOBUTTON,122,145,77,10
|
||||
CONTROL " don't save", IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,"Button",BS_AUTORADIOBUTTON,122,159,77,10
|
||||
CONTROL " all frames",IDC_RADIO_GREENZONE_SAVINGMODE_ALLFRAMES,
|
||||
"Button",BS_AUTORADIOBUTTON,122,117,77,10
|
||||
CONTROL " every 16th frame",IDC_RADIO_GREENZONE_SAVINGMODE_EVERY16FRAME,
|
||||
"Button",BS_AUTORADIOBUTTON,122,131,77,10
|
||||
CONTROL " marked frames",IDC_RADIO_GREENZONE_SAVINGMODE_MARKEDFRAMES,
|
||||
"Button",BS_AUTORADIOBUTTON,122,145,77,10
|
||||
CONTROL " don't save",IDC_RADIO_GREENZONE_SAVINGMODE_DONTSAVE,
|
||||
"Button",BS_AUTORADIOBUTTON,122,159,77,10
|
||||
CONTROL " Autosave project",IDC_AUTOSAVE_PROJECT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,17,81,10
|
||||
CONTROL " silently",IDC_SILENT_AUTOSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,47,42,10
|
||||
LTEXT "every",IDC_AUTOSAVE_PERIOD_EVERY_TEXT,14,32,21,8
|
||||
|
@ -2432,8 +2442,8 @@ BEGIN
|
|||
|
||||
"CHEATCONSOLE", DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 385
|
||||
BOTTOMMARGIN, 216
|
||||
RIGHTMARGIN, 386
|
||||
BOTTOMMARGIN, 217
|
||||
END
|
||||
|
||||
"VIDEOCONFIG", DIALOG
|
||||
|
@ -2683,16 +2693,6 @@ IDB_BITMAP_SELECTED17 BITMAP "res\\te_17_selected.bmp"
|
|||
IDB_BITMAP_SELECTED18 BITMAP "res\\te_18_selected.bmp"
|
||||
IDB_BITMAP_SELECTED19 BITMAP "res\\te_19_selected.bmp"
|
||||
IDB_BRANCH_SPRITESHEET BITMAP "res\\branch_spritesheet.bmp"
|
||||
#endif // Neutral resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -2717,7 +2717,7 @@ END
|
|||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S) resources
|
||||
#endif // Neutral resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
|
|
@ -468,6 +468,7 @@
|
|||
#define IDC_NTVIEW_SHOW_ATTRIBUTES 1009
|
||||
#define IDC_NTVIEW_HIDE_PALETTES 1010
|
||||
#define MW_ADDR03 1010
|
||||
#define IDC_BTN_CHEAT_EXPORTTOFILE 1011
|
||||
#define MW_ADDR04 1013
|
||||
#define MW_ADDR05 1016
|
||||
#define MW_ADDR06 1019
|
||||
|
@ -999,7 +1000,7 @@
|
|||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 303
|
||||
#define _APS_NEXT_COMMAND_VALUE 40000
|
||||
#define _APS_NEXT_CONTROL_VALUE 1011
|
||||
#define _APS_NEXT_CONTROL_VALUE 1012
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue