* Config->Display->Rerecord counter

* now Tasedit operates with rerecords_counter, no more such thing as tweak_count, because new way of accounting tweaks resembles rerecords too much
* Config->Movie options->Always suggest Read-Only replay (for Replay dialog)
This commit is contained in:
ansstuff 2011-09-23 10:50:51 +00:00
parent 72e04788fe
commit ae1bb879ef
11 changed files with 90 additions and 97 deletions

View File

@ -69,7 +69,6 @@ extern bool fullSaveStateLoads;
extern int frameSkipAmt; extern int frameSkipAmt;
extern bool TASEdit_follow_playback; extern bool TASEdit_follow_playback;
extern bool TASEdit_show_lag_frames; extern bool TASEdit_show_lag_frames;
extern bool TASEdit_show_tweak_count;
extern bool TASEdit_restore_position; extern bool TASEdit_restore_position;
extern int TASEdit_greenzone_capacity; extern int TASEdit_greenzone_capacity;
@ -226,6 +225,7 @@ static CFGSTRUCT fceuconfig[] = {
AC(autoHoldKey), AC(autoHoldKey),
AC(autoHoldClearKey), AC(autoHoldClearKey),
AC(frame_display), AC(frame_display),
AC(rerecord_display),
AC(input_display), AC(input_display),
ACS(MemWatchDir), ACS(MemWatchDir),
AC(EnableBackgroundInput), AC(EnableBackgroundInput),
@ -283,13 +283,13 @@ static CFGSTRUCT fceuconfig[] = {
AC(pauseAfterPlayback), AC(pauseAfterPlayback),
AC(closeFinishedMovie), AC(closeFinishedMovie),
AC(suggestReadOnlyReplay),
AC(AFon), AC(AFon),
AC(AFoff), AC(AFoff),
AC(AutoFireOffset), AC(AutoFireOffset),
AC(DesynchAutoFire), AC(DesynchAutoFire),
AC(TASEdit_follow_playback), AC(TASEdit_follow_playback),
AC(TASEdit_show_lag_frames), AC(TASEdit_show_lag_frames),
AC(TASEdit_show_tweak_count),
AC(TASEdit_restore_position), AC(TASEdit_restore_position),
AC(TASEdit_greenzone_capacity), AC(TASEdit_greenzone_capacity),
AC(lagCounterDisplay), AC(lagCounterDisplay),

View File

@ -43,10 +43,12 @@ extern int genie;
extern int pal_emulation; extern int pal_emulation;
extern int status_icon; extern int status_icon;
extern int frame_display; extern int frame_display;
extern int rerecord_display;
extern int input_display; extern int input_display;
extern int allowUDLR; extern int allowUDLR;
extern int pauseAfterPlayback; extern int pauseAfterPlayback;
extern int closeFinishedMovie; extern int closeFinishedMovie;
extern int suggestReadOnlyReplay;
extern int EnableBackgroundInput; extern int EnableBackgroundInput;
extern int AFon; extern int AFon;
extern int AFoff; extern int AFoff;

View File

@ -24,6 +24,7 @@
//internal variables //internal variables
int pauseAfterPlayback = 0; //Flag for pausing emulator when movie is finished int pauseAfterPlayback = 0; //Flag for pausing emulator when movie is finished
int closeFinishedMovie = 0; //Flag for clossing movie when it is finished int closeFinishedMovie = 0; //Flag for clossing movie when it is finished
int suggestReadOnlyReplay = 1;
//external //external
extern int status_icon; //In main.cpp - For displaying movie status icons (play,record,pause) extern int status_icon; //In main.cpp - For displaying movie status icons (play,record,pause)
@ -37,6 +38,7 @@ void UpdateCheckBoxes(HWND hwndDlg)
{ {
CheckDlgButton(hwndDlg, IDC_MOVIE_PAUSEAFTERPLAYBACK, pauseAfterPlayback ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MOVIE_PAUSEAFTERPLAYBACK, pauseAfterPlayback ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MOVIE_CLOSEAFTERPLAYBACK, closeFinishedMovie ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MOVIE_CLOSEAFTERPLAYBACK, closeFinishedMovie ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MOVIE_SUGGEST_READONLY, suggestReadOnlyReplay ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MOVIE_BINDSAVESTATES, bindSavestate ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MOVIE_BINDSAVESTATES, bindSavestate ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MOVIE_DISPLAYSTATUSICON, status_icon ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MOVIE_DISPLAYSTATUSICON, status_icon ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_MOVIE_DISPLAYSUBTITLES, movieSubtitles ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_MOVIE_DISPLAYSUBTITLES, movieSubtitles ? BST_CHECKED : BST_UNCHECKED);
@ -81,6 +83,10 @@ BOOL CALLBACK MovieOptionsCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
closeFinishedMovie = closeFinishedMovie?0:1; closeFinishedMovie = closeFinishedMovie?0:1;
break; break;
case IDC_MOVIE_SUGGEST_READONLY:
suggestReadOnlyReplay = suggestReadOnlyReplay?0:1;
break;
case IDC_MOVIE_BINDSAVESTATES: case IDC_MOVIE_BINDSAVESTATES:
bindSavestate ^= 1; bindSavestate ^= 1;
break; break;

View File

@ -177,8 +177,6 @@ void UpdateReplayDialog(HWND hwndDlg)
sprintf(tmp, "%u", (unsigned)info.rerecord_count); sprintf(tmp, "%u", (unsigned)info.rerecord_count);
SetWindowTextA(GetDlgItem(hwndDlg,IDC_LABEL_UNDOCOUNT), tmp); // rerecord SetWindowTextA(GetDlgItem(hwndDlg,IDC_LABEL_UNDOCOUNT), tmp); // rerecord
sprintf(tmp, "%u", (unsigned)info.tweak_count);
SetWindowTextA(GetDlgItem(hwndDlg,IDC_LABEL_TWEAKCOUNT), tmp);
SendDlgItemMessage(hwndDlg,IDC_CHECK_READONLY,BM_SETCHECK,(replayReadOnlySetting ? BST_CHECKED : BST_UNCHECKED), 0); SendDlgItemMessage(hwndDlg,IDC_CHECK_READONLY,BM_SETCHECK,(replayReadOnlySetting ? BST_CHECKED : BST_UNCHECKED), 0);
@ -273,7 +271,6 @@ void UpdateReplayDialog(HWND hwndDlg)
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_LENGTH),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_LENGTH),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_FRAMES),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_FRAMES),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_UNDOCOUNT),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_UNDOCOUNT),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_TWEAKCOUNT),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMUSED),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMUSED),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMCHECKSUM),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMCHECKSUM),"");
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_RECORDEDFROM),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_RECORDEDFROM),"");
@ -281,7 +278,6 @@ void UpdateReplayDialog(HWND hwndDlg)
SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_CURRCHECKSUM),md5_asciistr(GameInfo->MD5)); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_CURRCHECKSUM),md5_asciistr(GameInfo->MD5));
SetDlgItemText(hwndDlg,IDC_EDIT_STOPFRAME,""); stopframeWasEditedByUser=false; SetDlgItemText(hwndDlg,IDC_EDIT_STOPFRAME,""); stopframeWasEditedByUser=false;
EnableWindow(GetDlgItem(hwndDlg,IDC_CHECK_READONLY),FALSE); EnableWindow(GetDlgItem(hwndDlg,IDC_CHECK_READONLY),FALSE);
SendDlgItemMessage(hwndDlg,IDC_CHECK_READONLY,BM_SETCHECK,BST_UNCHECKED,0);
EnableWindow(GetDlgItem(hwndDlg,IDOK),FALSE); EnableWindow(GetDlgItem(hwndDlg,IDOK),FALSE);
} }
} }
@ -989,6 +985,9 @@ void FCEUD_MovieRecordTo()
void Replay_LoadMovie(bool tasedit) void Replay_LoadMovie(bool tasedit)
{ {
if (suggestReadOnlyReplay)
replayReadOnlySetting = true;
else
replayReadOnlySetting = FCEUI_GetMovieToggleReadOnly(); replayReadOnlySetting = FCEUI_GetMovieToggleReadOnly();
char* fn = (char*)DialogBoxParam(fceu_hInstance, "IDD_REPLAYINP", hAppWnd, ReplayDialogProc, (LPARAM)(tasedit?1:0)); char* fn = (char*)DialogBoxParam(fceu_hInstance, "IDD_REPLAYINP", hAppWnd, ReplayDialogProc, (LPARAM)(tasedit?1:0));

View File

@ -126,6 +126,7 @@ BEGIN
END END
MENUITEM "&Lag Counter", MENU_DISPLAY_LAGCOUNTER MENUITEM "&Lag Counter", MENU_DISPLAY_LAGCOUNTER
MENUITEM "&Frame Counter", ID_DISPLAY_FRAMECOUNTER MENUITEM "&Frame Counter", ID_DISPLAY_FRAMECOUNTER
MENUITEM "&Rerecord Counter", ID_DISPLAY_RERECORDCOUNTER
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Graphics: &BG", MENU_DISPLAY_BG MENUITEM "Graphics: &BG", MENU_DISPLAY_BG
MENUITEM "Graphics: &OBJ", MENU_DISPLAY_OBJ MENUITEM "Graphics: &OBJ", MENU_DISPLAY_OBJ
@ -243,7 +244,6 @@ BEGIN
POPUP "&View" POPUP "&View"
BEGIN BEGIN
MENUITEM "Highlight &lag frames", ID_VIEW_SHOW_LAG_FRAMES MENUITEM "Highlight &lag frames", ID_VIEW_SHOW_LAG_FRAMES
MENUITEM "Show T&weak count", ID_VIEW_SHOW_TWEAK_COUNT
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Follow playback\tCtrl+F", ID_VIEW_FOLLOW_PLAYBACK MENUITEM "&Follow playback\tCtrl+F", ID_VIEW_FOLLOW_PLAYBACK
END END
@ -897,30 +897,32 @@ BEGIN
CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12 CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12
END END
MOVIEOPTIONS DIALOGEX 65520, 76, 147, 213 MOVIEOPTIONS DIALOGEX 65520, 76, 147, 231
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Movie Options" CAPTION "Movie Options"
FONT 8, "MS Sans Serif", 0, 0, 0x0 FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Close",IDC_MOVIE_CLOSE,45,194,49,14,BS_CENTER DEFPUSHBUTTON "Close",IDC_MOVIE_CLOSE,47,210,49,14,BS_CENTER
CONTROL "Pause after playback",IDC_MOVIE_PAUSEAFTERPLAYBACK, CONTROL "Pause after playback",IDC_MOVIE_PAUSEAFTERPLAYBACK,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,12,134,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,28,110,10
CONTROL "Bind savestates to movies",IDC_MOVIE_BINDSAVESTATES, CONTROL "Bind savestates to movies",IDC_MOVIE_BINDSAVESTATES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,50,134,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,66,111,10
CONTROL "Display movie status icon",IDC_MOVIE_DISPLAYSTATUSICON, CONTROL "Display movie status icon",IDC_MOVIE_DISPLAYSTATUSICON,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,69,134,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,85,109,10
CONTROL "Display movie subtitles",IDC_MOVIE_DISPLAYSUBTITLES, CONTROL "Display movie subtitles",IDC_MOVIE_DISPLAYSUBTITLES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,89,134,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,105,102,10
CONTROL "Put movie subtitles in AVI",IDC_MOVIE_SUBTITLESINAVI, CONTROL "Put movie subtitles in AVI",IDC_MOVIE_SUBTITLESINAVI,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,29,109,109,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,124,102,10
CONTROL "Automatically backup movies",IDC_MOVIE_AUTOBACKUP, CONTROL "Automatically backup movies",IDC_MOVIE_AUTOBACKUP,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,128,134,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,144,114,10
CONTROL "Load full savestate-movies",IDC_FULLSAVESTATES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,147,134,10 CONTROL "Load full savestate-movies",IDC_FULLSAVESTATES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,163,110,10
LTEXT "loaded states in record mode not",IDC_STATIC,19,159,119,8 LTEXT "loaded states in record mode not",IDC_STATIC,24,175,110,8
LTEXT "truncated until next frame",IDC_STATIC,21,169,117,8 LTEXT "truncated until next frame",IDC_STATIC,23,185,94,8
LTEXT "(VBA-rr & SNES9x style)",IDC_STATIC,18,179,120,8 LTEXT "(VBA-rr & SNES9x style)",IDC_STATIC,23,195,93,8
CONTROL "Close after playback",IDC_MOVIE_CLOSEAFTERPLAYBACK, CONTROL "Close after playback",IDC_MOVIE_CLOSEAFTERPLAYBACK,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,31,96,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,89,10
CONTROL "Always suggest Read-Only replay",IDC_MOVIE_SUGGEST_READONLY,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,10,125,10
END END
DWBDIALOGSIMPLE DIALOGEX 33, 99, 250, 39 DWBDIALOGSIMPLE DIALOGEX 33, 99, 250, 39
@ -1296,66 +1298,64 @@ BEGIN
RTEXT "Author:",65502,18,43,34,10,SS_CENTERIMAGE | NOT WS_GROUP,WS_EX_RIGHT RTEXT "Author:",65502,18,43,34,10,SS_CENTERIMAGE | NOT WS_GROUP,WS_EX_RIGHT
END END
IDD_REPLAYINP DIALOGEX 0, 0, 300, 215 IDD_REPLAYINP DIALOGEX 0, 0, 300, 202
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Play Movie" CAPTION "Play Movie"
FONT 8, "MS Shell Dlg", 0, 0, 0x0 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "OK",1,187,197,50,14 DEFPUSHBUTTON "OK",1,189,183,50,14
GROUPBOX "",65497,3,0,293,192 GROUPBOX "",65497,3,0,293,179
RTEXT "File:",65498,8,11,24,10,SS_CENTERIMAGE | NOT WS_GROUP RTEXT "File:",65498,8,11,24,10,SS_CENTERIMAGE | NOT WS_GROUP
COMBOBOX IDC_COMBO_FILENAME,35,10,257,128,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMBO_FILENAME,35,10,257,128,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Cancel",2,241,197,50,14 PUSHBUTTON "Cancel",2,243,183,50,14
RTEXT "Length:",64397,10,67,59,8 RTEXT "Length:",64397,10,67,59,8
RTEXT "Frames:",65496,10,78,59,8 RTEXT "Frames:",65496,10,78,59,8
RTEXT "Record Count:",65495,10,89,59,8 RTEXT "Record Count:",65495,10,89,59,8
RTEXT "ROM Used:",65493,10,122,59,8 RTEXT "ROM Used:",65493,10,111,59,8
RTEXT "ROM Checksum:",65492,10,133,59,8 RTEXT "ROM Checksum:",65492,10,122,59,8
RTEXT "Recorded From:",65491,10,111,59,8 RTEXT "Recorded From:",65491,10,100,59,8
RTEXT "Emulator Used:",65490,10,155,59,8 RTEXT "Emulator Used:",65490,10,144,59,8
RTEXT "Current ROM Sum:",65489,8,144,61,8 RTEXT "Current ROM Sum:",65489,8,133,61,8
CONTROL "Pause movie at frame",IDC_CHECK_STOPMOVIE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,49,83,10 CONTROL "Pause movie at frame",IDC_CHECK_STOPMOVIE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,49,83,10
EDITTEXT IDC_EDIT_STOPFRAME,103,47,35,12,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_EDIT_STOPFRAME,103,47,39,12,ES_AUTOHSCROLL | ES_NUMBER
GROUPBOX "Parameters",IDC_STATIC,13,25,278,40 GROUPBOX "Parameters",IDC_STATIC,13,25,278,40
PUSHBUTTON "Metadata...",IDC_BUTTON_METADATA,239,71,50,14 PUSHBUTTON "Metadata...",IDC_BUTTON_METADATA,239,71,50,14
EDITTEXT IDC_LABEL_EMULATORUSED,76,155,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_EMULATORUSED,76,144,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_CURRCHECKSUM,76,144,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_CURRCHECKSUM,76,133,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_ROMCHECKSUM,76,133,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_ROMCHECKSUM,76,122,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_ROMUSED,76,122,187,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_ROMUSED,76,111,187,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_RECORDEDFROM,76,111,123,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_RECORDEDFROM,76,100,123,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
CONTROL "Open &Read-Only",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,36,69,10 CONTROL "Open &Read-Only",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,36,69,10
EDITTEXT IDC_LABEL_UNDOCOUNT,76,89,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_UNDOCOUNT,76,89,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_FRAMES,76,78,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_FRAMES,76,78,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
EDITTEXT IDC_LABEL_LENGTH,76,67,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_LENGTH,76,67,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
RTEXT "Pal:",65494,10,166,59,8 RTEXT "Pal:",65494,10,155,59,8
EDITTEXT IDC_LABEL_PALUSED,76,166,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_PALUSED,76,155,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
RTEXT "New PPU:",65499,10,177,59,8 RTEXT "New PPU:",65499,10,166,59,8
EDITTEXT IDC_LABEL_NEWPPUUSED,76,177,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_LABEL_NEWPPUUSED,76,166,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
RTEXT "Tweak Count:",65500,10,100,59,8
EDITTEXT IDC_LABEL_TWEAKCOUNT,76,100,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
END END
TASEDIT DIALOGEX 0, 0, 462, 382 TASEDIT DIALOGEX 0, 0, 445, 381
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "TAS Editor" CAPTION "TAS Editor"
MENU TASEDITMENU MENU TASEDITMENU
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER,7,5,324,370 CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER,6,5,310,370
PUSHBUTTON "<<",TASEDIT_REWIND_FULL,341,14,22,14 GROUPBOX "Playback control",IDC_STATIC,322,5,118,40,BS_CENTER,WS_EX_RIGHT
PUSHBUTTON "<",TASEDIT_REWIND,363,14,22,14 PUSHBUTTON "<<",TASEDIT_REWIND_FULL,326,14,22,14,NOT WS_TABSTOP
PUSHBUTTON "||",TASEDIT_PLAYSTOP,385,14,22,14 PUSHBUTTON "<",TASEDIT_REWIND,348,14,22,14,NOT WS_TABSTOP
PUSHBUTTON ">",TASEDIT_FOWARD,407,14,22,14 PUSHBUTTON "||",TASEDIT_PLAYSTOP,370,14,22,14,NOT WS_TABSTOP
PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,429,14,22,14 PUSHBUTTON ">",TASEDIT_FOWARD,392,14,22,14,NOT WS_TABSTOP
GROUPBOX "Playback control",IDC_STATIC,337,5,118,41,BS_CENTER,WS_EX_RIGHT PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,414,14,22,14,NOT WS_TABSTOP
GROUPBOX "Project Input Logs",IDC_STATIC,337,246,118,129,BS_CENTER,WS_EX_RIGHT
CONTROL "",IDC_LIST2,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,342,257,109,114,WS_EX_LEFTSCROLLBAR
LTEXT "Tweak Count",IDC_TWEAKCOUNT,344,113,84,8
GROUPBOX "Recording input",IDC_STATIC,337,47,118,62,BS_CENTER,WS_EX_RIGHT
CONTROL " Auto-restore last position",CHECK_AUTORESTORE_PLAYBACK, CONTROL " Auto-restore last position",CHECK_AUTORESTORE_PLAYBACK,
"Button",BS_AUTOCHECKBOX,343,32,105,12 "Button",BS_AUTOCHECKBOX,328,31,105,12
GROUPBOX "Bookmarks",IDC_STATIC,337,145,118,101,BS_CENTER,WS_EX_RIGHT GROUPBOX "Recording input",IDC_STATIC,322,46,118,62,BS_CENTER,WS_EX_RIGHT
CONTROL "",IDC_LIST3,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSCROLL | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,342,156,109,86 GROUPBOX "Editing input",IDC_STATIC,322,109,118,38,BS_CENTER,WS_EX_RIGHT
GROUPBOX "Bookmarks",IDC_STATIC,322,148,118,103,BS_CENTER,WS_EX_RIGHT
CONTROL "",IDC_LIST3,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSCROLL | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER,327,159,108,88
GROUPBOX "Project Input Logs",IDC_STATIC,322,252,118,123,BS_CENTER,WS_EX_RIGHT
CONTROL "",IDC_LIST2,"SysListView32",LVS_LIST | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER,327,263,108,108,WS_EX_LEFTSCROLLBAR
END END
ASSEMBLER DIALOGEX 0, 0, 202, 135 ASSEMBLER DIALOGEX 0, 0, 202, 135
@ -1792,7 +1792,7 @@ BEGIN
LEFTMARGIN, 4 LEFTMARGIN, 4
RIGHTMARGIN, 138 RIGHTMARGIN, 138
TOPMARGIN, 8 TOPMARGIN, 8
BOTTOMMARGIN, 208 BOTTOMMARGIN, 226
END END
"DWBDIALOGSIMPLE", DIALOG "DWBDIALOGSIMPLE", DIALOG
@ -1848,13 +1848,12 @@ BEGIN
"IDD_REPLAYINP", DIALOG "IDD_REPLAYINP", DIALOG
BEGIN BEGIN
BOTTOMMARGIN, 211 BOTTOMMARGIN, 198
END END
"TASEDIT", DIALOG "TASEDIT", DIALOG
BEGIN BEGIN
LEFTMARGIN, 7 LEFTMARGIN, 7
RIGHTMARGIN, 454
TOPMARGIN, 5 TOPMARGIN, 5
BOTTOMMARGIN, 375 BOTTOMMARGIN, 375
END END

View File

@ -422,6 +422,8 @@
#define IDC_SOUNDS_RESTOREDEFAULTS 1199 #define IDC_SOUNDS_RESTOREDEFAULTS 1199
#define BTN_CANCELED 1200 #define BTN_CANCELED 1200
#define ID_SOUND_TRITOP 1201 #define ID_SOUND_TRITOP 1201
#define IDC_MOVIE_ALWAYS_READONLY 1201
#define IDC_MOVIE_SUGGEST_READONLY 1201
#define ID_SOUND_QUALITYNOTIFY 1202 #define ID_SOUND_QUALITYNOTIFY 1202
#define IDC_CHECK1 1203 #define IDC_CHECK1 1203
#define CB_ENABLECONTEXTMENU 1203 #define CB_ENABLECONTEXTMENU 1203
@ -822,6 +824,7 @@
#define ID_CONFIG_SETGREENZONECAPACITY 40432 #define ID_CONFIG_SETGREENZONECAPACITY 40432
#define ACCEL_CTRL_INSERT 40433 #define ACCEL_CTRL_INSERT 40433
#define ID_CONFIG_MUTETURBO 40435 #define ID_CONFIG_MUTETURBO 40435
#define ID_DISPLAY_RERECORDCOUNTER 40436
#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
@ -831,7 +834,7 @@
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 160 #define _APS_NEXT_RESOURCE_VALUE 160
#define _APS_NEXT_COMMAND_VALUE 40436 #define _APS_NEXT_COMMAND_VALUE 40437
#define _APS_NEXT_CONTROL_VALUE 1262 #define _APS_NEXT_CONTROL_VALUE 1262
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif

View File

@ -35,7 +35,6 @@ int saved_eoptions = 0;
int TasEdit_wndx, TasEdit_wndy; int TasEdit_wndx, TasEdit_wndy;
bool TASEdit_follow_playback = true; bool TASEdit_follow_playback = true;
bool TASEdit_show_lag_frames = true; bool TASEdit_show_lag_frames = true;
bool TASEdit_show_tweak_count = false;
bool TASEdit_restore_position = false; bool TASEdit_restore_position = false;
int TASEdit_greenzone_capacity = GREENZONE_DEFAULT_CAPACITY; int TASEdit_greenzone_capacity = GREENZONE_DEFAULT_CAPACITY;
extern bool muteTurbo; extern bool muteTurbo;
@ -45,8 +44,7 @@ char buttonNames[NUM_JOYPAD_BUTTONS][2] = {"A", "B", "S", "T", "U", "D", "L", "R
HWND hwndTasEdit = 0; HWND hwndTasEdit = 0;
static HMENU hmenu, hrmenu; static HMENU hmenu, hrmenu;
static HWND hwndList, hwndHeader, hwndTweakCount; static HWND hwndList, hwndHeader;
static RECT rectTweakCount;
static WNDPROC hwndHeader_oldWndproc, hwndList_oldWndProc; static WNDPROC hwndHeader_oldWndproc, hwndList_oldWndProc;
typedef std::set<int> TSelectionFrames; typedef std::set<int> TSelectionFrames;
@ -253,10 +251,6 @@ void RedrawRow(int index)
if (ListView_IsItemVisible(hwndList, index)) if (ListView_IsItemVisible(hwndList, index))
ListView_RedrawItems(hwndList,index,index); ListView_RedrawItems(hwndList,index,index);
} }
void RedrawTweakCount()
{
InvalidateRect(hwndTasEdit,&rectTweakCount,FALSE);
}
enum ECONTEXTMENU enum ECONTEXTMENU
{ {
@ -311,9 +305,7 @@ void InvalidateGreenZone(int after)
if (currMovieData.greenZoneCount > after+1) if (currMovieData.greenZoneCount > after+1)
{ {
currMovieData.greenZoneCount = after+1; currMovieData.greenZoneCount = after+1;
// increase tweakCount currMovieData.rerecordCount++;
currMovieData.tweakCount++;
RedrawTweakCount();
// either set playback cursor to the end of greenzone or run seeking to restore playback position // either set playback cursor to the end of greenzone or run seeking to restore playback position
if (currFrameCounter >= currMovieData.greenZoneCount) if (currFrameCounter >= currMovieData.greenZoneCount)
{ {
@ -1073,12 +1065,6 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
{ {
case WM_PAINT: case WM_PAINT:
{ {
char temp[128];
if (TASEdit_show_tweak_count)
sprintf(temp,"Tweak count: %d\n",currMovieData.tweakCount);
else
sprintf(temp,"");
SetWindowText(hwndTweakCount,temp);
} }
break; break;
case WM_INITDIALOG: case WM_INITDIALOG:
@ -1087,8 +1073,6 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
SetWindowPos(hwndDlg,0,TasEdit_wndx,TasEdit_wndy,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOOWNERZORDER); SetWindowPos(hwndDlg,0,TasEdit_wndx,TasEdit_wndy,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOOWNERZORDER);
hwndList = GetDlgItem(hwndDlg,IDC_LIST1); hwndList = GetDlgItem(hwndDlg,IDC_LIST1);
hwndTweakCount = GetDlgItem(hwndDlg,IDC_TWEAKCOUNT);
GetClientRect(hwndTweakCount, &rectTweakCount);
InitDialog(); InitDialog();
break; break;
@ -1305,12 +1289,6 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED);
RedrawList(); RedrawList();
break; break;
case ID_VIEW_SHOW_TWEAK_COUNT:
//switch "Show Tweak count" flag
TASEdit_show_tweak_count ^= 1;
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
RedrawTweakCount();
break;
case ACCEL_CTRL_P: case ACCEL_CTRL_P:
case CHECK_AUTORESTORE_PLAYBACK: case CHECK_AUTORESTORE_PLAYBACK:
//switch "Auto-restore last playback position" flag //switch "Auto-restore last playback position" flag
@ -1412,7 +1390,6 @@ void EnterTasEdit()
// check option ticks // check option ticks
CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_VIEW_FOLLOW_PLAYBACK, TASEdit_follow_playback?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_VIEW_SHOW_LAG_FRAMES, TASEdit_show_lag_frames?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(hmenu, ID_VIEW_SHOW_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED);
CheckDlgButton(hwndTasEdit,CHECK_AUTORESTORE_PLAYBACK,TASEdit_restore_position?BST_CHECKED:BST_UNCHECKED); CheckDlgButton(hwndTasEdit,CHECK_AUTORESTORE_PLAYBACK,TASEdit_restore_position?BST_CHECKED:BST_UNCHECKED);
CheckMenuItem(hmenu, ID_CONFIG_MUTETURBO, muteTurbo?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_MUTETURBO, muteTurbo?MF_CHECKED : MF_UNCHECKED);
@ -1431,6 +1408,9 @@ void ExitTasEdit()
eoptions = saved_eoptions; eoptions = saved_eoptions;
DoPriority(); DoPriority();
UpdateCheckedMenuItems(); UpdateCheckedMenuItems();
// clear "Background TASEdit input"
KeyboardClearBackgroundAccessBit(KEYBACKACCESS_TASEDIT);
JoystickClearBackgroundAccessBit(JOYBACKACCESS_TASEDIT);
// release memory // release memory
currMovieData.clearGreenzone(); currMovieData.clearGreenzone();
movieMode = MOVIEMODE_INACTIVE; movieMode = MOVIEMODE_INACTIVE;

View File

@ -72,4 +72,3 @@ void RemoveFourscoreColumns();
void RedrawTasedit(); void RedrawTasedit();
void RedrawList(); void RedrawList();
void RedrawRow(int index); void RedrawRow(int index);
void RedrawTweakCount();

View File

@ -417,6 +417,7 @@ void UpdateCheckedMenuItems()
//Config - Display SubMenu //Config - Display SubMenu
CheckMenuItem(fceumenu, MENU_DISPLAY_LAGCOUNTER, lagCounterDisplay?MF_CHECKED : MF_UNCHECKED); CheckMenuItem(fceumenu, MENU_DISPLAY_LAGCOUNTER, lagCounterDisplay?MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(fceumenu, ID_DISPLAY_FRAMECOUNTER, frame_display ? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(fceumenu, ID_DISPLAY_FRAMECOUNTER, frame_display ? MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(fceumenu, ID_DISPLAY_RERECORDCOUNTER, rerecord_display ? MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(fceumenu, MENU_DISPLAY_BG, bg?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(fceumenu, MENU_DISPLAY_BG, bg?MF_CHECKED:MF_UNCHECKED);
CheckMenuItem(fceumenu, MENU_DISPLAY_OBJ, spr?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(fceumenu, MENU_DISPLAY_OBJ, spr?MF_CHECKED:MF_UNCHECKED);
CheckMenuItem(fceumenu, ID_INPUTDISPLAY_OLDSTYLEDISP, oldInputDisplay?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(fceumenu, ID_INPUTDISPLAY_OLDSTYLEDISP, oldInputDisplay?MF_CHECKED:MF_UNCHECKED);
@ -1806,6 +1807,10 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
FCEUI_MovieToggleFrameDisplay(); FCEUI_MovieToggleFrameDisplay();
UpdateCheckedMenuItems(); UpdateCheckedMenuItems();
break; break;
case ID_DISPLAY_RERECORDCOUNTER:
rerecord_display ^= 1;
UpdateCheckedMenuItems();
break;
case MENU_DISPLAY_BG: case MENU_DISPLAY_BG:
case MENU_DISPLAY_OBJ: case MENU_DISPLAY_OBJ:
{ {

View File

@ -89,6 +89,7 @@ int pauseframe = -1;
bool movie_readonly = true; bool movie_readonly = true;
int input_display = 0; int input_display = 0;
int frame_display = 0; int frame_display = 0;
int rerecord_display = 0;
bool fullSaveStateLoads = false; //Option for loading a savestates full contents in read+write mode instead of up to the frame count in the savestate (useful as a recovery option) bool fullSaveStateLoads = false; //Option for loading a savestates full contents in read+write mode instead of up to the frame count in the savestate (useful as a recovery option)
SFORMAT FCEUMOV_STATEINFO[]={ SFORMAT FCEUMOV_STATEINFO[]={
@ -410,7 +411,6 @@ MovieData::MovieData()
, palFlag(false) , palFlag(false)
, PPUflag(false) , PPUflag(false)
, rerecordCount(0) , rerecordCount(0)
, tweakCount(0)
, binaryFlag(false) , binaryFlag(false)
, greenZoneCount(0) , greenZoneCount(0)
, microphone(false) , microphone(false)
@ -436,8 +436,6 @@ void MovieData::installValue(std::string& key, std::string& val)
installInt(val,emuVersion); installInt(val,emuVersion);
else if(key == "rerecordCount") else if(key == "rerecordCount")
installInt(val,rerecordCount); installInt(val,rerecordCount);
else if(key == "tweakCount")
installInt(val,tweakCount);
else if(key == "palFlag") else if(key == "palFlag")
installBool(val,palFlag); installBool(val,palFlag);
else if(key == "romFilename") else if(key == "romFilename")
@ -484,7 +482,6 @@ int MovieData::dump(EMUFILE *os, bool binary)
os->fprintf("version %d\n", version); os->fprintf("version %d\n", version);
os->fprintf("emuVersion %d\n", emuVersion); os->fprintf("emuVersion %d\n", emuVersion);
os->fprintf("rerecordCount %d\n", rerecordCount); os->fprintf("rerecordCount %d\n", rerecordCount);
os->fprintf("tweakCount %d\n", tweakCount);
os->fprintf("palFlag %d\n" , (palFlag?1:0) ); os->fprintf("palFlag %d\n" , (palFlag?1:0) );
os->fprintf("romFilename %s\n" , romFilename.c_str() ); os->fprintf("romFilename %s\n" , romFilename.c_str() );
os->fprintf("romChecksum %s\n" , BytesToString(romChecksum.data,MD5DATA::size).c_str() ); os->fprintf("romChecksum %s\n" , BytesToString(romChecksum.data,MD5DATA::size).c_str() );
@ -708,8 +705,6 @@ bool LoadFM2(MovieData& movieData, EMUFILE* fp, int size, bool stopAfterHeader)
std::string a("length"), b("-1"); std::string a("length"), b("-1");
// Non-TAS projects consume until EOF // Non-TAS projects consume until EOF
movieData.installValue(a, b); movieData.installValue(a, b);
std::string a1("tweakCount"), b1("0");
movieData.installValue(a1, b1);
//first, look for an fcm signature //first, look for an fcm signature
char fcmbuf[3]; char fcmbuf[3];
@ -1255,6 +1250,14 @@ void FCEU_DrawMovies(uint8 *XBuf)
if(counterbuf[0]) if(counterbuf[0])
DrawTextTrans(ClipSidesOffset+XBuf+FCEU_TextScanlineOffsetFromBottom(30)+1, 256, (uint8*)counterbuf, color+0x80); DrawTextTrans(ClipSidesOffset+XBuf+FCEU_TextScanlineOffsetFromBottom(30)+1, 256, (uint8*)counterbuf, color+0x80);
} }
if(rerecord_display)
{
char counterbuf[32] = {0};
sprintf(counterbuf,"%d",currMovieData.rerecordCount);
if(counterbuf[0])
DrawTextTrans(ClipSidesOffset+XBuf+FCEU_TextScanlineOffsetFromBottom(50)+1, 256, (uint8*)counterbuf, 0x38+0x80);
}
} }
void FCEU_DrawLagCounter(uint8 *XBuf) void FCEU_DrawLagCounter(uint8 *XBuf)
@ -1662,7 +1665,6 @@ bool FCEUI_MovieGetInfo(FCEUFILE* fp, MOVIE_INFO& info, bool skipFrameCount)
info.emu_version_used = md.emuVersion; info.emu_version_used = md.emuVersion;
info.name_of_rom_used = md.romFilename; info.name_of_rom_used = md.romFilename;
info.rerecord_count = md.rerecordCount; info.rerecord_count = md.rerecordCount;
info.tweak_count = md.tweakCount;
info.comments = md.comments; info.comments = md.comments;
info.subtitles = md.subtitles; info.subtitles = md.subtitles;

View File

@ -39,7 +39,6 @@ typedef struct
int movie_version; // version of the movie format in the file int movie_version; // version of the movie format in the file
uint32 num_frames; uint32 num_frames;
uint32 rerecord_count; uint32 rerecord_count;
uint32 tweak_count;
bool poweron, pal, nosynchack, ppuflag; bool poweron, pal, nosynchack, ppuflag;
bool reset; //mbg 6/21/08 - this flag isnt used anymore.. but maybe one day we can scan it out of the first record in the movie file bool reset; //mbg 6/21/08 - this flag isnt used anymore.. but maybe one day we can scan it out of the first record in the movie file
uint32 emu_version_used; // 9813 = 0.98.13 uint32 emu_version_used; // 9813 = 0.98.13
@ -196,7 +195,6 @@ public:
//----TasEdit stuff--- //----TasEdit stuff---
int greenZoneCount; int greenZoneCount;
int loadFrameCount; int loadFrameCount;
int tweakCount;
//---- //----
int getNumRecords() { return records.size(); } int getNumRecords() { return records.size(); }