display pause icon and play/rec icons at the same time

This commit is contained in:
zeromus 2008-05-26 03:32:55 +00:00
parent 52091eed22
commit 0c694353e5
3 changed files with 26 additions and 19 deletions

View File

@ -221,12 +221,13 @@ static uint8* sline_icons[4]=
pause_slines pause_slines
}; };
void FCEU_DrawRecordingStatusN(uint8* XBuf, int n) static void drawstatus(uint8* XBuf, int n, int y, int xofs)
{ {
uint8* slines=sline_icons[n]; uint8* slines=sline_icons[n];
int i; int i;
XBuf += (FSettings.LastSLine-28)*256 + 240 + 255;
XBuf += FCEU_TextScanlineOffsetFromBottom(y) + 240 + 255 + xofs;
for(i=0; slines[i]!=99; i+=3) for(i=0; slines[i]!=99; i+=3)
{ {
int y=slines[i]; int y=slines[i];
@ -247,6 +248,28 @@ void FCEU_DrawRecordingStatusN(uint8* XBuf, int n)
} }
} }
/// this draws the recording icon (play/pause/record)
void FCEU_DrawRecordingStatus(uint8* XBuf)
{
if(FCEUD_ShowStatusIcon())
{
bool hasPlayRecIcon = false;
if(FCEUI_IsMovieActive()>0)
{
drawstatus(XBuf,2,28,0);
hasPlayRecIcon = true;
}
else if(FCEUI_IsMovieActive()<0)
{
drawstatus(XBuf,1,28,0);
hasPlayRecIcon = true;
}
if(FCEUI_EmulationPaused())
drawstatus(XBuf,3,28,hasPlayRecIcon?-16:0);
}
}
void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur) void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur)
{ {

View File

@ -2,6 +2,6 @@
void DrawTextLineBG(uint8 *dest); void DrawTextLineBG(uint8 *dest);
void DrawMessage(void); void DrawMessage(void);
void FCEU_DrawRecordingStatusN(uint8* XBuf, int n); void FCEU_DrawRecordingStatus(uint8* XBuf);
void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur); void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur);
void DrawTextTrans(uint8 *dest, uint32 width, uint8 *textmsg, uint8 fgcolor); void DrawTextTrans(uint8 *dest, uint32 width, uint8 *textmsg, uint8 fgcolor);

View File

@ -161,23 +161,7 @@ void FCEUI_SaveSnapshot(void)
dosnapsave=1; dosnapsave=1;
} }
/// this draws the recording icon (play/pause/record)
static void FCEU_DrawRecordingStatus(uint8* XBuf)
{
int n=0;
if(FCEUD_ShowStatusIcon())
{
if(FCEUI_EmulationPaused())
n=3;
else if(FCEUI_IsMovieActive()>0)
n=2;
else if(FCEUI_IsMovieActive()<0)
n=1;
}
if(n)
FCEU_DrawRecordingStatusN(XBuf, n);
}
static void ReallySnap(void) static void ReallySnap(void)
{ {