Cleaned up some code.
This commit is contained in:
parent
e163d2cd87
commit
62efccb998
|
@ -31,16 +31,16 @@
|
||||||
**/
|
**/
|
||||||
static CFGSTRUCT fceuconfig[] = {
|
static CFGSTRUCT fceuconfig[] = {
|
||||||
|
|
||||||
ACS(rfiles[0]),
|
ACS(recent_files[0]),
|
||||||
ACS(rfiles[1]),
|
ACS(recent_files[1]),
|
||||||
ACS(rfiles[2]),
|
ACS(recent_files[2]),
|
||||||
ACS(rfiles[3]),
|
ACS(recent_files[3]),
|
||||||
ACS(rfiles[4]),
|
ACS(recent_files[4]),
|
||||||
ACS(rfiles[5]),
|
ACS(recent_files[5]),
|
||||||
ACS(rfiles[6]),
|
ACS(recent_files[6]),
|
||||||
ACS(rfiles[7]),
|
ACS(recent_files[7]),
|
||||||
ACS(rfiles[8]),
|
ACS(recent_files[8]),
|
||||||
ACS(rfiles[9]),
|
ACS(recent_files[9]),
|
||||||
|
|
||||||
ACS(rdirs[0]),
|
ACS(rdirs[0]),
|
||||||
ACS(rdirs[1]),
|
ACS(rdirs[1]),
|
||||||
|
|
Binary file not shown.
|
@ -4,8 +4,18 @@
|
||||||
//
|
//
|
||||||
#define GUI_BOT_CLOSE 1
|
#define GUI_BOT_CLOSE 1
|
||||||
#define GUI_BOT_VALUES 2
|
#define GUI_BOT_VALUES 2
|
||||||
|
#define MENU_OPEN_FILE 100
|
||||||
|
#define MENU_CLOSE_FILE 101
|
||||||
#define IDI_ICON1 101
|
#define IDI_ICON1 101
|
||||||
#define IDI_ICON2 102
|
#define IDI_ICON2 102
|
||||||
|
#define MENU_RECENT_FILES 102
|
||||||
|
#define MENU_SAVE_STATE 110
|
||||||
|
#define MENU_LOAD_STATE 111
|
||||||
|
#define MENU_RECORD_MOVIE 141
|
||||||
|
#define MENU_REPLAY_MOVIE 142
|
||||||
|
#define MENU_STOP_MOVIE 143
|
||||||
|
#define MENU_RECORD_AVI 151
|
||||||
|
#define MENU_STOP_AVI 152
|
||||||
#define GUI_BOT_A_1 1000
|
#define GUI_BOT_A_1 1000
|
||||||
#define GUI_BOT_B_1 1001
|
#define GUI_BOT_B_1 1001
|
||||||
#define GUI_BOT_SELECT_1 1002
|
#define GUI_BOT_SELECT_1 1002
|
||||||
|
@ -141,7 +151,7 @@
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 103
|
#define _APS_NEXT_RESOURCE_VALUE 103
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40013
|
#define _APS_NEXT_COMMAND_VALUE 40023
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1117
|
#define _APS_NEXT_CONTROL_VALUE 1117
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,38 +1,52 @@
|
||||||
|
/**
|
||||||
|
* Show an Save File dialog and save a savegame state to the selected file.
|
||||||
|
**/
|
||||||
void FCEUD_SaveStateAs(void)
|
void FCEUD_SaveStateAs(void)
|
||||||
{
|
{
|
||||||
const char filter[]="FCE Ultra Save State(*.fc?)\0*.fc?\0";
|
const char filter[] = "FCE Ultra Save State(*.fc?)\0*.fc?\0";
|
||||||
char nameo[2048];
|
char nameo[2048];
|
||||||
OPENFILENAME ofn;
|
OPENFILENAME ofn;
|
||||||
|
|
||||||
memset(&ofn,0,sizeof(ofn));
|
memset(&ofn, 0, sizeof(ofn));
|
||||||
ofn.lStructSize=sizeof(ofn);
|
ofn.lStructSize = sizeof(ofn);
|
||||||
ofn.hInstance=fceu_hInstance;
|
ofn.hInstance = fceu_hInstance;
|
||||||
ofn.lpstrTitle="Save State As...";
|
ofn.lpstrTitle = "Save State As...";
|
||||||
ofn.lpstrFilter=filter;
|
ofn.lpstrFilter = filter;
|
||||||
nameo[0]=0;
|
nameo[0] = 0;
|
||||||
ofn.lpstrFile=nameo;
|
ofn.lpstrFile = nameo;
|
||||||
ofn.nMaxFile=256;
|
ofn.nMaxFile = 256;
|
||||||
ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY;
|
ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
|
||||||
if(GetSaveFileName(&ofn))
|
|
||||||
FCEUI_SaveState(nameo);
|
if(GetSaveFileName(&ofn))
|
||||||
|
{
|
||||||
|
FCEUI_SaveState(nameo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show an Open File dialog and load a savegame state from the selected file.
|
||||||
|
**/
|
||||||
void FCEUD_LoadStateFrom(void)
|
void FCEUD_LoadStateFrom(void)
|
||||||
{
|
{
|
||||||
const char filter[]="FCE Ultra Save State(*.fc?)\0*.fc?\0";
|
const char filter[]="FCE Ultra Save State(*.fc?)\0*.fc?\0";
|
||||||
char nameo[2048];
|
char nameo[2048];
|
||||||
OPENFILENAME ofn;
|
OPENFILENAME ofn;
|
||||||
|
|
||||||
memset(&ofn,0,sizeof(ofn));
|
// Create and show an Open File dialog.
|
||||||
ofn.lStructSize=sizeof(ofn);
|
memset(&ofn,0,sizeof(ofn));
|
||||||
ofn.hInstance=fceu_hInstance;
|
ofn.lStructSize=sizeof(ofn);
|
||||||
ofn.lpstrTitle="Load State From...";
|
ofn.hInstance=fceu_hInstance;
|
||||||
ofn.lpstrFilter=filter;
|
ofn.lpstrTitle="Load State From...";
|
||||||
nameo[0]=0;
|
ofn.lpstrFilter=filter;
|
||||||
ofn.lpstrFile=nameo;
|
nameo[0]=0;
|
||||||
ofn.nMaxFile=256;
|
ofn.lpstrFile=nameo;
|
||||||
ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY;
|
ofn.nMaxFile=256;
|
||||||
if(GetOpenFileName(&ofn))
|
ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY;
|
||||||
FCEUI_LoadState(nameo);
|
|
||||||
|
if(GetOpenFileName(&ofn))
|
||||||
|
{
|
||||||
|
// Load save state if a file was selected.
|
||||||
|
FCEUI_LoadState(nameo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -127,14 +127,18 @@ int FCEUMOV_ShouldPause(void)
|
||||||
int suppressMovieStop=0;
|
int suppressMovieStop=0;
|
||||||
int movieConvertOffset1=0, movieConvertOffset2=0,movieConvertOK=0,movieSyncHackOn=0;
|
int movieConvertOffset1=0, movieConvertOffset2=0,movieConvertOK=0,movieSyncHackOn=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop movie playback.
|
||||||
|
**/
|
||||||
static void StopPlayback(void)
|
static void StopPlayback(void)
|
||||||
{
|
{
|
||||||
if(suppressMovieStop)
|
if(suppressMovieStop)
|
||||||
return;
|
return;
|
||||||
resetDMCacc=movieSyncHackOn=0;
|
|
||||||
fclose(slots[-1 - current]);
|
resetDMCacc = movieSyncHackOn = 0;
|
||||||
current=0;
|
fclose(slots[-1 - current]);
|
||||||
FCEU_DispMessage("Movie playback stopped.");
|
current = 0;
|
||||||
|
FCEU_DispMessage("Movie playback stopped.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MovieFlushHeader(void)
|
void MovieFlushHeader(void)
|
||||||
|
@ -211,28 +215,47 @@ void MovieFlushHeader(void)
|
||||||
fseek(fp, loc, SEEK_SET);
|
fseek(fp, loc, SEEK_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void StopRecording(void)
|
/**
|
||||||
|
* Stop movie recording
|
||||||
|
**/
|
||||||
|
void StopRecording(void)
|
||||||
{
|
{
|
||||||
if(suppressMovieStop)
|
if(suppressMovieStop)
|
||||||
return;
|
{
|
||||||
resetDMCacc=movieSyncHackOn=0;
|
return;
|
||||||
DoEncode(0,0,1); /* Write a dummy timestamp value so that the movie will keep
|
}
|
||||||
"playing" after user input has stopped. */
|
|
||||||
// finish header
|
|
||||||
MovieFlushHeader();
|
|
||||||
|
|
||||||
// FIXME: truncate movie to length
|
resetDMCacc = movieSyncHackOn = 0;
|
||||||
// ftruncate();
|
|
||||||
fclose(slots[current - 1]);
|
DoEncode(0,0,1); /* Write a dummy timestamp value so that the movie will keep
|
||||||
MovieStatus[current - 1] = 1;
|
"playing" after user input has stopped. */
|
||||||
current=0;
|
|
||||||
FCEU_DispMessage("Movie recording stopped.");
|
// finish header
|
||||||
|
MovieFlushHeader();
|
||||||
|
|
||||||
|
// FIXME: truncate movie to length
|
||||||
|
// ftruncate();
|
||||||
|
fclose(slots[current - 1]);
|
||||||
|
MovieStatus[current - 1] = 1;
|
||||||
|
current = 0;
|
||||||
|
|
||||||
|
FCEU_DispMessage("Movie recording stopped.");
|
||||||
}
|
}
|
||||||
|
|
||||||
void FCEUI_StopMovie(void)
|
/**
|
||||||
|
* Stop movie recording or movie playback.
|
||||||
|
**/
|
||||||
|
void FCEUI_StopMovie()
|
||||||
{
|
{
|
||||||
if(current < 0) StopPlayback();
|
if(current < 0)
|
||||||
if(current > 0) StopRecording();
|
{
|
||||||
|
StopPlayback();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(current > 0)
|
||||||
|
{
|
||||||
|
StopRecording();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MSVC
|
#ifdef MSVC
|
||||||
|
|
|
@ -639,36 +639,44 @@ int loadStateFailed = 0; // hack, this function should return a value instead
|
||||||
|
|
||||||
void FCEUI_LoadState(char *fname)
|
void FCEUI_LoadState(char *fname)
|
||||||
{
|
{
|
||||||
StateShow=0;
|
StateShow = 0;
|
||||||
loadStateFailed=0;
|
loadStateFailed = 0;
|
||||||
|
|
||||||
/* For network play, be load the state locally, and then save the state to a temporary file,
|
/* For network play, be load the state locally, and then save the state to a temporary file,
|
||||||
and send that. This insures that if an older state is loaded that is missing some
|
and send that. This insures that if an older state is loaded that is missing some
|
||||||
information expected in newer save states, desynchronization won't occur(at least not
|
information expected in newer save states, desynchronization won't occur(at least not
|
||||||
from this ;)).
|
from this ;)).
|
||||||
*/
|
*/
|
||||||
if(FCEUSS_Load(fname))
|
|
||||||
{
|
|
||||||
if(FCEUnetplay)
|
|
||||||
{
|
|
||||||
char *fn=FCEU_MakeFName(FCEUMKF_NPTEMP,0,0);
|
|
||||||
FILE *fp;
|
|
||||||
|
|
||||||
if((fp=fopen(fn,"wb")))
|
if(FCEUSS_Load(fname))
|
||||||
{
|
{
|
||||||
if(FCEUSS_SaveFP(fp))
|
if(FCEUnetplay)
|
||||||
{
|
{
|
||||||
fclose(fp);
|
char *fn = FCEU_MakeFName(FCEUMKF_NPTEMP, 0, 0);
|
||||||
FCEUNET_SendFile(FCEUNPCMD_LOADSTATE, fn);
|
FILE *fp;
|
||||||
}
|
|
||||||
else fclose(fp);
|
|
||||||
unlink(fn);
|
|
||||||
}
|
|
||||||
free(fn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else loadStateFailed=1;
|
|
||||||
|
|
||||||
|
if((fp = fopen(fn," wb")))
|
||||||
|
{
|
||||||
|
if(FCEUSS_SaveFP(fp))
|
||||||
|
{
|
||||||
|
fclose(fp);
|
||||||
|
FCEUNET_SendFile(FCEUNPCMD_LOADSTATE, fn);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
unlink(fn);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
loadStateFailed = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FCEU_DrawSaveStates(uint8 *XBuf)
|
void FCEU_DrawSaveStates(uint8 *XBuf)
|
||||||
|
|
Loading…
Reference in New Issue