From ae1bb879ef01081ccab9684dd1363399f3a72270 Mon Sep 17 00:00:00 2001 From: ansstuff Date: Fri, 23 Sep 2011 10:50:51 +0000 Subject: [PATCH] * 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) --- src/drivers/win/config.cpp | 4 +- src/drivers/win/main.h | 2 + src/drivers/win/movieoptions.cpp | 6 ++ src/drivers/win/replay.cpp | 9 ++- src/drivers/win/res.rc | 105 +++++++++++++++---------------- src/drivers/win/resource.h | 5 +- src/drivers/win/tasedit.cpp | 30 ++------- src/drivers/win/tasedit.h | 3 +- src/drivers/win/window.cpp | 5 ++ src/movie.cpp | 16 ++--- src/movie.h | 2 - 11 files changed, 90 insertions(+), 97 deletions(-) diff --git a/src/drivers/win/config.cpp b/src/drivers/win/config.cpp index 923bbd0d..7b5bff45 100644 --- a/src/drivers/win/config.cpp +++ b/src/drivers/win/config.cpp @@ -69,7 +69,6 @@ extern bool fullSaveStateLoads; extern int frameSkipAmt; extern bool TASEdit_follow_playback; extern bool TASEdit_show_lag_frames; -extern bool TASEdit_show_tweak_count; extern bool TASEdit_restore_position; extern int TASEdit_greenzone_capacity; @@ -226,6 +225,7 @@ static CFGSTRUCT fceuconfig[] = { AC(autoHoldKey), AC(autoHoldClearKey), AC(frame_display), + AC(rerecord_display), AC(input_display), ACS(MemWatchDir), AC(EnableBackgroundInput), @@ -283,13 +283,13 @@ static CFGSTRUCT fceuconfig[] = { AC(pauseAfterPlayback), AC(closeFinishedMovie), + AC(suggestReadOnlyReplay), AC(AFon), AC(AFoff), AC(AutoFireOffset), AC(DesynchAutoFire), AC(TASEdit_follow_playback), AC(TASEdit_show_lag_frames), - AC(TASEdit_show_tweak_count), AC(TASEdit_restore_position), AC(TASEdit_greenzone_capacity), AC(lagCounterDisplay), diff --git a/src/drivers/win/main.h b/src/drivers/win/main.h index 8d145796..af929e31 100644 --- a/src/drivers/win/main.h +++ b/src/drivers/win/main.h @@ -43,10 +43,12 @@ extern int genie; extern int pal_emulation; extern int status_icon; extern int frame_display; +extern int rerecord_display; extern int input_display; extern int allowUDLR; extern int pauseAfterPlayback; extern int closeFinishedMovie; +extern int suggestReadOnlyReplay; extern int EnableBackgroundInput; extern int AFon; extern int AFoff; diff --git a/src/drivers/win/movieoptions.cpp b/src/drivers/win/movieoptions.cpp index ffe3f5a3..d6c84b86 100644 --- a/src/drivers/win/movieoptions.cpp +++ b/src/drivers/win/movieoptions.cpp @@ -24,6 +24,7 @@ //internal variables int pauseAfterPlayback = 0; //Flag for pausing emulator when movie is finished int closeFinishedMovie = 0; //Flag for clossing movie when it is finished +int suggestReadOnlyReplay = 1; //external 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_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_DISPLAYSTATUSICON, status_icon ? 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; break; + case IDC_MOVIE_SUGGEST_READONLY: + suggestReadOnlyReplay = suggestReadOnlyReplay?0:1; + break; + case IDC_MOVIE_BINDSAVESTATES: bindSavestate ^= 1; break; diff --git a/src/drivers/win/replay.cpp b/src/drivers/win/replay.cpp index 62fe399e..53bf1523 100644 --- a/src/drivers/win/replay.cpp +++ b/src/drivers/win/replay.cpp @@ -177,8 +177,6 @@ void UpdateReplayDialog(HWND hwndDlg) sprintf(tmp, "%u", (unsigned)info.rerecord_count); 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); @@ -273,7 +271,6 @@ void UpdateReplayDialog(HWND hwndDlg) SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_LENGTH),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_FRAMES),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_UNDOCOUNT),""); - SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_TWEAKCOUNT),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMUSED),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_ROMCHECKSUM),""); SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_RECORDEDFROM),""); @@ -281,7 +278,6 @@ void UpdateReplayDialog(HWND hwndDlg) SetWindowText(GetDlgItem(hwndDlg,IDC_LABEL_CURRCHECKSUM),md5_asciistr(GameInfo->MD5)); SetDlgItemText(hwndDlg,IDC_EDIT_STOPFRAME,""); stopframeWasEditedByUser=false; EnableWindow(GetDlgItem(hwndDlg,IDC_CHECK_READONLY),FALSE); - SendDlgItemMessage(hwndDlg,IDC_CHECK_READONLY,BM_SETCHECK,BST_UNCHECKED,0); EnableWindow(GetDlgItem(hwndDlg,IDOK),FALSE); } } @@ -989,7 +985,10 @@ void FCEUD_MovieRecordTo() void Replay_LoadMovie(bool tasedit) { - replayReadOnlySetting = FCEUI_GetMovieToggleReadOnly(); + if (suggestReadOnlyReplay) + replayReadOnlySetting = true; + else + replayReadOnlySetting = FCEUI_GetMovieToggleReadOnly(); char* fn = (char*)DialogBoxParam(fceu_hInstance, "IDD_REPLAYINP", hAppWnd, ReplayDialogProc, (LPARAM)(tasedit?1:0)); diff --git a/src/drivers/win/res.rc b/src/drivers/win/res.rc index 78035986..0d0be850 100644 --- a/src/drivers/win/res.rc +++ b/src/drivers/win/res.rc @@ -126,6 +126,7 @@ BEGIN END MENUITEM "&Lag Counter", MENU_DISPLAY_LAGCOUNTER MENUITEM "&Frame Counter", ID_DISPLAY_FRAMECOUNTER + MENUITEM "&Rerecord Counter", ID_DISPLAY_RERECORDCOUNTER MENUITEM SEPARATOR MENUITEM "Graphics: &BG", MENU_DISPLAY_BG MENUITEM "Graphics: &OBJ", MENU_DISPLAY_OBJ @@ -243,7 +244,6 @@ BEGIN POPUP "&View" BEGIN MENUITEM "Highlight &lag frames", ID_VIEW_SHOW_LAG_FRAMES - MENUITEM "Show T&weak count", ID_VIEW_SHOW_TWEAK_COUNT MENUITEM SEPARATOR MENUITEM "&Follow playback\tCtrl+F", ID_VIEW_FOLLOW_PLAYBACK END @@ -897,30 +897,32 @@ BEGIN CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12 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 CAPTION "Movie Options" FONT 8, "MS Sans Serif", 0, 0, 0x0 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, - "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, - "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, - "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, - "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, - "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, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,128,134,10 - CONTROL "Load full savestate-movies",IDC_FULLSAVESTATES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,147,134,10 - LTEXT "loaded states in record mode not",IDC_STATIC,19,159,119,8 - LTEXT "truncated until next frame",IDC_STATIC,21,169,117,8 - LTEXT "(VBA-rr & SNES9x style)",IDC_STATIC,18,179,120,8 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,144,114,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,24,175,110,8 + LTEXT "truncated until next frame",IDC_STATIC,23,185,94,8 + LTEXT "(VBA-rr & SNES9x style)",IDC_STATIC,23,195,93,8 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 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 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 CAPTION "Play Movie" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - DEFPUSHBUTTON "OK",1,187,197,50,14 - GROUPBOX "",65497,3,0,293,192 + DEFPUSHBUTTON "OK",1,189,183,50,14 + GROUPBOX "",65497,3,0,293,179 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 - PUSHBUTTON "Cancel",2,241,197,50,14 + PUSHBUTTON "Cancel",2,243,183,50,14 RTEXT "Length:",64397,10,67,59,8 RTEXT "Frames:",65496,10,78,59,8 RTEXT "Record Count:",65495,10,89,59,8 - RTEXT "ROM Used:",65493,10,122,59,8 - RTEXT "ROM Checksum:",65492,10,133,59,8 - RTEXT "Recorded From:",65491,10,111,59,8 - RTEXT "Emulator Used:",65490,10,155,59,8 - RTEXT "Current ROM Sum:",65489,8,144,61,8 + RTEXT "ROM Used:",65493,10,111,59,8 + RTEXT "ROM Checksum:",65492,10,122,59,8 + RTEXT "Recorded From:",65491,10,100,59,8 + RTEXT "Emulator Used:",65490,10,144,59,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 - 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 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_CURRCHECKSUM,76,144,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_ROMUSED,76,122,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_EMULATORUSED,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,122,155,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,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 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_LENGTH,76,67,59,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - RTEXT "Pal:",65494,10,166,59,8 - EDITTEXT IDC_LABEL_PALUSED,76,166,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP - RTEXT "New PPU:",65499,10,177,59,8 - EDITTEXT IDC_LABEL_NEWPPUUSED,76,177,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 + RTEXT "Pal:",65494,10,155,59,8 + EDITTEXT IDC_LABEL_PALUSED,76,155,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP + RTEXT "New PPU:",65499,10,166,59,8 + EDITTEXT IDC_LABEL_NEWPPUUSED,76,166,155,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP 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 CAPTION "TAS Editor" MENU TASEDITMENU FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER,7,5,324,370 - PUSHBUTTON "<<",TASEDIT_REWIND_FULL,341,14,22,14 - PUSHBUTTON "<",TASEDIT_REWIND,363,14,22,14 - PUSHBUTTON "||",TASEDIT_PLAYSTOP,385,14,22,14 - PUSHBUTTON ">",TASEDIT_FOWARD,407,14,22,14 - PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,429,14,22,14 - GROUPBOX "Playback control",IDC_STATIC,337,5,118,41,BS_CENTER,WS_EX_RIGHT - 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 "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER,6,5,310,370 + GROUPBOX "Playback control",IDC_STATIC,322,5,118,40,BS_CENTER,WS_EX_RIGHT + PUSHBUTTON "<<",TASEDIT_REWIND_FULL,326,14,22,14,NOT WS_TABSTOP + PUSHBUTTON "<",TASEDIT_REWIND,348,14,22,14,NOT WS_TABSTOP + PUSHBUTTON "||",TASEDIT_PLAYSTOP,370,14,22,14,NOT WS_TABSTOP + PUSHBUTTON ">",TASEDIT_FOWARD,392,14,22,14,NOT WS_TABSTOP + PUSHBUTTON ">>",TASEDIT_FOWARD_FULL,414,14,22,14,NOT WS_TABSTOP CONTROL " Auto-restore last position",CHECK_AUTORESTORE_PLAYBACK, - "Button",BS_AUTOCHECKBOX,343,32,105,12 - GROUPBOX "Bookmarks",IDC_STATIC,337,145,118,101,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 + "Button",BS_AUTOCHECKBOX,328,31,105,12 + GROUPBOX "Recording input",IDC_STATIC,322,46,118,62,BS_CENTER,WS_EX_RIGHT + 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 ASSEMBLER DIALOGEX 0, 0, 202, 135 @@ -1792,7 +1792,7 @@ BEGIN LEFTMARGIN, 4 RIGHTMARGIN, 138 TOPMARGIN, 8 - BOTTOMMARGIN, 208 + BOTTOMMARGIN, 226 END "DWBDIALOGSIMPLE", DIALOG @@ -1848,13 +1848,12 @@ BEGIN "IDD_REPLAYINP", DIALOG BEGIN - BOTTOMMARGIN, 211 + BOTTOMMARGIN, 198 END "TASEDIT", DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 454 TOPMARGIN, 5 BOTTOMMARGIN, 375 END diff --git a/src/drivers/win/resource.h b/src/drivers/win/resource.h index 633133b4..323a27af 100644 --- a/src/drivers/win/resource.h +++ b/src/drivers/win/resource.h @@ -422,6 +422,8 @@ #define IDC_SOUNDS_RESTOREDEFAULTS 1199 #define BTN_CANCELED 1200 #define ID_SOUND_TRITOP 1201 +#define IDC_MOVIE_ALWAYS_READONLY 1201 +#define IDC_MOVIE_SUGGEST_READONLY 1201 #define ID_SOUND_QUALITYNOTIFY 1202 #define IDC_CHECK1 1203 #define CB_ENABLECONTEXTMENU 1203 @@ -822,6 +824,7 @@ #define ID_CONFIG_SETGREENZONECAPACITY 40432 #define ACCEL_CTRL_INSERT 40433 #define ID_CONFIG_MUTETURBO 40435 +#define ID_DISPLAY_RERECORDCOUNTER 40436 #define IDC_DEBUGGER_ICONTRAY 55535 #define MW_ValueLabel2 65423 #define MW_ValueLabel1 65426 @@ -831,7 +834,7 @@ #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #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_SYMED_VALUE 101 #endif diff --git a/src/drivers/win/tasedit.cpp b/src/drivers/win/tasedit.cpp index 30ea828b..fab97bd8 100644 --- a/src/drivers/win/tasedit.cpp +++ b/src/drivers/win/tasedit.cpp @@ -35,7 +35,6 @@ int saved_eoptions = 0; int TasEdit_wndx, TasEdit_wndy; bool TASEdit_follow_playback = true; bool TASEdit_show_lag_frames = true; -bool TASEdit_show_tweak_count = false; bool TASEdit_restore_position = false; int TASEdit_greenzone_capacity = GREENZONE_DEFAULT_CAPACITY; extern bool muteTurbo; @@ -45,8 +44,7 @@ char buttonNames[NUM_JOYPAD_BUTTONS][2] = {"A", "B", "S", "T", "U", "D", "L", "R HWND hwndTasEdit = 0; static HMENU hmenu, hrmenu; -static HWND hwndList, hwndHeader, hwndTweakCount; -static RECT rectTweakCount; +static HWND hwndList, hwndHeader; static WNDPROC hwndHeader_oldWndproc, hwndList_oldWndProc; typedef std::set TSelectionFrames; @@ -253,10 +251,6 @@ void RedrawRow(int index) if (ListView_IsItemVisible(hwndList, index)) ListView_RedrawItems(hwndList,index,index); } -void RedrawTweakCount() -{ - InvalidateRect(hwndTasEdit,&rectTweakCount,FALSE); -} enum ECONTEXTMENU { @@ -311,9 +305,7 @@ void InvalidateGreenZone(int after) if (currMovieData.greenZoneCount > after+1) { currMovieData.greenZoneCount = after+1; - // increase tweakCount - currMovieData.tweakCount++; - RedrawTweakCount(); + currMovieData.rerecordCount++; // either set playback cursor to the end of greenzone or run seeking to restore playback position if (currFrameCounter >= currMovieData.greenZoneCount) { @@ -1073,12 +1065,6 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar { 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; 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); hwndList = GetDlgItem(hwndDlg,IDC_LIST1); - hwndTweakCount = GetDlgItem(hwndDlg,IDC_TWEAKCOUNT); - GetClientRect(hwndTweakCount, &rectTweakCount); InitDialog(); 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); RedrawList(); 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 CHECK_AUTORESTORE_PLAYBACK: //switch "Auto-restore last playback position" flag @@ -1412,7 +1390,6 @@ void EnterTasEdit() // check option ticks 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_TWEAK_COUNT, TASEdit_show_tweak_count?MF_CHECKED : MF_UNCHECKED); CheckDlgButton(hwndTasEdit,CHECK_AUTORESTORE_PLAYBACK,TASEdit_restore_position?BST_CHECKED:BST_UNCHECKED); CheckMenuItem(hmenu, ID_CONFIG_MUTETURBO, muteTurbo?MF_CHECKED : MF_UNCHECKED); @@ -1431,6 +1408,9 @@ void ExitTasEdit() eoptions = saved_eoptions; DoPriority(); UpdateCheckedMenuItems(); + // clear "Background TASEdit input" + KeyboardClearBackgroundAccessBit(KEYBACKACCESS_TASEDIT); + JoystickClearBackgroundAccessBit(JOYBACKACCESS_TASEDIT); // release memory currMovieData.clearGreenzone(); movieMode = MOVIEMODE_INACTIVE; diff --git a/src/drivers/win/tasedit.h b/src/drivers/win/tasedit.h index 1d49e22a..e00700cd 100644 --- a/src/drivers/win/tasedit.h +++ b/src/drivers/win/tasedit.h @@ -71,5 +71,4 @@ void AddFourscoreColumns(); void RemoveFourscoreColumns(); void RedrawTasedit(); void RedrawList(); -void RedrawRow(int index); -void RedrawTweakCount(); \ No newline at end of file +void RedrawRow(int index); \ No newline at end of file diff --git a/src/drivers/win/window.cpp b/src/drivers/win/window.cpp index fc41cdf1..d5991c1f 100644 --- a/src/drivers/win/window.cpp +++ b/src/drivers/win/window.cpp @@ -417,6 +417,7 @@ void UpdateCheckedMenuItems() //Config - Display SubMenu 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_RERECORDCOUNTER, rerecord_display ? 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, 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(); UpdateCheckedMenuItems(); break; + case ID_DISPLAY_RERECORDCOUNTER: + rerecord_display ^= 1; + UpdateCheckedMenuItems(); + break; case MENU_DISPLAY_BG: case MENU_DISPLAY_OBJ: { diff --git a/src/movie.cpp b/src/movie.cpp index db51c697..a892c355 100644 --- a/src/movie.cpp +++ b/src/movie.cpp @@ -89,6 +89,7 @@ int pauseframe = -1; bool movie_readonly = true; int input_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) SFORMAT FCEUMOV_STATEINFO[]={ @@ -410,7 +411,6 @@ MovieData::MovieData() , palFlag(false) , PPUflag(false) , rerecordCount(0) - , tweakCount(0) , binaryFlag(false) , greenZoneCount(0) , microphone(false) @@ -436,8 +436,6 @@ void MovieData::installValue(std::string& key, std::string& val) installInt(val,emuVersion); else if(key == "rerecordCount") installInt(val,rerecordCount); - else if(key == "tweakCount") - installInt(val,tweakCount); else if(key == "palFlag") installBool(val,palFlag); else if(key == "romFilename") @@ -484,7 +482,6 @@ int MovieData::dump(EMUFILE *os, bool binary) os->fprintf("version %d\n", version); os->fprintf("emuVersion %d\n", emuVersion); os->fprintf("rerecordCount %d\n", rerecordCount); - os->fprintf("tweakCount %d\n", tweakCount); os->fprintf("palFlag %d\n" , (palFlag?1:0) ); os->fprintf("romFilename %s\n" , romFilename.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"); // Non-TAS projects consume until EOF movieData.installValue(a, b); - std::string a1("tweakCount"), b1("0"); - movieData.installValue(a1, b1); //first, look for an fcm signature char fcmbuf[3]; @@ -1255,6 +1250,14 @@ void FCEU_DrawMovies(uint8 *XBuf) if(counterbuf[0]) 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) @@ -1662,7 +1665,6 @@ bool FCEUI_MovieGetInfo(FCEUFILE* fp, MOVIE_INFO& info, bool skipFrameCount) info.emu_version_used = md.emuVersion; info.name_of_rom_used = md.romFilename; info.rerecord_count = md.rerecordCount; - info.tweak_count = md.tweakCount; info.comments = md.comments; info.subtitles = md.subtitles; diff --git a/src/movie.h b/src/movie.h index 8836a4df..e3ca3d00 100644 --- a/src/movie.h +++ b/src/movie.h @@ -39,7 +39,6 @@ typedef struct int movie_version; // version of the movie format in the file uint32 num_frames; uint32 rerecord_count; - uint32 tweak_count; 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 uint32 emu_version_used; // 9813 = 0.98.13 @@ -196,7 +195,6 @@ public: //----TasEdit stuff--- int greenZoneCount; int loadFrameCount; - int tweakCount; //---- int getNumRecords() { return records.size(); }