From 864afe42643cded0f23a9dd77e10db8cf809d0eb Mon Sep 17 00:00:00 2001 From: shinydoofy Date: Sat, 11 Apr 2009 04:03:46 +0000 Subject: [PATCH] SDL: added --pauseframe to pause after frame x --- changelog.txt | 1 + src/drivers/sdl/config.cpp | 3 +++ src/drivers/sdl/sdl.cpp | 8 ++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/changelog.txt b/changelog.txt index 78c52b19..c5d7e73f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,4 @@ +11-apr-2009 - shinydoofy - sdl - added --pauseframe to pause movie playback on frame x 11-apr-2009 - shinydoofy - sdl - dropped UTFConverter.c from SDL build and added hotkey Q for toggling read-only/read+write movie playback 04-apr-2009 - shinydoofy - fixed fcm->fm2 code once again (this time for good, hopefully). Thanks to Bisqwit! 04-apr-2009 - shinydoofy - Reverted UTF8<->UTF32 code changes to fix up the win32 build for now diff --git a/src/drivers/sdl/config.cpp b/src/drivers/sdl/config.cpp index 69bd73d3..cd3cb050 100644 --- a/src/drivers/sdl/config.cpp +++ b/src/drivers/sdl/config.cpp @@ -186,6 +186,9 @@ InitConfig() // display input config->addOption("inputdisplay", "SDL.InputDisplay", 0); + // pause movie playback at frame x + config->addOption("pauseframe", "SDL.PauseFrame", 0); + // overwrite the config file? config->addOption("no-config", "SDL.NoConfig", 0); diff --git a/src/drivers/sdl/sdl.cpp b/src/drivers/sdl/sdl.cpp index 2019eb27..23008c03 100644 --- a/src/drivers/sdl/sdl.cpp +++ b/src/drivers/sdl/sdl.cpp @@ -109,6 +109,7 @@ char *DriverUsage="\ --inputcfg d Configures input device d on startup.\n\ --inputdisplay{0|1|2|4}Displays game input.\n\ --playmov f Plays back a recorded movie from filename f.\n\ +--pauseframe x Pauses movie playback at frame x.\n\ --fcmconvert f Converts fcm movie file f to fm2.\n\ --no-config {0,1} Don't change the config file"; @@ -617,8 +618,11 @@ SDL_GL_LoadLibrary(0); { if(fname.find(".fm2") != std::string::npos) { - FCEUI_printf("Playing back movie located at %s\n", fname.c_str()); - FCEUI_LoadMovie(fname.c_str(), false, false, false); + static int pauseframe; + g_config->getOption("SDL.PauseFrame", &pauseframe); + g_config->setOption("SDL.PauseFrame", 0); + FCEUI_printf("Playing back movie located at %s\n", fname.c_str()); + FCEUI_LoadMovie(fname.c_str(), false, false, pauseframe ? pauseframe : false); } else {