void UpdatePause(void) { while(pause) { StartFoxFrame(); AESysFrameStart(); PlayAudio(&BackgroundSnd); if(FoxInput_KeyTriggered(VK_ESCAPE)) { pause = FALSE; } if(GetNextState() == GS_Quit || GetNextState() == GS_Restart) { pause = FALSE; } DrawPause(); EventPause(); FoxInput_Update(); SaveSettings(); SetChannelGroupVolume(EffectType, SFXVolume); SetChannelGroupVolume(MusicType, BGMVolume); UpdateSoundSystem(); AESysFrameEnd(); EndFoxFrame(); } SaveSettings(); FreePause(); }
int HUD_Redraw( float flTime, int state ) { switch( state ) { case CL_LOADING: DrawProgressBar(); break; case CL_ACTIVE: gHUD.Redraw( flTime ); break; case CL_PAUSED: gHUD.Redraw( flTime ); DrawPause(); break; case CL_CHANGELEVEL: DrawImageBar( 100, "m_loading" ); break; } return 1; }
void UpdateVersus(){ if(!pause){ UpdateStage(stage); if((f2.state!=DEAD)&&(f1.state!=DEAD)){ if(f1.state!=HIT&&f1.state!=DEAD) UpdateFrame(&f1); if(f2.state!=HIT&&f2.state!=DEAD) UpdateFrame(&f2); UpdateInputs(&f1,p1input); UpdateInputs(&f2,p2input); ProcessInputs(&f1); ProcessInputs(&f2); FighterThink(&f2); FighterThink(&f1); FighterUpdate(&f1); FighterUpdate(&f2); } if(nexttimer>0){ if(f2.state==DEAD && f1.state==DEAD) DrawSprite(drawvic,screen,0,0,0); else if(f2.state==DEAD) DrawSprite(p1vic,screen,0,0,0); else DrawSprite(p2vic,screen,0,0,0); nexttimer--; }if(nexttimer==0){ nexttimer--; if(stage==ST_PLATFORM) stage = ST_FIELD; else stage = ST_PLATFORM; ClearFighter(&f1); ClearFighter(&f2); InitVersus(); } } else DrawPause(pausescr); }
// ************************************************************************** // // ****************************** Manipulators ****************************** // // ************************************************************************** // void Decepticon :: Draw() { glPushMatrix(); glTranslatef(0, transform_position, 0); glRotatef(-bend_angle, -1, 0, 0); glPushMatrix(); glTranslatef(0, -torso_length, 0); DrawBody(); // draw body glPushMatrix(); glTranslatef(0, 10, 20); glPushMatrix(); glTranslatef(0, 10, -20); if (display_mode == GL_POLYGON) { GLfloat mat_ambient[] = {1.0, 0.0, 1.0, 1.0}; GLfloat mat_diffuse[] = {1.0, 0.0, 1.0, 1.0}; glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); glutSolidTeapot(15); mat_ambient[0] = 0.0; mat_ambient[1] = 0.0; mat_ambient[2] = 1.0; mat_diffuse[0] = 0.0; mat_diffuse[1] = 0.0; mat_diffuse[2] = 0.8; glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); } // if statement glPopMatrix(); glRotatef(window_angle, 1, 0, 0); DrawWindow(); // draw window glPopMatrix(); glPushMatrix(); glTranslatef(50, 47.5, 15); glRotatef(left_shoulder_forward_angle, -1, 0, 0); glRotatef(left_shoulder_outward_angle, 0, 0, 1); glTranslatef(0, 0, left_shoulder_back); glRotatef(left_shoulder_rotate, 0, 1, 0); DrawShoulder(); // draw left shoulder glPushMatrix(); glTranslatef(0, 10, 0); glRotatef(left_shoulder_twist_angle, 0, 1, 0); DrawUpperArm(); // draw left upper arm glPushMatrix(); glTranslatef(9, -40, 0); glRotatef(left_elbow_forward_angle, -1, 0, 0); glTranslatef(0, left_lower_arm_retract, 0); DrawLowerArm(); // draw left lower arm glPopMatrix(); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(-50, 47.5, 15); glScalef(-1, 1, 1); glRotatef(right_shoulder_forward_angle, 1, 0, 0); glRotatef(right_shoulder_outward_angle, 0, 0, 1); glTranslatef(0, 0, right_shoulder_back); glRotatef(right_shoulder_rotate, 0, 1, 0); DrawShoulder(); // draw right shoulder glPushMatrix(); glTranslatef(0, 10, 0); glRotatef(right_shoulder_twist_angle, 0, 1, 0); DrawUpperArm(); // draw right upper arm glPushMatrix(); glTranslatef(9, -40, 0); glRotatef(right_elbow_forward_angle, 1, 0, 0); glTranslatef(0, right_lower_arm_retract, 0); DrawLowerArm(); // draw right lower arm glPopMatrix(); glPopMatrix(); glPopMatrix(); glTranslatef(0, torso_length, 0); DrawTorso(); // draw torso glPushMatrix(); glTranslatef(0, -15, 0); glRotatef(bend_angle, -1, 0, 0); glRotatef(hips_angle, -1, 0, 0); DrawHips(); // draw hips glPushMatrix(); glTranslatef(0, -12.5, 15); DrawRewind(); DrawFastForward(); DrawPlay(); DrawStop(); DrawPause(); glPushMatrix(); glTranslatef(22.5, -5, -15); glTranslatef(0, left_leg_drop, 0); glRotatef(left_leg_twist_angle, 0, 1, 0); glRotatef(left_leg_forward_angle, -1, 0, 0); glRotatef(left_leg_outward_angle, 0, 0, 1); glTranslatef(0, left_upper_leg_length, 0); DrawUpperLeg(); // draw left upper leg glPushMatrix(); glTranslatef(0, -65, 0); glTranslatef(0, left_lower_leg_length, 0); glRotatef(left_knee_angle, 1, 0, 0); DrawLowerLeg(); // draw left lower leg glTranslatef(0, -70, 5); glRotatef(left_foot_angle, 1, 0, 0); glTranslatef(0, 0, left_foot_retract); DrawFoot(); // draw left foot glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(-22.5, -5, -15); glTranslatef(0, right_leg_drop, 0); glRotatef(right_leg_twist_angle, 0, -1, 0); glRotatef(right_leg_forward_angle, -1, 0, 0); glRotatef(right_leg_outward_angle, 0, 0, -1); glTranslatef(0, right_upper_leg_length, 0); DrawUpperLeg(); // draw right upper leg glPushMatrix(); glTranslatef(0, -65, 0); glScalef(-1, 1, 1); glTranslatef(0, right_lower_leg_length, 0); glRotatef(right_knee_angle, 1, 0, 0); DrawLowerLeg(); // draw right lower leg glTranslatef(0, -70, 5); glRotatef(right_foot_angle, 1, 0, 0); glTranslatef(0, 0, right_foot_retract); DrawFoot(); // draw right foot glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); glPopMatrix(); } // DrawSoundwave
//================================================ //メインループ //================================================ void Luna::Main(long ArgNum, char *pArgStr[]) { //---------------------------------------- //全システムの開始 //---------------------------------------- if(Luna::Start() ) { //-------------------------------- //初期化処理 //-------------------------------- InitProcess(); //LunaInput::GetMouseData(&camera.Mouse); //LunaInput::GetMouseData(&camera.MouseOld); //-------------------------------- //ゲーム用ループ //-------------------------------- while(Luna::WaitForMsgLoop() ) { /*画面クリア*/ Luna3D::Clear(D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, COLOR_BLACK, 1.0f); //Luna3D::Clear(D3DCLEAR_TARGET, COLOR_WHITE); /*デバッグ画面クリア*/ // LunaDebug::Clear(); switch(g_GameMode) { case SCENE_INITIALIZE: { Initialize(); break; } case SCENE_LOGO: { //DrawLogo(); break; } case SCENE_TITLE: { DrawTitle(); break; } case SCENE_CHARSEL: { DrawCharaSelect(); break; } case SCENE_MAIN: { DrawMain(); break; } case SCENE_OPTION: { DrawOption(); break; } case SCENE_TUTOLIAL: { DrawTutorial(); break; } case SCENE_PAUSE: { DrawPause(); break; } case SCENE_PAUSEEXIT: { DrawPauseExit(); break; } case SCENE_ERROR: { DrawError(); break; } case SCENE_EXIT: { DrawExit(); break; } case SCENE_FADEIN: { Fadein(); break; } case SCENE_FADEOUT: { Fadeout(); break; } case SCENE_CONV: { Conversation(); break; } case SCENE_GAMECLEAR: { DrawGameClear(); break; } case SCENE_GAMEOVER: { DrawGameOver(); break; } case SCENE_CONTINUE: { DrawContinue(); break; } case SCENE_FINALIZE: { Finalize(); break; } } /*画面更新*/ Luna3D::Refresh(); /*デバッグ処理*/ // Debug(); } /*終了処理*/ Finalize(); } }