From 130fee0f22f36e85ba0541639a8cda55714590fb Mon Sep 17 00:00:00 2001 From: adelikat Date: Wed, 24 Dec 2008 21:26:09 +0000 Subject: [PATCH] Auto-save flag tweaks, Win32-context menu-read only toggles added --- src/drivers/win/res.rc | 2 ++ src/drivers/win/resource.h | 5 ++++- src/drivers/win/window.cpp | 1 + src/movie.cpp | 8 +++++--- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/drivers/win/res.rc b/src/drivers/win/res.rc index 4912fb3a..16f88a94 100644 --- a/src/drivers/win/res.rc +++ b/src/drivers/win/res.rc @@ -323,6 +323,7 @@ FCEUCONTEXTMENUS MENU BEGIN POPUP "Game+Movie+readonly" BEGIN + MENUITEM "Toggle to read+write", FCEUX_CONTEXT_READONLYTOGGLE MENUITEM "Play Movie from Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING MENUITEM "Stop Movie Replay", FCEU_CONTEXT_STOPMOVIE MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES @@ -353,6 +354,7 @@ BEGIN END POPUP "Game+Movie+readwrite" BEGIN + MENUITEM "Toggle to Read-only", FCEUX_CONTEXT_READONLYTOGGLE MENUITEM "Play Movie From Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING MENUITEM "Stop Movie Recording", FCEU_CONTEXT_STOPMOVIE MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES diff --git a/src/drivers/win/resource.h b/src/drivers/win/resource.h index 901401df..6f8a9ca1 100644 --- a/src/drivers/win/resource.h +++ b/src/drivers/win/resource.h @@ -646,6 +646,9 @@ #define ID_FILE_MOVIE_TOGGLEREAD 40331 #define ID_LUA_RELOADLUASCRIPT 40332 #define ID_FILE_LUA_RELOADLUASCRIPT 40333 +#define ID_GAME_SWITCHTOREAD 40334 +#define FCEUX_CONTEXT_READONLYTOGGLE 40335 +#define ID_GAME_TOGGLETOREAD 40336 #define IDC_DEBUGGER_ICONTRAY 55535 #define MW_ValueLabel2 65423 #define MW_ValueLabel1 65426 @@ -655,7 +658,7 @@ #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 125 -#define _APS_NEXT_COMMAND_VALUE 40334 +#define _APS_NEXT_COMMAND_VALUE 40337 #define _APS_NEXT_CONTROL_VALUE 1199 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/src/drivers/win/window.cpp b/src/drivers/win/window.cpp index 94b1bb6b..2995eae0 100644 --- a/src/drivers/win/window.cpp +++ b/src/drivers/win/window.cpp @@ -975,6 +975,7 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) case ID_FILE_PLAYMOVIEFROMBEGINNING: FCEUI_MoviePlayFromBeginning(); break; + case FCEUX_CONTEXT_READONLYTOGGLE: case ID_FILE_MOVIE_TOGGLEREAD: FCEUI_MovieToggleReadOnly(); break; diff --git a/src/movie.cpp b/src/movie.cpp index f3de80a3..7be4d3c9 100644 --- a/src/movie.cpp +++ b/src/movie.cpp @@ -41,6 +41,7 @@ using namespace std; #define MOVIE_VERSION 3 extern char FileBase[]; +extern bool AutoSS; //Declared in fceu.cpp, keeps track if a auto-savestate has been made std::vector subtitleFrames; //Frame numbers for subtitle messages std::vector subtitleMessages; //Messages of subtitles @@ -624,8 +625,9 @@ void FCEUI_StopMovie() else if(movieMode == MOVIEMODE_RECORD) StopRecording(); - curMovieFilename[0] = 0; - freshMovie = false; + curMovieFilename[0] = 0; //No longer a current movie filename + freshMovie = false; //No longer a fresh movie loaded + if (bindSavestate) AutoSS = false; //If bind movies to savestates is true, then there is no longer a valid auto-save to load } static void poweron(bool shouldDisableBatteryLoading) @@ -741,7 +743,7 @@ void FCEUI_LoadMovie(const char *fname, bool _read_only, bool tasedit, int _paus delete fp; freshMovie = true; //Movie has been loaded, so it must be unaltered - + if (bindSavestate) AutoSS = false; //If bind savestate to movie is true, then their isn't a valid auto-save to load, so flag it //fully reload the game to reinitialize everything before playing any movie poweron(true);