Taseditor: 2 new hotkeys: "Switch Auto-restoring" (Ctrl+Spacebar), "Switch current Multitracking mode" (W); TASEDITOR type of hotkeys

This commit is contained in:
ansstuff 2012-06-19 13:56:11 +00:00
parent c11cdffadd
commit dc0e5b1678
8 changed files with 72 additions and 22 deletions

View File

@ -73,10 +73,12 @@ static struct
{ EMUCMD_RELOAD, SCAN_F1 | CMD_KEY_CTRL , },
{ EMUCMD_MISC_UNDOREDOSAVESTATE, SCAN_Z | CMD_KEY_CTRL, },
{ EMUCMD_MISC_TOGGLEFULLSCREEN, SCAN_ENTER | CMD_KEY_ALT, },
{ EMUCMD_TASEDITOR_REWIND, SCAN_BACKSPACE, },
{ EMUCMD_RERECORD_DISPLAY_TOGGLE, SCAN_M, },
{ EMUCMD_TASEDITOR_REWIND, SCAN_BACKSPACE, },
{ EMUCMD_TASEDITOR_RESTORE_PLAYBACK, SCAN_SPACE, },
{ EMUCMD_TASEDITOR_CANCEL_SEEKING, SCAN_ESCAPE, },
{ EMUCMD_TASEDITOR_SWITCH_AUTORESTORING, SCAN_SPACE | CMD_KEY_CTRL, },
{ EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, SCAN_W, },
};
#define NUM_DEFAULT_MAPPINGS (sizeof(DefaultCommandMapping)/sizeof(DefaultCommandMapping[0]))
@ -569,7 +571,7 @@ HWND InitializeListView(HWND hwndDlg)
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lv.fmt = LVCFMT_LEFT;
lv.pszText = "Type";
lv.cx = 40;
lv.cx = 80;
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)0, (LPARAM)&lv);
@ -577,7 +579,7 @@ HWND InitializeListView(HWND hwndDlg)
lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lv.fmt = LVCFMT_LEFT;
lv.pszText = "Command";
lv.cx = 180;
lv.cx = 240;
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)1, (LPARAM)&lv);

View File

@ -784,16 +784,16 @@ BEGIN
PUSHBUTTON " ",320,256,58,16,12
END
MAPINPUT DIALOGEX 0, 0, 322, 293
MAPINPUT DIALOGEX 0, 0, 318, 294
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Hotkeys"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,265,274,50,14
PUSHBUTTON "Cancel",BTN_CANCEL,209,274,50,14
CONTROL "List2",LV_MAPPING,"SysListView32",LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,308,243
DEFPUSHBUTTON "OK",IDOK,261,274,50,14
PUSHBUTTON "Cancel",BTN_CANCEL,205,274,50,14
CONTROL "List2",LV_MAPPING,"SysListView32",LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,304,243
PUSHBUTTON "Restore Defaults",BTN_RESTORE_DEFAULTS,7,274,75,14
COMBOBOX COMBO_FILTER,32,255,283,193,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX COMBO_FILTER,32,255,279,193,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
RTEXT "Filter:",65484,6,255,21,12,SS_CENTERIMAGE | NOT WS_GROUP
END
@ -1861,6 +1861,14 @@ BEGIN
TOPMARGIN, 8
END
"DWBDIALOG", DIALOG
BEGIN
END
"FKBDIALOG", DIALOG
BEGIN
END
"GUICONFIG", DIALOG
BEGIN
LEFTMARGIN, 10
@ -1879,6 +1887,7 @@ BEGIN
"MAPINPUT", DIALOG
BEGIN
BOTTOMMARGIN, 293
END
"MESSAGELOG", DIALOG
@ -1930,6 +1939,10 @@ BEGIN
BOTTOMMARGIN, 217
END
"DWBDIALOGSIMPLE", DIALOG
BEGIN
END
"MEMWATCH", DIALOG
BEGIN
RIGHTMARGIN, 260
@ -2190,7 +2203,6 @@ BEGIN
VK_PRIOR, ACCEL_SHIFT_PGUP, VIRTKEY, SHIFT, NOINVERT
VK_RIGHT, ACCEL_SHIFT_RIGHT, VIRTKEY, SHIFT, NOINVERT
VK_UP, ACCEL_SHIFT_UP, VIRTKEY, SHIFT, NOINVERT
VK_SPACE, ACCEL_CTRL_SPACE, VIRTKEY, CONTROL, NOINVERT
END
IDR_RWACCELERATOR ACCELERATORS

View File

@ -658,7 +658,6 @@
#define IDC_TEXT_CLIPBOARD 1268
#define IDC_RADIO_1PLAYER 1269
#define IDC_TEXT_SELECTION2 1269
#define CHECK_AUTORESTORE_PLAYBACK2 1269
#define CHECK_AUTOADJUSTINPUTDUETOLAG 1269
#define IDC_RADIO_2PLAYERS 1270
#define IDC_PLAYBACK_MARKER 1270

View File

@ -855,6 +855,15 @@ void Taseditor_EMUCMD(int command)
case EMUCMD_TASEDITOR_CANCEL_SEEKING:
playback.CancelSeeking();
break;
case EMUCMD_TASEDITOR_SWITCH_AUTORESTORING:
taseditor_config.restore_position ^= 1;
taseditor_window.UpdateCheckedItems();
break;
case EMUCMD_TASEDITOR_SWITCH_MULTITRACKING:
recorder.multitrack_recording_joypad++;
if (recorder.multitrack_recording_joypad > joysticks_per_frame[GetInputType(currMovieData)])
recorder.multitrack_recording_joypad = 0;
break;
}
}

View File

@ -227,6 +227,10 @@ void RECORDER::RecheckRecordingRadioButtons()
case MULTITRACK_RECORDING_4P:
Button_SetCheck(hwndRB_Rec4P, BST_CHECKED);
break;
default:
multitrack_recording_joypad = MULTITRACK_RECORDING_ALL;
Button_SetCheck(hwndRB_RecAll, BST_CHECKED);
break;
}
}
@ -304,6 +308,7 @@ void RECORDER::InputChanged()
}
}
// getters
const char* RECORDER::GetRecordingMode()
{
return recordingModes[multitrack_recording_joypad];

View File

@ -149,17 +149,17 @@ Window_items_struct window_items[TASEDITOR_WINDOW_TOTAL_ITEMS] = {
TASEDITOR_FORWARD_FULL, -1, 0, 0, 0, "Send Playback to next Marker (mouse: Shift+Wheel down) (hotkey: Shift+PageDown)", "", false, 0, 0,
IDC_PROGRESS1, -1, 0, 0, 0, "", "", false, 0, 0,
CHECK_FOLLOW_CURSOR, -1, 0, 0, 0, "The Piano Roll will follow Playback cursor movements", "", false, 0, 0,
CHECK_AUTORESTORE_PLAYBACK, -1, 0, 0, 0, "Whenever you change input above Playback cursor, the cursor returns to where it was before the change (hotkey: Ctrl+Spacebar)", "", false, 0, 0,
CHECK_AUTORESTORE_PLAYBACK, -1, 0, 0, 0, "Whenever you change input above Playback cursor, the cursor returns to where it was before the change", "", false, EMUCMD_TASEDITOR_SWITCH_AUTORESTORING, 0,
CHECK_AUTOADJUSTINPUTDUETOLAG, -1, 0, 0, 0, "TAS Editor will adjust Input when new lag frames appear or old lag frames disappear while emulating", "", false, 0, 0,
IDC_BOOKMARKSLIST, -1, 0, 0, 0, "Right click = set Bookmark, Left click = jump to Bookmark or load Branch", "", false, 0, 0,
IDC_HISTORYLIST, -1, 0, 0, -1, "Click to revert the project back to that time", "", false, 0, 0,
IDC_RADIO_ALL, -1, 0, 0, 0, "", "", false, 0, 0,
IDC_RADIO_1P, -1, 0, 0, 0, "", "", false, 0, 0,
IDC_RADIO_2P, -1, 0, 0, 0, "", "", false, 0, 0,
IDC_RADIO_3P, -1, 0, 0, 0, "", "", false, 0, 0,
IDC_RADIO_4P, -1, 0, 0, 0, "", "", false, 0, 0,
IDC_RADIO_ALL, -1, 0, 0, 0, "Switch off Multitracking", "", false, 0, 0,
IDC_RADIO_1P, -1, 0, 0, 0, "Select Joypad 1 as current", "", false, EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, 0,
IDC_RADIO_2P, -1, 0, 0, 0, "Select Joypad 2 as current", "", false, EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, 0,
IDC_RADIO_3P, -1, 0, 0, 0, "Select Joypad 3 as current", "", false, EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, 0,
IDC_RADIO_4P, -1, 0, 0, 0, "Select Joypad 4 as current", "", false, EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, 0,
IDC_SUPERIMPOSE, -1, 0, 0, 0, "Allows to superimpose old input with new buttons, instead of overwriting", "", false, 0, 0,
IDC_USEPATTERN, -1, 0, 0, 0, "Applies current Autofire Pattern to input recording", "", false, 0, 0,
IDC_USEPATTERN, -1, 0, 0, 0, "Applies current Autofire Pattern to input recording", "", false, 0, 0,
TASEDITOR_PREV_MARKER, -1, -1, 0, -1, "Send Selection to previous Marker (mouse: Ctrl+Wheel up) (hotkey: Ctrl+PageUp)", "", false, 0, 0,
TASEDITOR_FIND_BEST_SIMILAR_MARKER, -1, -1, 0, -1, "Auto-search for Marker Note", "", false, 0, 0,
TASEDITOR_FIND_NEXT_SIMILAR_MARKER, -1, -1, 0, -1, "Continue Auto-search", "", false, 0, 0,
@ -1053,7 +1053,6 @@ BOOL CALLBACK WndprocTasEditor(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
taseditor_window.UpdateCheckedItems();
break;
case CHECK_AUTORESTORE_PLAYBACK:
case ACCEL_CTRL_SPACE:
taseditor_config.restore_position ^= 1;
taseditor_window.UpdateCheckedItems();
break;

View File

@ -620,6 +620,7 @@ const char* FCEUI_CommandTypeNames[]=
"FDS",
"VS Sys",
"Tools",
"TAS Editor",
};
static void CommandUnImpl(void);
@ -662,6 +663,8 @@ static void TaseditorRewindOn(void);
static void TaseditorRewindOff(void);
static void TaseditorRestorePlayback(void);
static void TaseditorCancelSeeking(void);
static void TaseditorSwitchAutoRestoring(void);
static void TaseditorSwitchMultitracking(void);
struct EMUCMDTABLE FCEUI_CommandTable[]=
{
@ -785,10 +788,12 @@ struct EMUCMDTABLE FCEUI_CommandTable[]=
{ EMUCMD_TOOL_RAMSEARCHGTE, EMUCMDTYPE_TOOL, RamSearchOpGTE, 0, 0, "Ram Search - Greater Than or Equal", 0},
{ EMUCMD_TOOL_RAMSEARCHEQ, EMUCMDTYPE_TOOL, RamSearchOpEQ, 0, 0, "Ram Search - Equal", 0},
{ EMUCMD_TOOL_RAMSEARCHNE, EMUCMDTYPE_TOOL, RamSearchOpNE, 0, 0, "Ram Search - Not Equal", 0},
{ EMUCMD_TASEDITOR_REWIND, EMUCMDTYPE_MISC, TaseditorRewindOn, TaseditorRewindOff, 0, "Rewind Frame (TAS Editor)", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_RERECORD_DISPLAY_TOGGLE, EMUCMDTYPE_MISC, FCEUI_MovieToggleRerecordDisplay, 0, 0, "Toggle Rerecord Display", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_RESTORE_PLAYBACK, EMUCMDTYPE_MISC, TaseditorRestorePlayback, 0, 0, "Restore Playback (TAS Editor)", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_CANCEL_SEEKING, EMUCMDTYPE_MISC, TaseditorCancelSeeking, 0, 0, "Cancel Seeking (TAS Editor)", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_REWIND, EMUCMDTYPE_TASEDITOR, TaseditorRewindOn, TaseditorRewindOff, 0, "Frame Rewind", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_RESTORE_PLAYBACK, EMUCMDTYPE_TASEDITOR, TaseditorRestorePlayback, 0, 0, "Restore Playback", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_CANCEL_SEEKING, EMUCMDTYPE_TASEDITOR, TaseditorCancelSeeking, 0, 0, "Cancel Seeking", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_SWITCH_AUTORESTORING, EMUCMDTYPE_TASEDITOR, TaseditorSwitchAutoRestoring, 0, 0, "Switch Auto-restore last position", EMUCMDFLAG_TASEDITOR },
{ EMUCMD_TASEDITOR_SWITCH_MULTITRACKING, EMUCMDTYPE_TASEDITOR, TaseditorSwitchMultitracking, 0, 0, "Switch current Multitracking mode", EMUCMDFLAG_TASEDITOR },
};
#define NUM_EMU_CMDS (sizeof(FCEUI_CommandTable)/sizeof(FCEUI_CommandTable[0]))
@ -1199,3 +1204,19 @@ static void TaseditorCancelSeeking(void)
Taseditor_EMUCMD(execcmd);
#endif
}
static void TaseditorSwitchAutoRestoring(void)
{
#ifdef WIN32
if (FCEUMOV_Mode(MOVIEMODE_TASEDITOR))
Taseditor_EMUCMD(execcmd);
#endif
}
static void TaseditorSwitchMultitracking(void)
{
#ifdef WIN32
if (FCEUMOV_Mode(MOVIEMODE_TASEDITOR))
Taseditor_EMUCMD(execcmd);
#endif
}

View File

@ -234,9 +234,11 @@ enum EMUCMD
EMUCMD_TASEDITOR_REWIND,
EMUCMD_RERECORD_DISPLAY_TOGGLE,
EMUCMD_TASEDITOR_RESTORE_PLAYBACK,
EMUCMD_TASEDITOR_CANCEL_SEEKING,
EMUCMD_TASEDITOR_SWITCH_AUTORESTORING,
//-----------------------------
//keep adding these in order of newness or else the hotkey binding configs will get messed up...
EMUCMD_TASEDITOR_CANCEL_SEEKING,
EMUCMD_TASEDITOR_SWITCH_MULTITRACKING,
EMUCMD_MAX
};
@ -252,6 +254,7 @@ enum EMUCMDTYPE
EMUCMDTYPE_FDS,
EMUCMDTYPE_VSUNI,
EMUCMDTYPE_TOOL, //All Tools type are currenty windows only programs
EMUCMDTYPE_TASEDITOR, // Windows-only as well
EMUCMDTYPE_MAX
};