Taseditor: Config->Project file saving options
This commit is contained in:
parent
efed1b3dec
commit
30378d8b49
|
@ -346,23 +346,30 @@ static CFGSTRUCT fceuconfig[] =
|
|||
AC(taseditor_config.enable_hot_changes),
|
||||
AC(taseditor_config.greenzone_capacity),
|
||||
AC(taseditor_config.undo_levels),
|
||||
AC(taseditor_config.autosave_period),
|
||||
AC(taseditor_config.jump_to_undo),
|
||||
AC(taseditor_config.follow_note_context),
|
||||
AC(taseditor_config.last_export_type),
|
||||
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_markers),
|
||||
AC(taseditor_config.savecompact_bookmarks),
|
||||
AC(taseditor_config.savecompact_greenzone),
|
||||
AC(taseditor_config.savecompact_history),
|
||||
AC(taseditor_config.savecompact_piano_roll),
|
||||
AC(taseditor_config.savecompact_selection),
|
||||
AC(taseditor_config.savecompact_greenzone),
|
||||
AC(taseditor_config.findnote_matchcase),
|
||||
AC(taseditor_config.findnote_search_up),
|
||||
AC(taseditor_config.draw_input),
|
||||
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.autopause_at_finish),
|
||||
AC(taseditor_config.tooltips),
|
||||
|
|
|
@ -747,7 +747,7 @@ BOOL CALLBACK ReplayDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP
|
|||
HDC hdcStatic = (HDC)wParam;
|
||||
char 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;
|
||||
if ((want_newppu && newppu) || (!want_newppu && !newppu))
|
||||
SetTextColor(hdcStatic, RGB(0,0,0)); // use black color for a match
|
||||
|
|
|
@ -277,14 +277,11 @@ BEGIN
|
|||
END
|
||||
POPUP "Config", 65535,MFT_STRING,MFS_ENABLED
|
||||
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 Autosave period", ID_CONFIG_SETAUTOSAVEPERIOD,MFT_STRING,MFS_ENABLED
|
||||
MENUITEM "Set Greenzone capacity", ID_CONFIG_SETGREENZONECAPACITY,MFT_STRING,MFS_ENABLED
|
||||
MENUITEM MFT_SEPARATOR
|
||||
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 "Auto-adjust Input according to Lag", ID_CONFIG_ADJUSTLAG,MFT_STRING,MFS_ENABLED
|
||||
MENUITEM MFT_SEPARATOR
|
||||
|
@ -1531,24 +1528,24 @@ BEGIN
|
|||
CONTROL " Down",IDC_RADIO_DOWN,"Button",BS_AUTORADIOBUTTON,125,30,32,10
|
||||
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
|
||||
CAPTION "Save Compact"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Save",IDOK,8,181,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,66,181,50,14
|
||||
CONTROL " Binary format of Input",IDC_CHECK_BINARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,8,87,10
|
||||
CONTROL " Markers",IDC_CHECK_MARKERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,23,67,10
|
||||
CONTROL " Bookmarks",IDC_CHECK_BOOKMARKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,39,67,10
|
||||
CONTROL " History",IDC_CHECK_HISTORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,55,67,10
|
||||
CONTROL " Piano Roll",IDC_CHECK_PIANO_ROLL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,71,67,10
|
||||
CONTROL " Selection",IDC_CHECK_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,87,67,10
|
||||
GROUPBOX "Greenzone saving options",IDC_STATIC,13,102,97,72
|
||||
CONTROL "all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,34,114,69,10
|
||||
CONTROL "every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,34,128,69,10
|
||||
CONTROL "marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,34,143,69,10
|
||||
CONTROL "don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,34,158,69,10
|
||||
DEFPUSHBUTTON "Save",IDOK,8,176,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,66,176,50,14
|
||||
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,23,23,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,23,53,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,23,83,67,10
|
||||
GROUPBOX "Greenzone saving options",IDC_STATIC,13,98,97,72
|
||||
CONTROL " all frames",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,23,109,77,10
|
||||
CONTROL " every 16th frame",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,23,124,77,10
|
||||
CONTROL " marked frames",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,23,139,77,10
|
||||
CONTROL " don't save",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,23,154,77,10
|
||||
END
|
||||
|
||||
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
||||
|
@ -2065,7 +2062,6 @@ BEGIN
|
|||
|
||||
IDD_TASEDITOR_SAVECOMPACT, DIALOG
|
||||
BEGIN
|
||||
BOTTOMMARGIN, 192
|
||||
END
|
||||
|
||||
"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
|
||||
|
||||
|
|
|
@ -351,6 +351,7 @@
|
|||
#define IDB_BITMAP_SELECTED17 286
|
||||
#define IDB_BITMAP_SELECTED18 287
|
||||
#define IDB_BITMAP_SELECTED19 288
|
||||
#define IDD_TASEDITOR_SAVINGOPTIONS 289
|
||||
#define MENU_HIDE_MENU 300
|
||||
#define COMBO_FILTER 300
|
||||
#define IDC_EDIT_AUTHORINFO 300
|
||||
|
@ -556,6 +557,7 @@
|
|||
#define IDC_EDIT1 1147
|
||||
#define IDC_SELECTION_MARKER_EDIT 1147
|
||||
#define IDC_NOTE_TO_FIND 1147
|
||||
#define IDC_AUTOSAVE_PERIOD 1147
|
||||
#define IDC_BUTTON9 1148
|
||||
#define TASEDITOR_FIND_NEXT_SIMILAR_MARKER 1148
|
||||
#define IDC_HISTORYLIST 1149
|
||||
|
@ -714,6 +716,9 @@
|
|||
#define IDC_HISTORY_BOX 1279
|
||||
#define IDC_TASEDITOR_NAME 1280
|
||||
#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_PALETTE 40041
|
||||
#define MENU_SOUND 40042
|
||||
|
@ -1154,6 +1159,7 @@
|
|||
#define ID_ENABLE_AUTO 40578
|
||||
#define ID_ENABLE_AUTORESUME 40579
|
||||
#define ID_CONFIG_COMPACTQUICKSAVING 40580
|
||||
#define ID_CONFIG_SAVING_OPTIONS 40581
|
||||
#define IDC_DEBUGGER_ICONTRAY 55535
|
||||
#define MW_ValueLabel2 65423
|
||||
#define MW_ValueLabel1 65426
|
||||
|
@ -1163,9 +1169,9 @@
|
|||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 289
|
||||
#define _APS_NEXT_COMMAND_VALUE 40581
|
||||
#define _APS_NEXT_CONTROL_VALUE 1282
|
||||
#define _APS_NEXT_RESOURCE_VALUE 290
|
||||
#define _APS_NEXT_COMMAND_VALUE 40582
|
||||
#define _APS_NEXT_CONTROL_VALUE 1283
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -451,7 +451,7 @@ bool SaveProjectAs(bool 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);
|
||||
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);
|
||||
// saved successfully - remove * mark from caption
|
||||
taseditor_window.UpdateCaption();
|
||||
|
@ -468,21 +468,21 @@ bool SaveProject(bool 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);
|
||||
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();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// --------------------------------------------------
|
||||
void SaveCompact_SetDialogItems(HWND hwndDlg)
|
||||
{
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_BINARY, taseditor_config.savecompact_binary?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_MARKERS, taseditor_config.savecompact_markers?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_BOOKMARKS, taseditor_config.savecompact_bookmarks?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_HISTORY, taseditor_config.savecompact_history?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_PIANO_ROLL, taseditor_config.savecompact_piano_roll?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_SELECTION, taseditor_config.savecompact_selection?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckRadioButton(hwndDlg, IDC_RADIO1, IDC_RADIO4, IDC_RADIO1 + (taseditor_config.savecompact_greenzone % SAVECOMPACT_GREENZONE_TOTAL));
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_BINARY, taseditor_config.savecompact_binary?BST_CHECKED : BST_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_MARKERS, taseditor_config.savecompact_markers?BST_CHECKED : BST_UNCHECKED);
|
||||
CheckDlgButton(hwndDlg, IDC_CHECK_BOOKMARKS, taseditor_config.savecompact_bookmarks?BST_CHECKED : BST_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?BST_CHECKED : BST_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 % SAVE_GREENZONE_TOTAL));
|
||||
}
|
||||
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_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.savecompact_greenzone = SAVECOMPACT_GREENZONE_ALL;
|
||||
taseditor_config.savecompact_greenzone = SAVE_GREENZONE_ALL;
|
||||
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)
|
||||
taseditor_config.savecompact_greenzone = SAVECOMPACT_GREENZONE_MARKED;
|
||||
taseditor_config.savecompact_greenzone = SAVE_GREENZONE_MARKED;
|
||||
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)
|
||||
{
|
||||
switch (message)
|
||||
|
@ -536,7 +535,6 @@ BOOL CALLBACK SaveCompactProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM
|
|||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SaveCompact()
|
||||
{
|
||||
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
|
||||
bool AskSaveProject()
|
||||
{
|
||||
|
@ -661,6 +659,71 @@ BOOL CALLBACK AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
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)
|
||||
{
|
||||
switch (message)
|
||||
|
|
|
@ -226,7 +226,7 @@ void GREENZONE::UnGreenzoneSelectedFrames()
|
|||
|
||||
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
|
||||
RunGreenzoneCleaning();
|
||||
|
@ -246,7 +246,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
|||
|
||||
switch (save_type)
|
||||
{
|
||||
case SAVECOMPACT_GREENZONE_ALL:
|
||||
case SAVE_GREENZONE_ALL:
|
||||
{
|
||||
// write savestates
|
||||
for (frame = 0; frame < greenZoneCount; ++frame)
|
||||
|
@ -268,7 +268,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
|||
write32le(-1, os);
|
||||
break;
|
||||
}
|
||||
case SAVECOMPACT_GREENZONE_16TH:
|
||||
case SAVE_GREENZONE_16TH:
|
||||
{
|
||||
// write savestates
|
||||
for (frame = 0; frame < greenZoneCount; ++frame)
|
||||
|
@ -293,7 +293,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
|||
write32le(-1, os);
|
||||
break;
|
||||
}
|
||||
case SAVECOMPACT_GREENZONE_MARKED:
|
||||
case SAVE_GREENZONE_MARKED:
|
||||
{
|
||||
// write savestates
|
||||
for (frame = 0; frame < greenZoneCount; ++frame)
|
||||
|
@ -318,7 +318,7 @@ void GREENZONE::save(EMUFILE *os, int save_type)
|
|||
write32le(-1, os);
|
||||
break;
|
||||
}
|
||||
case SAVECOMPACT_GREENZONE_NO:
|
||||
case SAVE_GREENZONE_NO:
|
||||
{
|
||||
// write "GREENZONX" string
|
||||
os->fwrite(greenzone_skipsave_id, GREENZONE_ID_LEN);
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
void free();
|
||||
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 LoadSavestate(unsigned int frame);
|
||||
|
|
|
@ -54,22 +54,29 @@ TASEDITOR_CONFIG::TASEDITOR_CONFIG()
|
|||
adjust_input_due_to_lag = true;
|
||||
greenzone_capacity = GREENZONE_CAPACITY_DEFAULT;
|
||||
undo_levels = UNDO_LEVELS_DEFAULT;
|
||||
autosave_period = AUTOSAVE_PERIOD_DEFAULT;
|
||||
last_export_type = 0; // INPUT_TYPE_1P
|
||||
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_markers = true;
|
||||
savecompact_bookmarks = true;
|
||||
savecompact_history = false;
|
||||
savecompact_piano_roll = true;
|
||||
savecompact_selection = false;
|
||||
savecompact_greenzone = SAVECOMPACT_GREENZONE_NO;
|
||||
savecompact_greenzone = SAVE_GREENZONE_NO;
|
||||
findnote_matchcase = false;
|
||||
findnote_search_up = false;
|
||||
enable_auto_function = true;
|
||||
draw_input = true;
|
||||
enable_greenzoning = true;
|
||||
compact_quicksaving = false;
|
||||
enable_autosave = true;
|
||||
autosave_period = AUTOSAVE_PERIOD_DEFAULT;
|
||||
silent_autosave = true;
|
||||
autopause_at_finish = true;
|
||||
tooltips = true;
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
enum
|
||||
{
|
||||
SAVECOMPACT_GREENZONE_ALL,
|
||||
SAVECOMPACT_GREENZONE_16TH,
|
||||
SAVECOMPACT_GREENZONE_MARKED,
|
||||
SAVECOMPACT_GREENZONE_NO,
|
||||
SAVE_GREENZONE_ALL,
|
||||
SAVE_GREENZONE_16TH,
|
||||
SAVE_GREENZONE_MARKED,
|
||||
SAVE_GREENZONE_NO,
|
||||
|
||||
// ...
|
||||
SAVECOMPACT_GREENZONE_TOTAL
|
||||
SAVE_GREENZONE_TOTAL
|
||||
};
|
||||
|
||||
#define AUTHOR_MAX_LEN 100
|
||||
|
@ -63,9 +63,15 @@ public:
|
|||
bool adjust_input_due_to_lag;
|
||||
int greenzone_capacity;
|
||||
int undo_levels;
|
||||
int autosave_period;
|
||||
int last_export_type;
|
||||
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_markers;
|
||||
bool savecompact_bookmarks;
|
||||
|
@ -78,7 +84,8 @@ public:
|
|||
bool enable_auto_function;
|
||||
bool draw_input;
|
||||
bool enable_greenzoning;
|
||||
bool compact_quicksaving;
|
||||
bool enable_autosave;
|
||||
int autosave_period;
|
||||
bool silent_autosave;
|
||||
bool autopause_at_finish;
|
||||
bool tooltips;
|
||||
|
|
|
@ -60,12 +60,12 @@ void TASEDITOR_PROJECT::reset()
|
|||
void TASEDITOR_PROJECT::update()
|
||||
{
|
||||
// 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)
|
||||
SaveProject(taseditor_config.compact_quicksaving);
|
||||
SaveProject();
|
||||
else
|
||||
SaveProjectAs(taseditor_config.compact_quicksaving);
|
||||
SaveProjectAs();
|
||||
// in case user pressed Cancel, postpone saving to next time
|
||||
SheduleNextAutosave();
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ bool TASEDITOR_PROJECT::save(const char* different_name, bool save_binary, bool
|
|||
unsigned int saved_stuff_map = 0;
|
||||
if (save_markers) saved_stuff_map |= MARKERS_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_piano_roll) saved_stuff_map |= PIANO_ROLL_SAVED;
|
||||
if (save_selection) saved_stuff_map |= SELECTION_SAVED;
|
||||
|
@ -385,7 +385,6 @@ bool TASEDITOR_PROJECT::GetProjectChanged()
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
void reset();
|
||||
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);
|
||||
|
||||
void RenameProject(const char* new_fullname, bool filename_is_correct);
|
||||
|
|
|
@ -55,6 +55,7 @@ extern char* GetKeyComboName(int c);
|
|||
|
||||
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 SavingOptionsProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
// main window wndproc
|
||||
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
|
||||
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
|
||||
char windowCaptioBase[] = "TAS Editor";
|
||||
char patterns_menu_prefix[] = "Pattern: ";
|
||||
|
@ -200,7 +200,6 @@ void TASEDITOR_WINDOW::init()
|
|||
// menus and checked items
|
||||
hmenu = GetMenu(hwndTasEditor);
|
||||
UpdateCheckedItems();
|
||||
UpdateMenuCaptions();
|
||||
patterns_menu = GetSubMenu(hmenu, PATTERNS_MENU_POS);
|
||||
// tooltips
|
||||
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_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_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_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);
|
||||
|
@ -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_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()
|
||||
|
@ -922,7 +893,7 @@ BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
|
|||
OpenProject();
|
||||
break;
|
||||
case ACCEL_CTRL_S:
|
||||
SaveProject(taseditor_config.compact_quicksaving);
|
||||
SaveProject();
|
||||
break;
|
||||
case ID_FILE_SAVEPROJECT:
|
||||
SaveProject();
|
||||
|
@ -1071,33 +1042,15 @@ BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
|
|||
}
|
||||
break;
|
||||
}
|
||||
case ID_CONFIG_SETAUTOSAVEPERIOD:
|
||||
case ID_CONFIG_SAVING_OPTIONS:
|
||||
{
|
||||
int new_period = taseditor_config.autosave_period;
|
||||
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();
|
||||
}
|
||||
DialogBox(fceu_hInstance, MAKEINTRESOURCE(IDD_TASEDITOR_SAVINGOPTIONS), taseditor_window.hwndTasEditor, SavingOptionsProc);
|
||||
break;
|
||||
}
|
||||
case ID_CONFIG_ENABLEGREENZONING:
|
||||
taseditor_config.enable_greenzoning ^= 1;
|
||||
taseditor_window.UpdateCheckedItems();
|
||||
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:
|
||||
taseditor_config.branch_full_movie ^= 1;
|
||||
taseditor_window.UpdateCheckedItems();
|
||||
|
|
|
@ -41,7 +41,6 @@ public:
|
|||
void RedrawTaseditor();
|
||||
|
||||
void UpdateCheckedItems();
|
||||
void UpdateMenuCaptions();
|
||||
|
||||
void UpdateRecentProjectsMenu();
|
||||
void UpdateRecentProjectsArray(const char* addString);
|
||||
|
|
Loading…
Reference in New Issue