diff --git a/changelog.txt b/changelog.txt index f1abd0dc..a7afea4b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,5 @@ ---version 2.0.4 yet to be released--- +22-dec-2008 - adelikat - win32 - moved movie related menu items to a movie options dialog box 22-dec-2008 - adelikat - Win32 - context menu item "create backup" for backing up movie files 21-dec-2008 - adelikat - Win32 - Name Table Viewer - Refresh value default to 15, Refresh value stored in config file 21-dec-2008 - adelikat - Win32 - PPU Viewer - Refresh value default to 15, Refresh value stored in config file diff --git a/src/drivers/win/config.cpp b/src/drivers/win/config.cpp index 5ad938ee..1e0cba8f 100644 --- a/src/drivers/win/config.cpp +++ b/src/drivers/win/config.cpp @@ -35,6 +35,7 @@ #include "fceu.h" #include "file.h" #include "texthook.h" +#include "movieoptions.h" extern CFGSTRUCT NetplayConfig[]; extern CFGSTRUCT InputConfig[]; diff --git a/src/drivers/win/res.rc b/src/drivers/win/res.rc index 5da82ad7..1c2654f1 100644 --- a/src/drivers/win/res.rc +++ b/src/drivers/win/res.rc @@ -136,6 +136,7 @@ BEGIN MENUITEM "&Timing...", MENU_TIMING MENUITEM "&Video...", MENU_VIDEO MENUITEM "&Map Hotkeys...", MENU_HOTKEYS + MENUITEM "&Movie options...", MENU_MOVIEOPTIONS END POPUP "&Tools" BEGIN @@ -777,73 +778,24 @@ BEGIN CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,146,12 END -VIDEOCONFIG DIALOGEX 65520, 76, 384, 296 +MOVIEOPTIONS DIALOGEX 65520, 76, 127, 157 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Video Configuration" +CAPTION "Movie Options" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Full Screen Settings",65453,10,8,364,115,WS_GROUP - CONTROL "Full Screen",IDC_VIDEOCONFIG_FS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,23,145,12 - CONTROL "Enter full screen mode after game is loaded.",IDC_VIDEOCONFIG_AUTO_FS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,39,151,12 - LTEXT "Sync Method:",65452,20,82,48,10 - COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_FS,72,79,93,50,CBS_DROPDOWNLIST | WS_TABSTOP - LTEXT "Video Mode:",65451,20,62,42,10 - COMBOBOX IDC_VIDEOCONFIG_MODE,72,59,93,52,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_FS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,103,145,12 - GROUPBOX "Custom Video Mode",65450,177,18,186,97,WS_GROUP - LTEXT "Mode:",13,186,32,25,8 - EDITTEXT IDC_VIDEOCONFIG_XRES,214,30,27,12,ES_RIGHT - LTEXT "by",12,244,32,11,8 - EDITTEXT IDC_VIDEOCONFIG_YRES,258,30,27,12,ES_RIGHT - LTEXT "@",11,289,32,12,8 - COMBOBOX IDC_VIDEOCONFIG_BPP,302,30,35,60,CBS_DROPDOWNLIST | WS_TABSTOP - LTEXT "bpp",10,341,32,17,8 - GROUPBOX "Image Size Transform",65445,185,47,170,61,WS_GROUP - LTEXT "Special scaler:",65444,192,61,60,8 - COMBOBOX IDC_VIDEOCONFIG_SCALER_FS,281,58,65,46,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Scale dimensions by:",IDC_RADIO_SCALE,"Button",BS_AUTORADIOBUTTON,192,76,85,12 - CONTROL "Stretch to Fill Screen",IDC_RADIO_STRETCH,"Button",BS_AUTORADIOBUTTON,192,91,88,12 - LTEXT "X:",65443,282,78,10,8 - EDITTEXT IDC_VIDEOCONFIG_XSCALE,292,76,20,12 - LTEXT "Y:",65442,316,78,11,8 - EDITTEXT IDC_VIDEOCONFIG_YSCALE,326,76,20,12 - GROUPBOX "Windowed Settings",65441,10,127,178,141,WS_GROUP - LTEXT "Size Multiplier:",65440,20,149,50,8 - CTEXT "X:",65439,83,137,42,8 - CTEXT "Y:",65438,134,137,42,8 - EDITTEXT IDC_WINSIZE_MUL_X,83,148,42,12,ES_AUTOHSCROLL - EDITTEXT IDC_WINSIZE_MUL_Y,134,148,42,12,ES_AUTOHSCROLL - CONTROL "Force integral scaling factors.",IDC_FORCE_INT_VIDEO_SCALARS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,164,145,12 - CONTROL "Force aspect ratio correction.",IDC_FORCE_ASPECT_CORRECTION, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,179,145,12 - LTEXT "Special scaler:",65429,20,215,51,8 - COMBOBOX IDC_VIDEOCONFIG_SCALER_WIN,83,213,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Sync Method:",65437,20,235,51,8 - COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_WIN,83,233,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_WIN, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,250,145,12 - GROUPBOX "Drawing Area",65494,196,127,178,86,WS_GROUP - LTEXT "First Line:",65436,218,153,39,8 - LTEXT "Last Line:",65435,218,173,43,8 - CTEXT "NTSC",65434,262,140,27,8 - CTEXT "PAL",65433,313,140,27,8 - EDITTEXT IDC_SCANLINE_FIRST_NTSC,263,152,27,12,ES_RIGHT - EDITTEXT IDC_SCANLINE_LAST_NTSC,263,171,27,12,ES_RIGHT - EDITTEXT IDC_SCANLINE_FIRST_PAL,313,152,27,12,ES_RIGHT - EDITTEXT IDC_SCANLINE_LAST_PAL,313,171,27,12,ES_RIGHT - CONTROL "Clip left and right sides (8 columns on each).",IDC_VIDEOCONFIG_CLIPSIDES, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,192,157,12 - DEFPUSHBUTTON "Close",BTN_CLOSE,318,274,56,14 - LTEXT "Current Pixel Aspect Ratio:",65432,20,197,88,8 - EDITTEXT IDC_VIDEOCONFIG_ASPECT_X,109,195,28,12,ES_AUTOHSCROLL - CTEXT ":",65431,139,197,8,8 - EDITTEXT IDC_VIDEOCONFIG_ASPECT_Y,148,195,28,12,ES_AUTOHSCROLL - CONTROL "Allow more than 8 sprites per scanline.",IDC_VIDEOCONFIG_NO8LIM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,250,157,11 - GROUPBOX "Emulation",65430,196,236,178,32,WS_GROUP + DEFPUSHBUTTON "Close",IDC_MOVIE_CLOSE,35,138,49,14 + CONTROL "Pause after playback",IDC_MOVIE_PAUSEAFTERPLAYBACK, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,17,83,10 + CONTROL "Bind savestates to movies",IDC_MOVIE_BINDSAVESTATES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,37,98,10 + CONTROL "Display movie status icon",IDC_MOVIE_DISPLAYSTATUSICON, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,57,95,10 + CONTROL "Display movie subtitles",IDC_MOVIE_DISPLAYSUBTITLES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,77,87,10 + CONTROL "Put movie subtitles in AVI",IDC_MOVIE_SUBTITLESINAVI, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,93,95,10 + CONTROL "Automatically backup movies",IDC_MOVIE_AUTOBACKUP, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,113,107,10 END DWBDIALOGSIMPLE DIALOGEX 33, 99, 250, 39 @@ -1435,6 +1387,75 @@ BEGIN PUSHBUTTON "Browse...",1359,129,7,50,14 END +VIDEOCONFIG DIALOGEX 65520, 76, 384, 296 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Video Configuration" +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + GROUPBOX "Full Screen Settings",65453,10,8,364,115,WS_GROUP + CONTROL "Full Screen",IDC_VIDEOCONFIG_FS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,23,145,12 + CONTROL "Enter full screen mode after game is loaded.",IDC_VIDEOCONFIG_AUTO_FS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,39,151,12 + LTEXT "Sync Method:",65452,20,82,48,10 + COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_FS,72,79,93,50,CBS_DROPDOWNLIST | WS_TABSTOP + LTEXT "Video Mode:",65451,20,62,42,10 + COMBOBOX IDC_VIDEOCONFIG_MODE,72,59,93,52,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_FS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,103,145,12 + GROUPBOX "Custom Video Mode",65450,177,18,186,97,WS_GROUP + LTEXT "Mode:",13,186,32,25,8 + EDITTEXT IDC_VIDEOCONFIG_XRES,214,30,27,12,ES_RIGHT + LTEXT "by",12,244,32,11,8 + EDITTEXT IDC_VIDEOCONFIG_YRES,258,30,27,12,ES_RIGHT + LTEXT "@",11,289,32,12,8 + COMBOBOX IDC_VIDEOCONFIG_BPP,302,30,35,60,CBS_DROPDOWNLIST | WS_TABSTOP + LTEXT "bpp",10,341,32,17,8 + GROUPBOX "Image Size Transform",65445,185,47,170,61,WS_GROUP + LTEXT "Special scaler:",65444,192,61,60,8 + COMBOBOX IDC_VIDEOCONFIG_SCALER_FS,281,58,65,46,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Scale dimensions by:",IDC_RADIO_SCALE,"Button",BS_AUTORADIOBUTTON,192,76,85,12 + CONTROL "Stretch to Fill Screen",IDC_RADIO_STRETCH,"Button",BS_AUTORADIOBUTTON,192,91,88,12 + LTEXT "X:",65443,282,78,10,8 + EDITTEXT IDC_VIDEOCONFIG_XSCALE,292,76,20,12 + LTEXT "Y:",65442,316,78,11,8 + EDITTEXT IDC_VIDEOCONFIG_YSCALE,326,76,20,12 + GROUPBOX "Windowed Settings",65441,10,127,178,141,WS_GROUP + LTEXT "Size Multiplier:",65440,20,149,50,8 + CTEXT "X:",65439,83,137,42,8 + CTEXT "Y:",65438,134,137,42,8 + EDITTEXT IDC_WINSIZE_MUL_X,83,148,42,12,ES_AUTOHSCROLL + EDITTEXT IDC_WINSIZE_MUL_Y,134,148,42,12,ES_AUTOHSCROLL + CONTROL "Force integral scaling factors.",IDC_FORCE_INT_VIDEO_SCALARS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,164,145,12 + CONTROL "Force aspect ratio correction.",IDC_FORCE_ASPECT_CORRECTION, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,179,145,12 + LTEXT "Special scaler:",65429,20,215,51,8 + COMBOBOX IDC_VIDEOCONFIG_SCALER_WIN,83,213,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Sync Method:",65437,20,235,51,8 + COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_WIN,83,233,93,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Disable hardware acceleration.",IDC_DISABLE_HW_ACCEL_WIN, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,250,145,12 + GROUPBOX "Drawing Area",65494,196,127,178,86,WS_GROUP + LTEXT "First Line:",65436,218,153,39,8 + LTEXT "Last Line:",65435,218,173,43,8 + CTEXT "NTSC",65434,262,140,27,8 + CTEXT "PAL",65433,313,140,27,8 + EDITTEXT IDC_SCANLINE_FIRST_NTSC,263,152,27,12,ES_RIGHT + EDITTEXT IDC_SCANLINE_LAST_NTSC,263,171,27,12,ES_RIGHT + EDITTEXT IDC_SCANLINE_FIRST_PAL,313,152,27,12,ES_RIGHT + EDITTEXT IDC_SCANLINE_LAST_PAL,313,171,27,12,ES_RIGHT + CONTROL "Clip left and right sides (8 columns on each).",IDC_VIDEOCONFIG_CLIPSIDES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,192,157,12 + DEFPUSHBUTTON "Close",BTN_CLOSE,318,274,56,14 + LTEXT "Current Pixel Aspect Ratio:",65432,20,197,88,8 + EDITTEXT IDC_VIDEOCONFIG_ASPECT_X,109,195,28,12,ES_AUTOHSCROLL + CTEXT ":",65431,139,197,8,8 + EDITTEXT IDC_VIDEOCONFIG_ASPECT_Y,148,195,28,12,ES_AUTOHSCROLL + CONTROL "Allow more than 8 sprites per scanline.",IDC_VIDEOCONFIG_NO8LIM, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,206,250,157,11 + GROUPBOX "Emulation",65430,196,236,178,32,WS_GROUP +END + ///////////////////////////////////////////////////////////////////////////// // @@ -1500,12 +1521,12 @@ BEGIN BOTTOMMARGIN, 52 END - "VIDEOCONFIG", DIALOG + "MOVIEOPTIONS", DIALOG BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 374 + LEFTMARGIN, 4 + RIGHTMARGIN, 118 TOPMARGIN, 8 - BOTTOMMARGIN, 268 + BOTTOMMARGIN, 152 END "MEMWATCH", DIALOG @@ -1606,6 +1627,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 59 END + + "VIDEOCONFIG", DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 374 + TOPMARGIN, 8 + BOTTOMMARGIN, 268 + END END #endif // APSTUDIO_INVOKED diff --git a/src/drivers/win/resource.h b/src/drivers/win/resource.h index a473c8ff..01da3b4d 100644 --- a/src/drivers/win/resource.h +++ b/src/drivers/win/resource.h @@ -381,10 +381,18 @@ #define MEMW_EDIT03RMADDRESS 1191 #define IDC_DEBUGGER_RESTORESIZE 1191 #define MEMW_EDIT04RMADDRESS 1192 +#define IDC_MOVIE_CANCEL 1192 +#define IDC_MOVIE_CLOSE 1192 #define EDIT00_RESULTS 1193 +#define IDC_MOVIE_PAUSEAFTERPLAYBACK 1193 #define EDIT01_RESULTS 1194 +#define IDC_MOVIE_BINDSAVESTATES 1194 #define EDIT02_RESULTS 1195 +#define IDC_MOVIE_DISPLAYSTATUSICON 1195 #define EDIT03_RESULTS 1196 +#define IDC_MOVIE_DISPLAYSUBTITLES 1196 +#define IDC_MOVIE_SUBTITLESINAVI 1197 +#define IDC_MOVIE_AUTOBACKUP 1198 #define MENU_NETWORK 40040 #define MENU_PALETTE 40041 #define MENU_SOUND 40042 @@ -626,6 +634,8 @@ #define ID_GAME_UNDOLOADSTATE40318 40318 #define ID_GAME_MAKEBACKUP 40319 #define FCEUX_CONTEXT_MAKEBACKUP 40320 +#define ID_CONFIG_MOVIEOPTIONS 40321 +#define MENU_MOVIEOPTIONS 40322 #define IDC_DEBUGGER_ICONTRAY 55535 #define MW_ValueLabel2 65423 #define MW_ValueLabel1 65426 @@ -635,8 +645,8 @@ #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 125 -#define _APS_NEXT_COMMAND_VALUE 40321 -#define _APS_NEXT_CONTROL_VALUE 1192 +#define _APS_NEXT_COMMAND_VALUE 40323 +#define _APS_NEXT_CONTROL_VALUE 1199 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/src/drivers/win/window.cpp b/src/drivers/win/window.cpp index c9f2baa7..241413bd 100644 --- a/src/drivers/win/window.cpp +++ b/src/drivers/win/window.cpp @@ -61,6 +61,7 @@ #include "utils/xstring.h" #include "file.h" #include "mapinput.h" +#include "movieoptions.h" #include #include @@ -106,7 +107,7 @@ int GetCheckedAutoFirePattern(); int GetCheckedAutoFireOffset(); //Internal variables------------------------------------- -int pauseAfterPlayback = 0; //Flag for pausing emulator when movie is finished + static int winwidth, winheight; static volatile int nofocus = 0; static int tog = 0; //Toggle for Hide Menu @@ -1166,6 +1167,9 @@ UpdateContextMenuItems(hfceuxcontextsub, whichContext); case MENU_HOTKEYS: MapInput(); break; + case MENU_MOVIEOPTIONS: + OpenMovieOptions(); + break; //Tools Menu--------------------------------------------------------------- case MENU_CHEATS: diff --git a/src/fceu.cpp b/src/fceu.cpp index 16ba494c..f24ad118 100644 --- a/src/fceu.cpp +++ b/src/fceu.cpp @@ -70,7 +70,6 @@ bool justLagged = false; bool frameAdvanceLagSkip = false; //If this is true, frame advance will skip over lag frame (i.e. it will emulate 2 frames instead of 1) bool movieSubtitles = true; //Toggle for displaying movie subtitles -#include "x6502.h" FCEUGI::FCEUGI() : filename(0) diff --git a/src/file.cpp b/src/file.cpp index 7e194054..6d50f6c9 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -48,7 +48,7 @@ using namespace std; -bool bindSavestate = true; //Toggle that determines if a savestate filename will include the movie filename + static std::string BaseDirectory; static char FileExt[2048]; //Includes the . character, as in ".nes" char FileBase[2048]; diff --git a/vc/vc8_fceux.vcproj b/vc/vc8_fceux.vcproj index 8910cc3f..e8cd95be 100644 --- a/vc/vc8_fceux.vcproj +++ b/vc/vc8_fceux.vcproj @@ -103,6 +103,88 @@ CommandLine="xcopy /y /d "$(ProjectDir)\..\src\drivers\win\7z.dll" "$(OutDir)" " /> + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + @@ -1119,7 +1127,7 @@ /> + + + @@ -2270,15 +2287,6 @@ CompileAs="1" /> - - - @@ -2338,7 +2346,7 @@ />