* Taseditor: handle "Insert Coin" command correctly (no recording while seeking/etc)
* Taseditor: updated docs [[Split portion of a mixed commit.]]
This commit is contained in:
parent
c4eeddcf0c
commit
c7555d85c9
Binary file not shown.
|
@ -336,7 +336,7 @@ enum EFCEUI
|
|||
FCEUI_STOPMOVIE, FCEUI_RECORDMOVIE, FCEUI_PLAYMOVIE,
|
||||
FCEUI_OPENGAME, FCEUI_CLOSEGAME,
|
||||
FCEUI_TASEDITOR,
|
||||
FCEUI_RESET, FCEUI_POWER, FCEUI_PLAYFROMBEGINNING, FCEUI_EJECT_DISK, FCEUI_SWITCH_DISK
|
||||
FCEUI_RESET, FCEUI_POWER, FCEUI_PLAYFROMBEGINNING, FCEUI_EJECT_DISK, FCEUI_SWITCH_DISK, FCEUI_INSERT_COIN
|
||||
};
|
||||
|
||||
//checks whether an EFCEUI is valid right now
|
||||
|
|
|
@ -2376,6 +2376,7 @@ adelikat: Outsourced this to a remappable hotkey
|
|||
EnableMenuItem(fceumenu,MENU_POWER,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_POWER)?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_EJECT_DISK,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_EJECT_DISK)?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_SWITCH_DISK,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_SWITCH_DISK)?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_INSERT_COIN,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_INSERT_COIN)?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_TASEDITOR,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_TASEDITOR)?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_CLOSE_FILE,MF_BYCOMMAND | (FCEU_IsValidUI(FCEUI_CLOSEGAME) && GameInfo ?MF_ENABLED:MF_GRAYED));
|
||||
EnableMenuItem(fceumenu,MENU_RECENT_FILES,MF_BYCOMMAND | ((FCEU_IsValidUI(FCEUI_OPENGAME) && HasRecentFiles()) ?MF_ENABLED:MF_GRAYED)); //adelikat - added && recent_files, otherwise this line prevents recent from ever being gray when TAS Editor is not engaged
|
||||
|
|
|
@ -1043,6 +1043,7 @@ bool FCEU_IsValidUI(EFCEUI ui) {
|
|||
case FCEUI_POWER:
|
||||
case FCEUI_EJECT_DISK:
|
||||
case FCEUI_SWITCH_DISK:
|
||||
case FCEUI_INSERT_COIN:
|
||||
if (!GameInfo) return false;
|
||||
if (FCEUMOV_Mode(MOVIEMODE_RECORD)) return true;
|
||||
#ifdef WIN32
|
||||
|
|
|
@ -581,6 +581,9 @@ void FCEUI_VSUniToggleDIP(int w)
|
|||
|
||||
void FCEUI_VSUniCoin(void)
|
||||
{
|
||||
if(!FCEU_IsValidUI(FCEUI_INSERT_COIN))
|
||||
return;
|
||||
|
||||
FCEU_QSimpleCommand(FCEUNPCMD_VSUNICOIN);
|
||||
}
|
||||
|
||||
|
@ -748,7 +751,7 @@ struct EMUCMDTABLE FCEUI_CommandTable[]=
|
|||
{ EMUCMD_FDS_EJECT_INSERT, EMUCMDTYPE_FDS, FCEUI_FDSInsert, 0, 0, "Eject or Insert FDS Disk", EMUCMDFLAG_TASEDITOR },
|
||||
{ EMUCMD_FDS_SIDE_SELECT, EMUCMDTYPE_FDS, FCEUI_FDSSelect, 0, 0, "Switch FDS Disk Side", EMUCMDFLAG_TASEDITOR },
|
||||
|
||||
{ EMUCMD_VSUNI_COIN, EMUCMDTYPE_VSUNI, FCEUI_VSUniCoin, 0, 0, "Insert Coin", 0 },
|
||||
{ EMUCMD_VSUNI_COIN, EMUCMDTYPE_VSUNI, FCEUI_VSUniCoin, 0, 0, "Insert Coin", EMUCMDFLAG_TASEDITOR },
|
||||
{ EMUCMD_VSUNI_TOGGLE_DIP_0, EMUCMDTYPE_VSUNI, CommandToggleDip, 0, 0, "Toggle Dipswitch 0", 0 },
|
||||
{ EMUCMD_VSUNI_TOGGLE_DIP_1, EMUCMDTYPE_VSUNI, CommandToggleDip, 0, 0, "Toggle Dipswitch 1", 0 },
|
||||
{ EMUCMD_VSUNI_TOGGLE_DIP_2, EMUCMDTYPE_VSUNI, CommandToggleDip, 0, 0, "Toggle Dipswitch 2", 0 },
|
||||
|
|
|
@ -1017,18 +1017,17 @@ void FCEUMOV_AddInputState()
|
|||
_currCommand = 0;
|
||||
} else
|
||||
#endif
|
||||
if(movieMode == MOVIEMODE_PLAY)
|
||||
if (movieMode == MOVIEMODE_PLAY)
|
||||
{
|
||||
//stop when we run out of frames
|
||||
if(currFrameCounter >= (int)currMovieData.records.size())
|
||||
if (currFrameCounter >= (int)currMovieData.records.size())
|
||||
{
|
||||
FinishPlayback();
|
||||
//tell all drivers to poll input and set up their logical states
|
||||
for(int port=0;port<2;port++)
|
||||
joyports[port].driver->Update(port,joyports[port].ptr,joyports[port].attrib);
|
||||
portFC.driver->Update(portFC.ptr,portFC.attrib);
|
||||
}
|
||||
else
|
||||
} else
|
||||
{
|
||||
MovieRecord* mr = &currMovieData.records[currFrameCounter];
|
||||
|
||||
|
@ -1049,7 +1048,7 @@ void FCEUMOV_AddInputState()
|
|||
}
|
||||
|
||||
//if we are on the last frame, then pause the emulator if the player requested it
|
||||
if(currFrameCounter == currMovieData.records.size()-1)
|
||||
if (currFrameCounter == currMovieData.records.size()-1)
|
||||
{
|
||||
if(FCEUD_PauseAfterPlayback())
|
||||
{
|
||||
|
@ -1058,14 +1057,13 @@ void FCEUMOV_AddInputState()
|
|||
}
|
||||
|
||||
//pause the movie at a specified frame
|
||||
if(FCEUMOV_ShouldPause() && FCEUI_EmulationPaused()==0)
|
||||
if (FCEUMOV_ShouldPause() && FCEUI_EmulationPaused()==0)
|
||||
{
|
||||
FCEUI_ToggleEmulationPause();
|
||||
FCEU_DispMessage("Paused at specified movie frame",0);
|
||||
}
|
||||
|
||||
}
|
||||
else if(movieMode == MOVIEMODE_RECORD)
|
||||
} else if (movieMode == MOVIEMODE_RECORD)
|
||||
{
|
||||
MovieRecord mr;
|
||||
|
||||
|
@ -1492,11 +1490,9 @@ void FCEUI_MovieToggleReadOnly()
|
|||
if(movie_readonly)
|
||||
strcpy(message, "Movie is now Read+Write");
|
||||
else
|
||||
{
|
||||
strcpy(message, "Movie is now Read-Only");
|
||||
}
|
||||
|
||||
if(movieMode == MOVIEMODE_INACTIVE)
|
||||
if (movieMode == MOVIEMODE_INACTIVE)
|
||||
strcat(message, " (no movie)");
|
||||
else if (movieMode == MOVIEMODE_FINISHED)
|
||||
strcat(message, " (finished)");
|
||||
|
@ -1516,10 +1512,10 @@ void FCEUI_MoviePlayFromBeginning(void)
|
|||
{
|
||||
if (currMovieData.savestate.empty())
|
||||
{
|
||||
movie_readonly=true;
|
||||
movie_readonly = true;
|
||||
movieMode = MOVIEMODE_PLAY;
|
||||
poweron(true);
|
||||
currFrameCounter=0;
|
||||
currFrameCounter = 0;
|
||||
FCEU_DispMessage("Movie is now Read-Only. Playing from beginning.",0);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue