void processNormalKeys(unsigned char key, int x, int y) { switch( key ) { case 'w': Camera_StartMove(FORWARD); break; case 'a': Camera_StartMove(LEFT); break; case 's': Camera_StartMove(BACK); break; case 'd': Camera_StartMove(RIGHT); break; case 'q': Camera_StartMove(UP); break; case 'e': Camera_StartMove(DOWN); break; case 'r': World_Reset(); Camera_Reset(); break; case ' ': World_Pause(); break; case 'p': World_Pause(); World_Update( 0.0166666666 ); World_Pause(); break; case 'c': Debug_ClearLines(); break; } }
void dEngine_HostFrame(void) { // Load a new scene/menu if needed dEngine_CheckState(); Timer_tick(); diverSpriteLib.numVertices=0; diverSpriteLib.numIndices=0; #ifdef GENERATE_VIDEO if (MENU_Get() == 0 && simulationTime > 57000 && !MENU_GetCurrentButtonTouches()[0].down) MENU_GetCurrentButtonTouches()[0].down = 1 ; SND_UpdateRecord(); #endif NET_Setup(); NET_Receive(); COM_Update(); NET_Send(); //Init the enemy FX system ENPAR_StartEnemyFX(); EV_Update(); TITLE_Update(); CAM_Update(); DYN_TEXT_Update(); //NET_Update(); //Check collisions. COLL_CheckEnemies(); COLL_CheckPlayers(); //Update world World_Update(); P_Update(); ENE_Update(); ENPAR_Update(); FX_UpdateExplosions(); FX_UpdateParticules(); FX_UpdateSmoke(); //Rendition P_PrepareBulletSprites(); P_PrepareGhostSprites(); FX_PrepareSmokeSprites(); P_PreparePointerSprites(); SCR_RenderFrame(); if (engine.menuVisible) MENU_HandleTouches(); #ifdef GENERATE_VIDEO dEngine_WriteScreenshot(screenShotDirectory); #endif }