Taseditor: Config->Project file saving options

This commit is contained in:
ansstuff 2013-01-10 17:13:33 +00:00
parent efed1b3dec
commit 30378d8b49
13 changed files with 214 additions and 119 deletions

View File

@ -346,23 +346,30 @@ static CFGSTRUCT fceuconfig[] =
AC(taseditor_config.enable_hot_changes), AC(taseditor_config.enable_hot_changes),
AC(taseditor_config.greenzone_capacity), AC(taseditor_config.greenzone_capacity),
AC(taseditor_config.undo_levels), AC(taseditor_config.undo_levels),
AC(taseditor_config.autosave_period),
AC(taseditor_config.jump_to_undo), AC(taseditor_config.jump_to_undo),
AC(taseditor_config.follow_note_context), AC(taseditor_config.follow_note_context),
AC(taseditor_config.last_export_type), AC(taseditor_config.last_export_type),
AC(taseditor_config.last_export_subtitles), AC(taseditor_config.last_export_subtitles),
AC(taseditor_config.save_binary),
AC(taseditor_config.save_markers),
AC(taseditor_config.save_bookmarks),
AC(taseditor_config.save_history),
AC(taseditor_config.save_piano_roll),
AC(taseditor_config.save_selection),
AC(taseditor_config.save_greenzone),
AC(taseditor_config.savecompact_binary), AC(taseditor_config.savecompact_binary),
AC(taseditor_config.savecompact_markers), AC(taseditor_config.savecompact_markers),
AC(taseditor_config.savecompact_bookmarks), AC(taseditor_config.savecompact_bookmarks),
AC(taseditor_config.savecompact_greenzone),
AC(taseditor_config.savecompact_history), AC(taseditor_config.savecompact_history),
AC(taseditor_config.savecompact_piano_roll), AC(taseditor_config.savecompact_piano_roll),
AC(taseditor_config.savecompact_selection), AC(taseditor_config.savecompact_selection),
AC(taseditor_config.savecompact_greenzone),
AC(taseditor_config.findnote_matchcase), AC(taseditor_config.findnote_matchcase),
AC(taseditor_config.findnote_search_up), AC(taseditor_config.findnote_search_up),
AC(taseditor_config.draw_input), AC(taseditor_config.draw_input),
AC(taseditor_config.enable_greenzoning), AC(taseditor_config.enable_greenzoning),
AC(taseditor_config.compact_quicksaving), AC(taseditor_config.enable_autosave),
AC(taseditor_config.autosave_period),
AC(taseditor_config.silent_autosave), AC(taseditor_config.silent_autosave),
AC(taseditor_config.autopause_at_finish), AC(taseditor_config.autopause_at_finish),
AC(taseditor_config.tooltips), AC(taseditor_config.tooltips),

View File

@ -747,7 +747,7 @@ BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP
HDC hdcStatic = (HDC)wParam; HDC hdcStatic = (HDC)wParam;
char szMd5Text[35]; char szMd5Text[35];
GetDlgItemText(hwndDlg, IDC_LABEL_NEWPPUUSED, szMd5Text, 35); GetDlgItemText(hwndDlg, IDC_LABEL_NEWPPUUSED, szMd5Text, 35);
bool want_newppu = (bool)strcmp(szMd5Text, "Off"); bool want_newppu = (strcmp(szMd5Text, "Off") != 0);
extern int newppu; extern int newppu;
if ((want_newppu && newppu) || (!want_newppu && !newppu)) if ((want_newppu && newppu) || (!want_newppu && !newppu))
SetTextColor(hdcStatic, RGB(0,0,0)); // use black color for a match SetTextColor(hdcStatic, RGB(0,0,0)); // use black color for a match

View File

@ -277,14 +277,11 @@ BEGIN
END END
POPUP "Config", 65535,MFT_STRING,MFS_ENABLED POPUP "Config", 65535,MFT_STRING,MFS_ENABLED
BEGIN BEGIN
MENUITEM "Set Greenzone capacity", ID_CONFIG_SETGREENZONECAPACITY,MFT_STRING,MFS_ENABLED MENUITEM "Project file saving options", ID_CONFIG_SAVING_OPTIONS,MFT_STRING,MFS_ENABLED
MENUITEM "Set max Undo levels", ID_CONFIG_SETMAXUNDOLEVELS,MFT_STRING,MFS_ENABLED MENUITEM "Set max Undo levels", ID_CONFIG_SETMAXUNDOLEVELS,MFT_STRING,MFS_ENABLED
MENUITEM "Set Autosave period", ID_CONFIG_SETAUTOSAVEPERIOD,MFT_STRING,MFS_ENABLED MENUITEM "Set Greenzone capacity", ID_CONFIG_SETGREENZONECAPACITY,MFT_STRING,MFS_ENABLED
MENUITEM MFT_SEPARATOR MENUITEM MFT_SEPARATOR
MENUITEM "Enable Greenzoning", ID_CONFIG_ENABLEGREENZONING,MFT_STRING,MFS_ENABLED MENUITEM "Enable Greenzoning", ID_CONFIG_ENABLEGREENZONING,MFT_STRING,MFS_ENABLED
MENUITEM "Silent Autosave", ID_CONFIG_SILENTAUTOSAVE,MFT_STRING,MFS_ENABLED
MENUITEM "Compact Quicksaving", ID_CONFIG_COMPACTQUICKSAVING,MFT_STRING,MFS_ENABLED
MENUITEM MFT_SEPARATOR
MENUITEM "Autofire Pattern skips Lag", ID_CONFIG_PATTERNSKIPSLAG,MFT_STRING,MFS_ENABLED MENUITEM "Autofire Pattern skips Lag", ID_CONFIG_PATTERNSKIPSLAG,MFT_STRING,MFS_ENABLED
MENUITEM "Auto-adjust Input according to Lag", ID_CONFIG_ADJUSTLAG,MFT_STRING,MFS_ENABLED MENUITEM "Auto-adjust Input according to Lag", ID_CONFIG_ADJUSTLAG,MFT_STRING,MFS_ENABLED
MENUITEM MFT_SEPARATOR MENUITEM MFT_SEPARATOR
@ -1531,24 +1528,24 @@ BEGIN
CONTROL " Down",IDC_RADIO_DOWN,"Button",BS_AUTORADIOBUTTON,125,30,32,10 CONTROL " Down",IDC_RADIO_DOWN,"Button",BS_AUTORADIOBUTTON,125,30,32,10
END END
IDD_TASEDITOR_SAVECOMPACT DIALOGEX 0, 0, 123, 201 IDD_TASEDITOR_SAVECOMPACT DIALOGEX 0, 0, 123, 197
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Save Compact" CAPTION "Save Compact"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
DEFPUSHBUTTON "Save",IDOK,8,181,50,14 DEFPUSHBUTTON "Save",IDOK,8,176,50,14
PUSHBUTTON "Cancel",IDCANCEL,66,181,50,14 PUSHBUTTON "Cancel",IDCANCEL,66,176,50,14
CONTROL " Binary format of Input",IDC_CHECK_BINARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,8,87,10 CONTROL " Binary format of Input",IDC_CHECK_BINARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,8,89,10
CONTROL " Markers",IDC_CHECK_MARKERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,23,67,10 CONTROL " Markers",IDC_CHECK_MARKERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,23,67,10
CONTROL " Bookmarks",IDC_CHECK_BOOKMARKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,39,67,10 CONTROL " Bookmarks",IDC_CHECK_BOOKMARKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,38,67,10
CONTROL " History",IDC_CHECK_HISTORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,55,67,10 CONTROL " History",IDC_CHECK_HISTORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,53,67,10
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,71,67,10 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,33,87,67,10 CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,83,67,10
GROUPBOX "Greenzone saving options",IDC_STATIC,13,102,97,72 GROUPBOX "Greenzone saving options",IDC_STATIC,13,98,97,72
CONTROL "all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,34,114,69,10 CONTROL " all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,23,109,77,10
CONTROL "every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,34,128,69,10 CONTROL " every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,23,124,77,10
CONTROL "marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,34,143,69,10 CONTROL " marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,23,139,77,10
CONTROL "don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,34,158,69,10 CONTROL " don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,23,154,77,10
END END
ASSEMBLER DIALOGEX 0, 0, 202, 135 ASSEMBLER DIALOGEX 0, 0, 202, 135
@ -2065,7 +2062,6 @@ BEGIN
IDD_TASEDITOR_SAVECOMPACT, DIALOG IDD_TASEDITOR_SAVECOMPACT, DIALOG
BEGIN BEGIN
BOTTOMMARGIN, 192
END END
"ASSEMBLER", DIALOG "ASSEMBLER", DIALOG
@ -2132,6 +2128,64 @@ END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Ðóññêèé (Ðîññèÿ) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_TASEDITOR_SAVINGOPTIONS DIALOGEX 0, 0, 223, 208
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Project file saving options"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,109,187,50,14
PUSHBUTTON "Cancel",IDCANCEL,165,187,50,14
CONTROL " Binary format of Input",IDC_CHECK_BINARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,17,89,10
CONTROL " Markers",IDC_CHECK_MARKERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,32,67,10
CONTROL " Bookmarks",IDC_CHECK_BOOKMARKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,47,67,10
CONTROL " History",IDC_CHECK_HISTORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,62,67,10
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,77,67,10
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_RADIO1,"Button",BS_AUTORADIOBUTTON,122,117,77,10
CONTROL " every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,122,131,77,10
CONTROL " marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,122,145,77,10
CONTROL " don't save",IDC_RADIO4,"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_STATIC,14,32,21,8
EDITTEXT IDC_AUTOSAVE_PERIOD,36,30,24,14,ES_AUTOHSCROLL | ES_NUMBER
LTEXT "minutes",IDC_STATIC,64,32,28,8
GROUPBOX "Settings",IDC_STATIC,6,4,91,177
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_TASEDITOR_SAVINGOPTIONS, DIALOG
BEGIN
END
END
#endif // APSTUDIO_INVOKED
#endif // Ðóññêèé (Ðîññèÿ) resources
/////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Àíãëèéñêèé (ÑØÀ) resources // Àíãëèéñêèé (ÑØÀ) resources

View File

@ -351,6 +351,7 @@
#define IDB_BITMAP_SELECTED17 286 #define IDB_BITMAP_SELECTED17 286
#define IDB_BITMAP_SELECTED18 287 #define IDB_BITMAP_SELECTED18 287
#define IDB_BITMAP_SELECTED19 288 #define IDB_BITMAP_SELECTED19 288
#define IDD_TASEDITOR_SAVINGOPTIONS 289
#define MENU_HIDE_MENU 300 #define MENU_HIDE_MENU 300
#define COMBO_FILTER 300 #define COMBO_FILTER 300
#define IDC_EDIT_AUTHORINFO 300 #define IDC_EDIT_AUTHORINFO 300
@ -556,6 +557,7 @@
#define IDC_EDIT1 1147 #define IDC_EDIT1 1147
#define IDC_SELECTION_MARKER_EDIT 1147 #define IDC_SELECTION_MARKER_EDIT 1147
#define IDC_NOTE_TO_FIND 1147 #define IDC_NOTE_TO_FIND 1147
#define IDC_AUTOSAVE_PERIOD 1147
#define IDC_BUTTON9 1148 #define IDC_BUTTON9 1148
#define TASEDITOR_FIND_NEXT_SIMILAR_MARKER 1148 #define TASEDITOR_FIND_NEXT_SIMILAR_MARKER 1148
#define IDC_HISTORYLIST 1149 #define IDC_HISTORYLIST 1149
@ -714,6 +716,9 @@
#define IDC_HISTORY_BOX 1279 #define IDC_HISTORY_BOX 1279
#define IDC_TASEDITOR_NAME 1280 #define IDC_TASEDITOR_NAME 1280
#define ID_CANCEL 1281 #define ID_CANCEL 1281
#define IDC_AUTOSAVE_PROJECT 1282
#define IDC_AUTOSAVE_PROJECT2 1283
#define IDC_SILENT_AUTOSAVE 1283
#define MENU_NETWORK 40040 #define MENU_NETWORK 40040
#define MENU_PALETTE 40041 #define MENU_PALETTE 40041
#define MENU_SOUND 40042 #define MENU_SOUND 40042
@ -1154,6 +1159,7 @@
#define ID_ENABLE_AUTO 40578 #define ID_ENABLE_AUTO 40578
#define ID_ENABLE_AUTORESUME 40579 #define ID_ENABLE_AUTORESUME 40579
#define ID_CONFIG_COMPACTQUICKSAVING 40580 #define ID_CONFIG_COMPACTQUICKSAVING 40580
#define ID_CONFIG_SAVING_OPTIONS 40581
#define IDC_DEBUGGER_ICONTRAY 55535 #define IDC_DEBUGGER_ICONTRAY 55535
#define MW_ValueLabel2 65423 #define MW_ValueLabel2 65423
#define MW_ValueLabel1 65426 #define MW_ValueLabel1 65426
@ -1163,9 +1169,9 @@
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 289 #define _APS_NEXT_RESOURCE_VALUE 290
#define _APS_NEXT_COMMAND_VALUE 40581 #define _APS_NEXT_COMMAND_VALUE 40582
#define _APS_NEXT_CONTROL_VALUE 1282 #define _APS_NEXT_CONTROL_VALUE 1283
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif #endif

View File

@ -451,7 +451,7 @@ bool SaveProjectAs(bool save_compact)
if (save_compact) if (save_compact)
project.save(nameo, taseditor_config.savecompact_binary, taseditor_config.savecompact_markers, taseditor_config.savecompact_bookmarks, taseditor_config.savecompact_greenzone, taseditor_config.savecompact_history, taseditor_config.savecompact_piano_roll, taseditor_config.savecompact_selection); project.save(nameo, taseditor_config.savecompact_binary, taseditor_config.savecompact_markers, taseditor_config.savecompact_bookmarks, taseditor_config.savecompact_greenzone, taseditor_config.savecompact_history, taseditor_config.savecompact_piano_roll, taseditor_config.savecompact_selection);
else else
project.save(); project.save(nameo, taseditor_config.save_binary, taseditor_config.save_markers, taseditor_config.save_bookmarks, taseditor_config.save_greenzone, taseditor_config.save_history, taseditor_config.save_piano_roll, taseditor_config.save_selection);
taseditor_window.UpdateRecentProjectsArray(nameo); taseditor_window.UpdateRecentProjectsArray(nameo);
// saved successfully - remove * mark from caption // saved successfully - remove * mark from caption
taseditor_window.UpdateCaption(); taseditor_window.UpdateCaption();
@ -468,21 +468,21 @@ bool SaveProject(bool save_compact)
if (save_compact) if (save_compact)
project.save(0, taseditor_config.savecompact_binary, taseditor_config.savecompact_markers, taseditor_config.savecompact_bookmarks, taseditor_config.savecompact_greenzone, taseditor_config.savecompact_history, taseditor_config.savecompact_piano_roll, taseditor_config.savecompact_selection); project.save(0, taseditor_config.savecompact_binary, taseditor_config.savecompact_markers, taseditor_config.savecompact_bookmarks, taseditor_config.savecompact_greenzone, taseditor_config.savecompact_history, taseditor_config.savecompact_piano_roll, taseditor_config.savecompact_selection);
else else
project.save(); project.save(0, taseditor_config.save_binary, taseditor_config.save_markers, taseditor_config.save_bookmarks, taseditor_config.save_greenzone, taseditor_config.save_history, taseditor_config.save_piano_roll, taseditor_config.save_selection);
taseditor_window.UpdateCaption(); taseditor_window.UpdateCaption();
} }
return true; return true;
} }
// --------------------------------------------------
void SaveCompact_SetDialogItems(HWND hwndDlg) void SaveCompact_SetDialogItems(HWND hwndDlg)
{ {
CheckDlgButton(hwndDlg, IDC_CHECK_BINARY, taseditor_config.savecompact_binary?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_BINARY, taseditor_config.savecompact_binary?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_MARKERS, taseditor_config.savecompact_markers?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_MARKERS, taseditor_config.savecompact_markers?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_BOOKMARKS, taseditor_config.savecompact_bookmarks?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_BOOKMARKS, taseditor_config.savecompact_bookmarks?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditor_config.savecompact_history?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditor_config.savecompact_history?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditor_config.savecompact_piano_roll?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditor_config.savecompact_piano_roll?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditor_config.savecompact_selection?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditor_config.savecompact_selection?BST_CHECKED : BST_UNCHECKED);
CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditor_config.savecompact_greenzone % SAVECOMPACT_GREENZONE_TOTAL)); CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditor_config.savecompact_greenzone % SAVE_GREENZONE_TOTAL));
} }
void SaveCompact_GetDialogItems(HWND hwndDlg) void SaveCompact_GetDialogItems(HWND hwndDlg)
{ {
@ -493,15 +493,14 @@ void SaveCompact_GetDialogItems(HWND hwndDlg)
taseditor_config.savecompact_piano_roll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED); taseditor_config.savecompact_piano_roll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.savecompact_selection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED); taseditor_config.savecompact_selection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
if (SendDlgItemMessage(hwndDlg, IDC_RADIO1, BM_GETCHECK, 0, 0) == BST_CHECKED) if (SendDlgItemMessage(hwndDlg, IDC_RADIO1, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.savecompact_greenzone = SAVECOMPACT_GREENZONE_ALL; taseditor_config.savecompact_greenzone = SAVE_GREENZONE_ALL;
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO2, BM_GETCHECK, 0, 0) == BST_CHECKED) else if (SendDlgItemMessage(hwndDlg, IDC_RADIO2, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.savecompact_greenzone = SAVECOMPACT_GREENZONE_16TH; taseditor_config.savecompact_greenzone = SAVE_GREENZONE_16TH;
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO3, BM_GETCHECK, 0, 0) == BST_CHECKED) else if (SendDlgItemMessage(hwndDlg, IDC_RADIO3, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.savecompact_greenzone = SAVECOMPACT_GREENZONE_MARKED; taseditor_config.savecompact_greenzone = SAVE_GREENZONE_MARKED;
else else
taseditor_config.savecompact_greenzone = SAVECOMPACT_GREENZONE_NO; taseditor_config.savecompact_greenzone = SAVE_GREENZONE_NO;
} }
BOOL CALLBACK SaveCompactProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) BOOL CALLBACK SaveCompactProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{ {
switch (message) switch (message)
@ -536,7 +535,6 @@ BOOL CALLBACK SaveCompactProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM
} }
return FALSE; return FALSE;
} }
void SaveCompact() void SaveCompact()
{ {
if (DialogBox(fceu_hInstance, MAKEINTRESOURCE(IDD_TASEDITOR_SAVECOMPACT), taseditor_window.hwndTasEditor, SaveCompactProc) > 0) if (DialogBox(fceu_hInstance, MAKEINTRESOURCE(IDD_TASEDITOR_SAVECOMPACT), taseditor_window.hwndTasEditor, SaveCompactProc) > 0)
@ -575,7 +573,7 @@ void SaveCompact()
} }
} }
} }
// --------------------------------------------------
// returns false if user doesn't want to exit // returns false if user doesn't want to exit
bool AskSaveProject() bool AskSaveProject()
{ {
@ -661,6 +659,71 @@ BOOL CALLBACK AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
return FALSE; return FALSE;
} }
BOOL CALLBACK SavingOptionsProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
CheckDlgButton(hwndDlg, IDC_AUTOSAVE_PROJECT, taseditor_config.enable_autosave?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SILENT_AUTOSAVE, taseditor_config.silent_autosave?BST_CHECKED : BST_UNCHECKED);
char buf[16] = {0};
sprintf(buf, "%u", taseditor_config.autosave_period);
SetDlgItemText(hwndDlg, IDC_AUTOSAVE_PERIOD, buf);
CheckDlgButton(hwndDlg, IDC_CHECK_BINARY, taseditor_config.save_binary?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_MARKERS, taseditor_config.save_markers?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_BOOKMARKS, taseditor_config.save_bookmarks?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditor_config.save_history?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditor_config.save_piano_roll?BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditor_config.save_selection?BST_CHECKED : BST_UNCHECKED);
CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditor_config.save_greenzone % SAVE_GREENZONE_TOTAL));
return TRUE;
}
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDOK:
{
taseditor_config.enable_autosave = (SendDlgItemMessage(hwndDlg, IDC_AUTOSAVE_PROJECT, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.silent_autosave = (SendDlgItemMessage(hwndDlg, IDC_SILENT_AUTOSAVE, BM_GETCHECK, 0, 0) == BST_CHECKED);
char buf[16] = {0};
GetDlgItemText(hwndDlg, IDC_AUTOSAVE_PERIOD, buf, 16 * sizeof(char));
int new_period = taseditor_config.autosave_period;
sscanf(buf, "%u", &new_period);
if (new_period < AUTOSAVE_PERIOD_MIN)
new_period = AUTOSAVE_PERIOD_MIN;
else if (new_period > AUTOSAVE_PERIOD_MAX)
new_period = AUTOSAVE_PERIOD_MAX;
taseditor_config.autosave_period = new_period;
project.SheduleNextAutosave();
taseditor_config.save_binary = (SendDlgItemMessage(hwndDlg, IDC_CHECK_BINARY, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.save_markers = (SendDlgItemMessage(hwndDlg, IDC_CHECK_MARKERS, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.save_bookmarks = (SendDlgItemMessage(hwndDlg, IDC_CHECK_BOOKMARKS, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.save_history = (SendDlgItemMessage(hwndDlg, IDC_CHECK_HISTORY, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.save_piano_roll = (SendDlgItemMessage(hwndDlg, IDC_CHECK_PIANO_ROLL, BM_GETCHECK, 0, 0) == BST_CHECKED);
taseditor_config.save_selection = (SendDlgItemMessage(hwndDlg, IDC_CHECK_SELECTION, BM_GETCHECK, 0, 0) == BST_CHECKED);
if (SendDlgItemMessage(hwndDlg, IDC_RADIO1, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.save_greenzone = SAVE_GREENZONE_ALL;
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO2, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.save_greenzone = SAVE_GREENZONE_16TH;
else if (SendDlgItemMessage(hwndDlg, IDC_RADIO3, BM_GETCHECK, 0, 0) == BST_CHECKED)
taseditor_config.save_greenzone = SAVE_GREENZONE_MARKED;
else
taseditor_config.save_greenzone = SAVE_GREENZONE_NO;
EndDialog(hwndDlg, 1);
return TRUE;
}
case IDCANCEL:
EndDialog(hwndDlg, 0);
return TRUE;
}
break;
}
}
return FALSE;
}
BOOL CALLBACK ExportProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) BOOL CALLBACK ExportProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
{ {
switch (message) switch (message)

View File

@ -226,7 +226,7 @@ void GREENZONE::UnGreenzoneSelectedFrames()
void GREENZONE::save(EMUFILE *os, int save_type) void GREENZONE::save(EMUFILE *os, int save_type)
{ {
if (save_type != SAVECOMPACT_GREENZONE_NO) if (save_type != SAVE_GREENZONE_NO)
{ {
CollectCurrentState(); // in case the project is being saved before the greenzone.update() was called within current frame CollectCurrentState(); // in case the project is being saved before the greenzone.update() was called within current frame
RunGreenzoneCleaning(); RunGreenzoneCleaning();
@ -246,7 +246,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
switch (save_type) switch (save_type)
{ {
case SAVECOMPACT_GREENZONE_ALL: case SAVE_GREENZONE_ALL:
{ {
// write savestates // write savestates
for (frame = 0; frame < greenZoneCount; ++frame) for (frame = 0; frame < greenZoneCount; ++frame)
@ -268,7 +268,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
write32le(-1, os); write32le(-1, os);
break; break;
} }
case SAVECOMPACT_GREENZONE_16TH: case SAVE_GREENZONE_16TH:
{ {
// write savestates // write savestates
for (frame = 0; frame < greenZoneCount; ++frame) for (frame = 0; frame < greenZoneCount; ++frame)
@ -293,7 +293,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
write32le(-1, os); write32le(-1, os);
break; break;
} }
case SAVECOMPACT_GREENZONE_MARKED: case SAVE_GREENZONE_MARKED:
{ {
// write savestates // write savestates
for (frame = 0; frame < greenZoneCount; ++frame) for (frame = 0; frame < greenZoneCount; ++frame)
@ -318,7 +318,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
write32le(-1, os); write32le(-1, os);
break; break;
} }
case SAVECOMPACT_GREENZONE_NO: case SAVE_GREENZONE_NO:
{ {
// write "GREENZONX" string // write "GREENZONX" string
os->fwrite(greenzone_skipsave_id, GREENZONE_ID_LEN); os->fwrite(greenzone_skipsave_id, GREENZONE_ID_LEN);

View File

@ -22,7 +22,7 @@ public:
void free(); void free();
void update(); void update();
void save(EMUFILE *os, int save_type = SAVECOMPACT_GREENZONE_ALL); void save(EMUFILE *os, int save_type = SAVE_GREENZONE_ALL);
bool load(EMUFILE *is, unsigned int offset); bool load(EMUFILE *is, unsigned int offset);
bool LoadSavestate(unsigned int frame); bool LoadSavestate(unsigned int frame);

View File

@ -54,22 +54,29 @@ TASEDITOR_CONFIG::TASEDITOR_CONFIG()
adjust_input_due_to_lag = true; adjust_input_due_to_lag = true;
greenzone_capacity = GREENZONE_CAPACITY_DEFAULT; greenzone_capacity = GREENZONE_CAPACITY_DEFAULT;
undo_levels = UNDO_LEVELS_DEFAULT; undo_levels = UNDO_LEVELS_DEFAULT;
autosave_period = AUTOSAVE_PERIOD_DEFAULT;
last_export_type = 0; // INPUT_TYPE_1P last_export_type = 0; // INPUT_TYPE_1P
last_export_subtitles = false; last_export_subtitles = false;
save_binary = true;
save_markers = true;
save_bookmarks = true;
save_history = true;
save_piano_roll = true;
save_selection = true;
save_greenzone = SAVE_GREENZONE_ALL;
savecompact_binary = true; savecompact_binary = true;
savecompact_markers = true; savecompact_markers = true;
savecompact_bookmarks = true; savecompact_bookmarks = true;
savecompact_history = false; savecompact_history = false;
savecompact_piano_roll = true; savecompact_piano_roll = true;
savecompact_selection = false; savecompact_selection = false;
savecompact_greenzone = SAVECOMPACT_GREENZONE_NO; savecompact_greenzone = SAVE_GREENZONE_NO;
findnote_matchcase = false; findnote_matchcase = false;
findnote_search_up = false; findnote_search_up = false;
enable_auto_function = true; enable_auto_function = true;
draw_input = true; draw_input = true;
enable_greenzoning = true; enable_greenzoning = true;
compact_quicksaving = false; enable_autosave = true;
autosave_period = AUTOSAVE_PERIOD_DEFAULT;
silent_autosave = true; silent_autosave = true;
autopause_at_finish = true; autopause_at_finish = true;
tooltips = true; tooltips = true;

View File

@ -14,13 +14,13 @@
enum enum
{ {
SAVECOMPACT_GREENZONE_ALL, SAVE_GREENZONE_ALL,
SAVECOMPACT_GREENZONE_16TH, SAVE_GREENZONE_16TH,
SAVECOMPACT_GREENZONE_MARKED, SAVE_GREENZONE_MARKED,
SAVECOMPACT_GREENZONE_NO, SAVE_GREENZONE_NO,
// ... // ...
SAVECOMPACT_GREENZONE_TOTAL SAVE_GREENZONE_TOTAL
}; };
#define AUTHOR_MAX_LEN 100 #define AUTHOR_MAX_LEN 100
@ -63,9 +63,15 @@ public:
bool adjust_input_due_to_lag; bool adjust_input_due_to_lag;
int greenzone_capacity; int greenzone_capacity;
int undo_levels; int undo_levels;
int autosave_period;
int last_export_type; int last_export_type;
bool last_export_subtitles; bool last_export_subtitles;
bool save_binary;
bool save_markers;
bool save_bookmarks;
bool save_history;
bool save_piano_roll;
bool save_selection;
int save_greenzone;
bool savecompact_binary; bool savecompact_binary;
bool savecompact_markers; bool savecompact_markers;
bool savecompact_bookmarks; bool savecompact_bookmarks;
@ -78,7 +84,8 @@ public:
bool enable_auto_function; bool enable_auto_function;
bool draw_input; bool draw_input;
bool enable_greenzoning; bool enable_greenzoning;
bool compact_quicksaving; bool enable_autosave;
int autosave_period;
bool silent_autosave; bool silent_autosave;
bool autopause_at_finish; bool autopause_at_finish;
bool tooltips; bool tooltips;

View File

@ -60,12 +60,12 @@ void TASEDITOR_PROJECT::reset()
void TASEDITOR_PROJECT::update() void TASEDITOR_PROJECT::update()
{ {
// if it's time to autosave - pop Save As dialog // if it's time to autosave - pop Save As dialog
if (changed && taseditor_window.TASEditor_focus && taseditor_config.autosave_period && !projectFile.empty() && clock() >= next_save_shedule && piano_roll.drag_mode == DRAG_MODE_NONE) if (changed && taseditor_window.TASEditor_focus && taseditor_config.enable_autosave && !projectFile.empty() && clock() >= next_save_shedule && piano_roll.drag_mode == DRAG_MODE_NONE)
{ {
if (taseditor_config.silent_autosave) if (taseditor_config.silent_autosave)
SaveProject(taseditor_config.compact_quicksaving); SaveProject();
else else
SaveProjectAs(taseditor_config.compact_quicksaving); SaveProjectAs();
// in case user pressed Cancel, postpone saving to next time // in case user pressed Cancel, postpone saving to next time
SheduleNextAutosave(); SheduleNextAutosave();
} }
@ -134,7 +134,7 @@ bool TASEDITOR_PROJECT::save(const char* different_name, bool save_binary, bool
unsigned int saved_stuff_map = 0; unsigned int saved_stuff_map = 0;
if (save_markers) saved_stuff_map |= MARKERS_SAVED; if (save_markers) saved_stuff_map |= MARKERS_SAVED;
if (save_bookmarks) saved_stuff_map |= BOOKMARKS_SAVED; if (save_bookmarks) saved_stuff_map |= BOOKMARKS_SAVED;
if (save_greenzone != SAVECOMPACT_GREENZONE_NO) saved_stuff_map |= GREENZONE_SAVED; if (save_greenzone != SAVE_GREENZONE_NO) saved_stuff_map |= GREENZONE_SAVED;
if (save_history) saved_stuff_map |= HISTORY_SAVED; if (save_history) saved_stuff_map |= HISTORY_SAVED;
if (save_piano_roll) saved_stuff_map |= PIANO_ROLL_SAVED; if (save_piano_roll) saved_stuff_map |= PIANO_ROLL_SAVED;
if (save_selection) saved_stuff_map |= SELECTION_SAVED; if (save_selection) saved_stuff_map |= SELECTION_SAVED;
@ -385,7 +385,6 @@ bool TASEDITOR_PROJECT::GetProjectChanged()
void TASEDITOR_PROJECT::SheduleNextAutosave() void TASEDITOR_PROJECT::SheduleNextAutosave()
{ {
if (taseditor_config.autosave_period) next_save_shedule = clock() + taseditor_config.autosave_period * AUTOSAVE_PERIOD_SCALE;
next_save_shedule = clock() + taseditor_config.autosave_period * AUTOSAVE_PERIOD_SCALE;
} }

View File

@ -51,7 +51,7 @@ public:
void reset(); void reset();
void update(); void update();
bool save(const char* different_name = 0, bool save_binary = true, bool save_markers = true, bool save_bookmarks = true, int save_greenzone = SAVECOMPACT_GREENZONE_ALL, bool save_history = true, bool save_piano_roll = true, bool save_selection = true); bool save(const char* different_name = 0, bool save_binary = true, bool save_markers = true, bool save_bookmarks = true, int save_greenzone = SAVE_GREENZONE_ALL, bool save_history = true, bool save_piano_roll = true, bool save_selection = true);
bool load(const char* fullname); bool load(const char* fullname);
void RenameProject(const char* new_fullname, bool filename_is_correct); void RenameProject(const char* new_fullname, bool filename_is_correct);

View File

@ -55,6 +55,7 @@ extern char* GetKeyComboName(int c);
extern BOOL CALLBACK FindNoteProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); extern BOOL CALLBACK FindNoteProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
extern BOOL CALLBACK AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); extern BOOL CALLBACK AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
extern BOOL CALLBACK SavingOptionsProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam);
// main window wndproc // main window wndproc
BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
@ -122,7 +123,6 @@ const unsigned int MAX_NUMBER_OF_RECENT_PROJECTS = sizeof(recent_projects)/sizeo
// Patterns Menu // Patterns Menu
const unsigned int MENU_FIRST_PATTERN = MENU_FIRST_RECENT_PROJECT + MAX_NUMBER_OF_RECENT_PROJECTS; const unsigned int MENU_FIRST_PATTERN = MENU_FIRST_RECENT_PROJECT + MAX_NUMBER_OF_RECENT_PROJECTS;
char temp_buf1[1024] = {0}, temp_buf2[1024] = {0};
// resources // resources
char windowCaptioBase[] = "TAS Editor"; char windowCaptioBase[] = "TAS Editor";
char patterns_menu_prefix[] = "Pattern: "; char patterns_menu_prefix[] = "Pattern: ";
@ -200,7 +200,6 @@ void TASEDITOR_WINDOW::init()
// menus and checked items // menus and checked items
hmenu = GetMenu(hwndTasEditor); hmenu = GetMenu(hwndTasEditor);
UpdateCheckedItems(); UpdateCheckedItems();
UpdateMenuCaptions();
patterns_menu = GetSubMenu(hmenu, PATTERNS_MENU_POS); patterns_menu = GetSubMenu(hmenu, PATTERNS_MENU_POS);
// tooltips // tooltips
for (int i = 0; i < TASEDITOR_WINDOW_TOTAL_ITEMS; ++i) for (int i = 0; i < TASEDITOR_WINDOW_TOTAL_ITEMS; ++i)
@ -567,8 +566,6 @@ void TASEDITOR_WINDOW::UpdateCheckedItems()
CheckMenuItem(hmenu, ID_VIEW_JUMPWHENMAKINGUNDO, taseditor_config.jump_to_undo?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_VIEW_JUMPWHENMAKINGUNDO, taseditor_config.jump_to_undo?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_VIEW_FOLLOWMARKERNOTECONTEXT, taseditor_config.follow_note_context?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_VIEW_FOLLOWMARKERNOTECONTEXT, taseditor_config.follow_note_context?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_ENABLEGREENZONING, taseditor_config.enable_greenzoning?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_ENABLEGREENZONING, taseditor_config.enable_greenzoning?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_COMPACTQUICKSAVING, taseditor_config.compact_quicksaving?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_SILENTAUTOSAVE, taseditor_config.silent_autosave?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_PATTERNSKIPSLAG, taseditor_config.pattern_skips_lag?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_PATTERNSKIPSLAG, taseditor_config.pattern_skips_lag?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_ADJUSTLAG, taseditor_config.adjust_input_due_to_lag?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_ADJUSTLAG, taseditor_config.adjust_input_due_to_lag?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_DRAWINPUTBYDRAGGING, taseditor_config.draw_input?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_DRAWINPUTBYDRAGGING, taseditor_config.draw_input?MF_CHECKED : MF_UNCHECKED);
@ -583,32 +580,6 @@ void TASEDITOR_WINDOW::UpdateCheckedItems()
CheckMenuItem(hmenu, ID_CONFIG_AUTOPAUSEATTHEENDOFMOVIE, taseditor_config.autopause_at_finish?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_AUTOPAUSEATTHEENDOFMOVIE, taseditor_config.autopause_at_finish?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_HELP_TOOLTIPS, taseditor_config.tooltips?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_HELP_TOOLTIPS, taseditor_config.tooltips?MF_CHECKED : MF_UNCHECKED);
} }
void TASEDITOR_WINDOW::UpdateMenuCaptions()
{
// change "Save" and "Save Compact" keyboard shortcut hints
if (taseditor_config.compact_quicksaving)
{
strcpy(temp_buf1, "Save");
strcpy(temp_buf2, "Save Compact\t~[Ctrl+S]");
} else
{
strcpy(temp_buf1, "Save\tCtrl+S");
strcpy(temp_buf2, "Save Compact");
}
MENUITEMINFO moo;
moo.cbSize = sizeof(moo);
moo.fMask = MIIM_TYPE;
moo.cch = NULL;
GetMenuItemInfo(hmenu, ID_FILE_SAVEPROJECT, FALSE, &moo);
moo.dwTypeData = (LPSTR)temp_buf1;
SetMenuItemInfo(hmenu, ID_FILE_SAVEPROJECT, FALSE, &moo);
moo.cbSize = sizeof(moo);
moo.fMask = MIIM_TYPE;
moo.cch = NULL;
GetMenuItemInfo(hmenu, ID_FILE_SAVECOMPACT, FALSE, &moo);
moo.dwTypeData = (LPSTR)temp_buf2;
SetMenuItemInfo(hmenu, ID_FILE_SAVECOMPACT, FALSE, &moo);
}
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
void TASEDITOR_WINDOW::UpdateRecentProjectsMenu() void TASEDITOR_WINDOW::UpdateRecentProjectsMenu()
@ -922,7 +893,7 @@ BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
OpenProject(); OpenProject();
break; break;
case ACCEL_CTRL_S: case ACCEL_CTRL_S:
SaveProject(taseditor_config.compact_quicksaving); SaveProject();
break; break;
case ID_FILE_SAVEPROJECT: case ID_FILE_SAVEPROJECT:
SaveProject(); SaveProject();
@ -1071,33 +1042,15 @@ BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
} }
break; break;
} }
case ID_CONFIG_SETAUTOSAVEPERIOD: case ID_CONFIG_SAVING_OPTIONS:
{ {
int new_period = taseditor_config.autosave_period; DialogBox(fceu_hInstance, MAKEINTRESOURCE(IDD_TASEDITOR_SAVINGOPTIONS), taseditor_window.hwndTasEditor, SavingOptionsProc);
if (CWin32InputBox::GetInteger("Autosave period", "How many minutes may the project stay not saved after being changed?\n(0 = no autosaves)", new_period, hWnd) == IDOK)
{
if (new_period < AUTOSAVE_PERIOD_MIN)
new_period = AUTOSAVE_PERIOD_MIN;
else if (new_period > AUTOSAVE_PERIOD_MAX)
new_period = AUTOSAVE_PERIOD_MAX;
taseditor_config.autosave_period = new_period;
project.SheduleNextAutosave();
}
break; break;
} }
case ID_CONFIG_ENABLEGREENZONING: case ID_CONFIG_ENABLEGREENZONING:
taseditor_config.enable_greenzoning ^= 1; taseditor_config.enable_greenzoning ^= 1;
taseditor_window.UpdateCheckedItems(); taseditor_window.UpdateCheckedItems();
break; break;
case ID_CONFIG_COMPACTQUICKSAVING:
taseditor_config.compact_quicksaving ^= 1;
taseditor_window.UpdateCheckedItems();
taseditor_window.UpdateMenuCaptions();
break;
case ID_CONFIG_SILENTAUTOSAVE:
taseditor_config.silent_autosave ^= 1;
taseditor_window.UpdateCheckedItems();
break;
case ID_CONFIG_BRANCHESRESTOREFULLMOVIE: case ID_CONFIG_BRANCHESRESTOREFULLMOVIE:
taseditor_config.branch_full_movie ^= 1; taseditor_config.branch_full_movie ^= 1;
taseditor_window.UpdateCheckedItems(); taseditor_window.UpdateCheckedItems();

View File

@ -41,7 +41,6 @@ public:
void RedrawTaseditor(); void RedrawTaseditor();
void UpdateCheckedItems(); void UpdateCheckedItems();
void UpdateMenuCaptions();
void UpdateRecentProjectsMenu(); void UpdateRecentProjectsMenu();
void UpdateRecentProjectsArray(const char* addString); void UpdateRecentProjectsArray(const char* addString);