ref: 3b70bbe366fade45f41fed2ef13b87fa675709b5
dir: /play.c/
char far *demoptr, far *lastdemoptr;
uchar *demobuffer;
void CheckKeys (void)
{
s16int i;
u8int scan;
u16int temp;
if (screenfaded || gm.demo) // don't do anything with a faded screen
return;
scan = LastScan;
//
// pause key weirdness can't be checked as a scan code
//
if (Paused)
{
bufferofs = displayofs;
LatchDrawPic (20-4,80-2*8,Ppause);
SD_MusicOff();
IN_Ack();
IN_ClearKeysDown ();
SD_MusicOn();
Paused = false;
if (MousePresent)
Mouse(MDelta); // Clear accumulated mouse movement
return;
}
//
// F1-F7/ESC to enter control panel
//
if (
scan == sc_F10 ||
scan == sc_F9 ||
scan == sc_F7 ||
scan == sc_F8) // pop up quit dialog
{
ClearMemory ();
ClearSplitVWB ();
VW_ScreenToScreen (displayofs,bufferofs,80,160);
US_ControlPanel(scan);
DrawAllPlayBorderSides ();
if (scan == sc_F9)
mapmus ();
PM_CheckMainMem ();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
return;
}
if ( (scan >= sc_F1 && scan <= sc_F9) || scan == sc_Escape)
{
stopmus ();
ClearMemory ();
VW_FadeOut ();
US_ControlPanel(scan);
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
view ();
if (!startgame && !gm.load)
{
VW_FadeIn ();
mapmus ();
}
if (gm.load)
gm.φ = ex_abort;
lasttimecount = TimeCount;
if (MousePresent)
Mouse(MDelta); // Clear accumulated mouse movement
PM_CheckMainMem ();
return;
}
}