added option for SDL to convert fcm files to fm2
This commit is contained in:
parent
cda4fb4824
commit
bbbc4aa0bb
|
@ -1,11 +1,12 @@
|
||||||
---version 2.0.4 yet to be released---
|
---version 2.0.4 yet to be released---
|
||||||
|
|
||||||
|
02-nov-2008 - shinydoofy - added --fcmconvert for SDL
|
||||||
02-nov-2008 - zeromus - emulua - add rom.readbyte and rom.readbytesigned
|
02-nov-2008 - zeromus - emulua - add rom.readbyte and rom.readbytesigned
|
||||||
|
|
||||||
---version 2.0.3 released---
|
---version 2.0.3 released---
|
||||||
|
|
||||||
02-nov-2008 - zeromus - fix fcm conversion, recording, and playback of reset and power commands
|
02-nov-2008 - zeromus - fix fcm conversion, recording, and playback of reset and power commands
|
||||||
25-oct-2008 - shinydoofy - added support for AVI creation for SDL, see documention/Videolog.txt for more
|
25-oct-2008 - shinydoofy - added support for AVI creation for SDL, see documentation/Videolog.txt for more
|
||||||
19-oct-2008 - shinydoofy - toggle lag frame counter for SDL, default hotkey F8
|
19-oct-2008 - shinydoofy - toggle lag frame counter for SDL, default hotkey F8
|
||||||
19-oct-2008 - shinydoofy - toggle skipping of lag frames for SDL, default hotkey F6
|
19-oct-2008 - shinydoofy - toggle skipping of lag frames for SDL, default hotkey F6
|
||||||
19-oct-2008 - shinydoofy - [ 2179829 ] user ability to toggle "bind savestates to movie" added for SDL, default hotkey F2
|
19-oct-2008 - shinydoofy - [ 2179829 ] user ability to toggle "bind savestates to movie" added for SDL, default hotkey F2
|
||||||
|
|
|
@ -14,6 +14,7 @@ ines.cpp
|
||||||
input.cpp
|
input.cpp
|
||||||
netplay.cpp
|
netplay.cpp
|
||||||
nsf.cpp
|
nsf.cpp
|
||||||
|
oldmovie.cpp
|
||||||
palette.cpp
|
palette.cpp
|
||||||
ppu.cpp
|
ppu.cpp
|
||||||
sound.cpp
|
sound.cpp
|
||||||
|
|
|
@ -188,7 +188,9 @@ InitConfig()
|
||||||
|
|
||||||
#ifdef CREATE_AVI
|
#ifdef CREATE_AVI
|
||||||
config->addOption("videolog", "SDL.VideoLog", "");
|
config->addOption("videolog", "SDL.VideoLog", "");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
config->addOption("fcmconvert", "SDL.FCMConvert", "");
|
||||||
|
|
||||||
// enable new PPU core
|
// enable new PPU core
|
||||||
config->addOption("newppu", "SDL.NewPPU", "0");
|
config->addOption("newppu", "SDL.NewPPU", "0");
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
#include "../videolog/nesvideos-piece.h"
|
#include "../videolog/nesvideos-piece.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "../../oldmovie.h"
|
||||||
|
#include "../../types.h"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
@ -96,7 +98,8 @@ char *DriverUsage="\
|
||||||
Devices: quizking hypershot mahjong toprider ftrainer\n\
|
Devices: quizking hypershot mahjong toprider ftrainer\n\
|
||||||
familykeyboard oekakids arkanoid shadow bworld 4player\n\
|
familykeyboard oekakids arkanoid shadow bworld 4player\n\
|
||||||
--inputcfg d Configures input device d on startup.\n\
|
--inputcfg d Configures input device d on startup.\n\
|
||||||
--playmov f Plays back a recorded movie from filename f.";
|
--playmov f Plays back a recorded movie from filename f.\n\
|
||||||
|
--fcmconvert f Converts fcm movie file f to fm2.";
|
||||||
|
|
||||||
/* Moved network options out while netplay is broken.
|
/* Moved network options out while netplay is broken.
|
||||||
--net s, -n s Connects to server 's' for TCP/IP network play.\n\
|
--net s, -n s Connects to server 's' for TCP/IP network play.\n\
|
||||||
|
@ -120,7 +123,7 @@ static void ShowUsage(char *prog)
|
||||||
puts ("--loadlua f Loads lua script from filename f.");
|
puts ("--loadlua f Loads lua script from filename f.");
|
||||||
#endif
|
#endif
|
||||||
#ifdef CREATE_AVI
|
#ifdef CREATE_AVI
|
||||||
puts ("--videolog c Call mencoder to grab the video and audio streams to\n encode them. Check the documentation for more on this.");
|
puts ("--videolog c Calls mencoder to grab the video and audio streams to\n encode them. Check the documentation for more on this.");
|
||||||
#endif
|
#endif
|
||||||
puts("");
|
puts("");
|
||||||
}
|
}
|
||||||
|
@ -497,6 +500,40 @@ SDL_GL_LoadLibrary(0);
|
||||||
|
|
||||||
// update the input devices
|
// update the input devices
|
||||||
UpdateInput(g_config);
|
UpdateInput(g_config);
|
||||||
|
|
||||||
|
// check for a .fcm file to convert to .fm2
|
||||||
|
g_config->getOption ("SDL.FCMConvert", &s);
|
||||||
|
g_config->setOption ("SDL.FCMConvert", "");
|
||||||
|
if (!s.empty())
|
||||||
|
{
|
||||||
|
int okcount = 0;
|
||||||
|
std::string infname = s.c_str();
|
||||||
|
// procude output filename
|
||||||
|
std::string outname;
|
||||||
|
size_t dot = infname.find_last_of (".");
|
||||||
|
if (dot == std::string::npos)
|
||||||
|
outname = infname + ".fm2";
|
||||||
|
else
|
||||||
|
outname = infname.substr(0,dot) + ".fm2";
|
||||||
|
|
||||||
|
MovieData md;
|
||||||
|
EFCM_CONVERTRESULT result = convert_fcm (md, infname);
|
||||||
|
|
||||||
|
if (result == FCM_CONVERTRESULT_SUCCESS)
|
||||||
|
{
|
||||||
|
okcount++;
|
||||||
|
std::fstream* outf = FCEUD_UTF8_fstream (outname, "wb");
|
||||||
|
md.dump (outf,false);
|
||||||
|
delete outf;
|
||||||
|
FCEUD_Message ("Your file has been converted to FM2.\n");
|
||||||
|
} else {
|
||||||
|
FCEUD_Message ("Something went wrong while converting your file...\n");
|
||||||
|
}
|
||||||
|
DriverKill();
|
||||||
|
SDL_Quit();
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(romIndex <= 0) {
|
if(romIndex <= 0) {
|
||||||
ShowUsage(argv[0]);
|
ShowUsage(argv[0]);
|
||||||
|
@ -513,14 +550,13 @@ SDL_GL_LoadLibrary(0);
|
||||||
g_config->getOption("SDL.Frameskip", &frameskip);
|
g_config->getOption("SDL.Frameskip", &frameskip);
|
||||||
|
|
||||||
#ifdef CREATE_AVI
|
#ifdef CREATE_AVI
|
||||||
{std::string tmp;
|
g_config->getOption("SDL.VideoLog", &s);
|
||||||
g_config->getOption("SDL.VideoLog", &tmp);
|
|
||||||
g_config->setOption("SDL.VideoLog", "");
|
g_config->setOption("SDL.VideoLog", "");
|
||||||
if(!tmp.empty())
|
if(!s.empty())
|
||||||
{
|
{
|
||||||
NESVideoSetVideoCmd(tmp.c_str());
|
NESVideoSetVideoCmd(s.c_str());
|
||||||
LoggingEnabled = 1;
|
LoggingEnabled = 1;
|
||||||
}}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// load the specified game
|
// load the specified game
|
||||||
|
|
|
@ -27,4 +27,4 @@ inline const char * EFCM_CONVERTRESULT_message(EFCM_CONVERTRESULT e)
|
||||||
|
|
||||||
EFCM_CONVERTRESULT convert_fcm(MovieData& md, std::string fname);
|
EFCM_CONVERTRESULT convert_fcm(MovieData& md, std::string fname);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue