本文整理汇总了C++中IN_ClearKeysDown函数的典型用法代码示例。如果您正苦于以下问题:C++ IN_ClearKeysDown函数的具体用法?C++ IN_ClearKeysDown怎么用?C++ IN_ClearKeysDown使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IN_ClearKeysDown函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: US_FinishTextScreen
///////////////////////////////////////////////////////////////////////////
//
// US_FinishTextScreen() - After the main program has finished its initial
// loading, this routine waits for a keypress and then clears the screen
//
///////////////////////////////////////////////////////////////////////////
void
US_FinishTextScreen(void)
{
static byte colors[] = {4,6,13,15,15,15,15,15,15};
boolean up;
int i,c;
// Change Loading... to Press a Key
if (!(tedlevel || NoWait))
{
IN_ClearKeysDown();
for (i = 0,up = true;!IN_UserInput(4,true);)
{
c = colors[i];
if (up)
{
if (++i == 9)
i = 8,up = false;
}
else
{
if (--i < 0)
i = 1,up = true;
}
USL_ScreenDraw(29,22," Ready - Press a Key ",0x00 + c);
}
}
else
USL_ScreenDraw(29,22," Ready - Press a Key ",0x9a);
IN_ClearKeysDown();
USL_ClearTextScreen();
}
示例2: EndText
//
// END ARTICLES
//
void EndText (void)
{
int artnum;
char *text;
memptr layout;
ClearMemory ();
CA_UpLevel ();
MM_SortMem ();
#ifdef JAPAN
ShowArticle(gamestate.episode + 1);
VW_FadeOut();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
if (MousePresent)
Mouse(MDelta); // Clear accumulated mouse movement
FreeMusic ();
CA_DownLevel ();
MM_SortMem ();
#else
#ifdef ARTSEXTERN
artnum = endextern+gamestate.episode;
CA_CacheGrChunk (artnum);
text = (char *)grsegs[artnum];
MM_SetLock (&grsegs[artnum], True);
#else
endfilename[6] = '1'+gamestate.episode;
CA_LoadFile (endfilename,&layout);
text = (char *)layout;
MM_SetLock (&layout, True);
#endif
ShowArticle (text);
#ifdef ARTSEXTERN
MM_FreePtr (&grsegs[artnum]);
#else
MM_FreePtr (&layout);
#endif
VW_FadeOut();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
//if (MousePresent) // PORT
// Mouse(MDelta); // Clear accumulated mouse movement
//FreeMusic ();
CA_DownLevel ();
MM_SortMem ();
#endif
}
示例3: ShowText
static bool ShowText(const FString exitText, const FString flat, const FString music, ClusterInfo::ExitType type)
{
// Use cluster background if set.
if(!flat.IsEmpty())
backgroundFlat = TexMan(flat);
if(!backgroundFlat) // Get default if needed
backgroundFlat = TexMan(gameinfo.FinaleFlat);
switch(type)
{
case ClusterInfo::EXIT_MESSAGE:
SD_PlaySound ("misc/1up");
Message (exitText);
IN_ClearKeysDown ();
IN_Ack ();
return false;
case ClusterInfo::EXIT_LUMP:
{
int lumpNum = Wads.CheckNumForName(exitText, ns_global);
if(lumpNum != -1)
{
FWadLump lump = Wads.OpenLumpNum(lumpNum);
char* text = new char[Wads.LumpLength(lumpNum)];
lump.Read(text, Wads.LumpLength(lumpNum));
if(!music.IsEmpty())
StartCPMusic(music);
ShowArticle(text, !!(IWad::GetGame().Flags & IWad::HELPHACK));
delete[] text;
}
break;
}
default:
if(!music.IsEmpty())
StartCPMusic(music);
ShowArticle(exitText, !!(IWad::GetGame().Flags & IWad::HELPHACK));
break;
}
IN_ClearKeysDown();
if (MousePresent && IN_IsInputGrabbed())
IN_CenterMouse(); // Clear accumulated mouse movement
return true;
}
示例4: EndText
//
// END ARTICLES
//
void EndText()
{
int artnum;
const char *text;
ClearMemory();
artnum = endextern+gamestate.episode;
CA_CacheGrChunk(artnum);
if (w0 == true){
text = (const char *)grsegsWL1[artnum];
} else if (w1 == true){
text = (const char *)grsegsWL6[artnum];
} else if (s0 == true){
text = (const char *)grsegsSDM[artnum];
} else {
text = (const char *)grsegsSOD[artnum];
}
ShowArticle(text);
CA_UnCacheGrChunk(artnum);
VW_FadeOut();
SETFONTCOLOR(0,15);
IN_ClearKeysDown();
IN_GetMouseDelta(NULL, NULL); // Clear accumulated mouse movement
FreeMusic();
}
示例5: PopupAutoMap
//--------------------------------------------------------------------------
// PopupAutoMap()
//--------------------------------------------------------------------------
void PopupAutoMap()
{
#define BASE_X 64
#define BASE_Y 44
ThreeDRefresh();
ThreeDRefresh();
SD_StopSound();
ClearMemory();
CacheDrawPic(BASE_X,BASE_Y,AUTOMAPPIC);
ShowStats(BASE_X+101,BASE_Y+22,ss_quick,&gamestuff.level[gamestate.mapon].stats);
while (Keyboard[sc_back_quote])
CalcTics();
#if GAME_VERSION != SHAREWARE_VERSION && IN_DEVELOPMENT
// if (DebugOk && PP_step)
// PicturePause();
#endif
IN_StartAck ();
while (!IN_CheckAck ())
CalcTics();
CleanDrawPlayBorder();
IN_ClearKeysDown();
}
示例6: ViewMap
void ViewMap (void)
{
id0_boolean_t button0held;
viewtype = actoratview;
button0held = false;
maporgx = player->tilex - VIEWTILEX/2;
if (maporgx<0)
maporgx = 0;
maporgy = player->tiley - VIEWTILEY/2;
if (maporgy<0)
maporgy = 0;
do
{
//
// let user pan around
//
IN_ReadControl(0,&control);
if (control.xaxis == -1 && maporgx>0)
maporgx--;
if (control.xaxis == 1 && maporgx<mapwidth-VIEWTILEX)
maporgx++;
if (control.yaxis == -1 && maporgy>0)
maporgy--;
if (control.yaxis == 1 && maporgy<mapheight-VIEWTILEY)
maporgy++;
if (control.button0 && !button0held)
{
button0held = true;
// REFKEEN - Make this C++ friendly
if (viewtype == lastview-1)
viewtype = mapview;
else
viewtype = (viewtypeenum)(viewtype + 1);
#if 0
viewtype++;
if (viewtype==lastview)
viewtype = mapview;
#endif
}
if (!control.button0)
button0held = false;
OverheadRefresh ();
BE_ST_ShortSleep();
} while (!Keyboard[sc_Escape]);
IN_ClearKeysDown ();
DrawPlayScreen ();
}
示例7: EndScreen
void EndScreen (int palette, int screen)
{
CA_CacheScreen (screen);
VW_UpdateScreen ();
CA_CacheGrChunk (palette);
VL_FadeIn(0,255,grsegs[palette],30);
UNCACHEGRCHUNK (palette);
IN_ClearKeysDown ();
IN_Ack ();
VW_FadeOut ();
}
示例8: ViewMap
void ViewMap (void)
{
boolean button0held;
viewtype = actoratview;
// button0held = false;
maporgx = player->tilex - VIEWTILEX/2;
if (maporgx<0)
maporgx = 0;
if (maporgx>MAPSIZE-VIEWTILEX)
maporgx=MAPSIZE-VIEWTILEX;
maporgy = player->tiley - VIEWTILEY/2;
if (maporgy<0)
maporgy = 0;
if (maporgy>MAPSIZE-VIEWTILEY)
maporgy=MAPSIZE-VIEWTILEY;
do
{
//
// let user pan around
//
PollControls ();
if (controlx < 0 && maporgx>0)
maporgx--;
if (controlx > 0 && maporgx<mapwidth-VIEWTILEX)
maporgx++;
if (controly < 0 && maporgy>0)
maporgy--;
if (controly > 0 && maporgy<mapheight-VIEWTILEY)
maporgy++;
#if 0
if (c.button0 && !button0held)
{
button0held = true;
viewtype++;
if (viewtype>visview)
viewtype = mapview;
}
if (!c.button0)
button0held = false;
#endif
OverheadRefresh ();
} while (!Keyboard[sc_Escape]);
IN_ClearKeysDown ();
}
示例9: WaitIntermission
static bool WaitIntermission(unsigned int time)
{
if(time)
{
return IN_UserInput(time);
}
else
{
IN_ClearKeysDown ();
IN_Ack ();
return true;
}
}
示例10: GameOver
void
GameOver (void)
{
VW_InitDoubleBuffer ();
US_CenterWindow (16,3);
US_PrintCentered("Game Over!");
VW_UpdateScreen ();
IN_ClearKeysDown ();
IN_Ack ();
}
示例11: EndScreen
void
EndScreen (int palette, int screen)
{
SDL_Color pal[256];
CA_CacheScreen (screen);
VW_UpdateScreen ();
CA_CacheGrChunk (palette);
VL_ConvertPalette(grsegs[palette], pal, 256);
VL_FadeIn (0, 255, pal, 30);
UNCACHEGRCHUNK (palette);
IN_ClearKeysDown ();
IN_Ack ();
VW_FadeOut ();
}
示例12: WaitOrKey
id0_int_t WaitOrKey (id0_int_t vbls)
{
while (vbls--)
{
IN_ReadControl(0,&c); // get player input
if (LastScan || c.button0 || c.button1)
{
IN_ClearKeysDown ();
return 1;
}
VW_WaitVBL(1);
}
return 0;
}
示例13: ViewMap
void ViewMap (void)
{
boolean button0held;
viewtype = actoratview;
button0held = false;
maporgx = player->tilex - VIEWTILEX/2;
if (maporgx<0)
maporgx = 0;
maporgy = player->tiley - VIEWTILEY/2;
if (maporgy<0)
maporgy = 0;
do
{
//
// let user pan around
//
IN_ReadControl(0,&control);
if (control.xaxis == -1 && maporgx>0)
maporgx--;
if (control.xaxis == 1 && maporgx<mapwidth-VIEWTILEX)
maporgx++;
if (control.yaxis == -1 && maporgy>0)
maporgy--;
if (control.yaxis == 1 && maporgy<mapheight-VIEWTILEY)
maporgy++;
if (control.button0 && !button0held)
{
button0held = true;
viewtype++;
if (viewtype==lastview)
viewtype = mapview;
}
if (!control.button0)
button0held = false;
OverheadRefresh ();
} while (!Keyboard[sc_Escape]);
IN_ClearKeysDown ();
DrawPlayScreen ();
}
示例14: T_Gate
void T_Gate (objtype *ob)
{
id0_int_t spot;
objtype *check;
id0_unsigned_t temp;
if (CheckHandAttack (ob) && !playstate)
{
//
// warp
//
temp = bufferofs;
bufferofs = 0;
VW_Bar (26,4,232,9,STATUSCOLOR); // clear text description
bufferofs = temp;
IN_ClearKeysDown ();
if (ob->temp1)
{
//
// teleport inside level
//
for (check=player->next;check;check=check->next)
if (check->obclass==gateobj && check->temp1==ob->temp1 &&
check != ob)
{
player->x = check->x;
player->y = check->y;
Thrust (player->angle,TILEGLOBAL/2); // move forwards
Thrust (player->angle,TILEGLOBAL/2); // move forwards
Thrust (player->angle,TILEGLOBAL/2); // move forwards
fizzlein=true;
}
}
else
{
//
// teleport out of level
//
playstate = ex_warped;
spot = *(mapsegs[0]+farmapylookup[ob->tiley]+ob->tilex)-NAMESTART;
if (spot<1)
gamestate.mapon++;
else
gamestate.mapon=spot-1;
SD_PlaySound(WARPUPSND);
}
}
}
示例15: ShowQuickInstructions
//--------------------------------------------------------------------------
// ShowQuickInstructions()
//--------------------------------------------------------------------------
void ShowQuickInstructions()
{
ShowQuickMsg=false;
if ((demoplayback) || (gamestate.mapon) || (gamestate.flags & GS_QUICKRUN))
return;
ThreeDRefresh();
ThreeDRefresh();
ClearMemory();
WindowX=0; WindowY=16; WindowW=320; WindowH=168;
CacheMessage(QUICK_INFO1_TEXT);
VW_WaitVBL(120);
CacheMessage(QUICK_INFO2_TEXT);
IN_Ack();
IN_ClearKeysDown();
CleanDrawPlayBorder();
}