Movie subtitles can now be put in avi. Win32 - menu toggle item.
This commit is contained in:
parent
57de01eb86
commit
47236ddffa
|
@ -162,6 +162,10 @@ void DrawMessage(bool beforeMovie)
|
|||
|
||||
if(subtitleMessage.howlong)
|
||||
{
|
||||
//don't display movie messages if we're not before the movie
|
||||
if(beforeMovie && !subtitleMessage.isMovieMessage)
|
||||
return;
|
||||
|
||||
uint8 *tt;
|
||||
subtitleMessage.howlong--;
|
||||
tt=XBuf+FCEU_TextScanlineOffsetFromBottom(216);
|
||||
|
|
|
@ -47,6 +47,7 @@ extern bool lagCounterDisplay;
|
|||
extern bool frameAdvanceLagSkip;
|
||||
extern int ClipSidesOffset;
|
||||
extern bool movieSubtitles;
|
||||
extern bool subtitlesOnAVI;
|
||||
|
||||
extern uint8 gNoBGFillColor;
|
||||
|
||||
|
@ -208,6 +209,7 @@ static CFGSTRUCT fceuconfig[] = {
|
|||
AC(DesynchAutoFire),
|
||||
AC(lagCounterDisplay),
|
||||
AC(movieSubtitles),
|
||||
AC(subtitlesOnAVI),
|
||||
AC(bindSavestate),
|
||||
AC(ClipSidesOffset),
|
||||
//ACS(memwLastfile[2048]),
|
||||
|
|
|
@ -93,6 +93,7 @@ BEGIN
|
|||
MENUITEM "Lag Counter", MENU_DISPLAY_LAGCOUNTER
|
||||
MENUITEM "Frame Counter", ID_DISPLAY_FRAMECOUNTER
|
||||
MENUITEM "Movie Subtitles", ID_DISPLAY_MOVIESUBTITLES
|
||||
MENUITEM "Movie Subtitles in AVI", ID_DISPLAY_MOVIESUBTITLES_AVI
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Graphics: BG", MENU_DISPLAY_BG
|
||||
MENUITEM "Graphics: OBJ", MENU_DISPLAY_OBJ
|
||||
|
|
|
@ -563,6 +563,8 @@
|
|||
#define MENU_MV_HELP 40258
|
||||
#define ID_DISPLAY_MOVESUBTITLES 40259
|
||||
#define ID_DISPLAY_MOVIESUBTITLES 40260
|
||||
#define ID_DISPLAY_MOVIESUBTITLESINAVI 40261
|
||||
#define ID_DISPLAY_MOVIESUBTITLES_AVI 40262
|
||||
#define IDC_DEBUGGER_ICONTRAY 55535
|
||||
#define MW_ValueLabel2 65423
|
||||
#define MW_ValueLabel1 65426
|
||||
|
@ -572,7 +574,7 @@
|
|||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 124
|
||||
#define _APS_NEXT_COMMAND_VALUE 40261
|
||||
#define _APS_NEXT_COMMAND_VALUE 40263
|
||||
#define _APS_NEXT_CONTROL_VALUE 1187
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
|
|
|
@ -311,6 +311,7 @@ void UpdateCheckedMenuItems()
|
|||
CheckMenuItem(fceumenu, MENU_DISPLAY_BG, bg?MF_CHECKED:MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, MENU_DISPLAY_OBJ, spr?MF_CHECKED:MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, ID_DISPLAY_MOVIESUBTITLES, movieSubtitles?MF_CHECKED:MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, ID_DISPLAY_MOVIESUBTITLES_AVI, subtitlesOnAVI?MF_CHECKED:MF_UNCHECKED);
|
||||
|
||||
CheckMenuItem(fceumenu, MENU_PAUSEAFTERPLAYBACK, pauseAfterPlayback ? MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, MENU_RUN_IN_BACKGROUND, eoptions & EO_BGRUN ? MF_CHECKED : MF_UNCHECKED);
|
||||
|
@ -1035,6 +1036,11 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
|
|||
UpdateCheckedMenuItems();
|
||||
break;
|
||||
|
||||
case ID_DISPLAY_MOVIESUBTITLES_AVI:
|
||||
subtitlesOnAVI ^= 1;
|
||||
UpdateCheckedMenuItems();
|
||||
break;
|
||||
|
||||
case MENU_SHOW_STATUS_ICON:
|
||||
// Show status icon menu was selected
|
||||
status_icon = !status_icon;
|
||||
|
|
|
@ -40,8 +40,10 @@ using namespace std;
|
|||
|
||||
extern char FileBase[];
|
||||
|
||||
std::vector<int> subtitleFrames;
|
||||
std::vector<string> subtitleMessages;
|
||||
std::vector<int> subtitleFrames; //Frame numbers for subtitle messages
|
||||
std::vector<string> subtitleMessages; //Messages of subtitles
|
||||
|
||||
bool subtitlesOnAVI = false;
|
||||
|
||||
//TODO - remove the synchack stuff from the replay gui and require it to be put into the fm2 file
|
||||
//which the user would have already converted from fcm
|
||||
|
@ -1217,24 +1219,11 @@ void ProcessSubtitles(void)
|
|||
{
|
||||
if (currFrameCounter == subtitleFrames[i])
|
||||
FCEU_DisplaySubtitles("%s",subtitleMessages[i].c_str());
|
||||
//FCEUI_DispMessage("%s",subtitleMessages[i].c_str());
|
||||
}
|
||||
}
|
||||
|
||||
void FCEU_DisplaySubtitles(char *format, ...)
|
||||
{
|
||||
/*
|
||||
uint8 color;
|
||||
|
||||
//color = 0x19+0x80; //else display green
|
||||
color = 0x20+0x80;
|
||||
|
||||
char counterbuf[512] = {0};
|
||||
sprintf(counterbuf,"%d",format);
|
||||
|
||||
if(counterbuf[0])
|
||||
DrawTextTrans(ClipSidesOffset+XBuf+FCEU_TextScanlineOffsetFromBottom(128), 256, (uint8*)counterbuf, color); //0x20+0x80
|
||||
*/
|
||||
va_list ap;
|
||||
|
||||
va_start(ap,format);
|
||||
|
@ -1242,5 +1231,5 @@ void FCEU_DisplaySubtitles(char *format, ...)
|
|||
va_end(ap);
|
||||
|
||||
subtitleMessage.howlong = 300;
|
||||
subtitleMessage.isMovieMessage = false;
|
||||
subtitleMessage.isMovieMessage = subtitlesOnAVI;
|
||||
}
|
|
@ -232,6 +232,7 @@ private:
|
|||
extern MovieData currMovieData;
|
||||
extern int currFrameCounter;
|
||||
extern char curMovieFilename[512];
|
||||
extern bool subtitlesOnAVI;
|
||||
//---------
|
||||
|
||||
void FCEUI_SaveMovie(const char *fname, EMOVIE_FLAG flags, std::wstring author);
|
||||
|
|
Loading…
Reference in New Issue