void CMemSpyEngineHelperSysMemTrackerEntryOpenFile::ConstructL( const CMemSpyEngineOpenFileListForThread& aThreadInfo, const CMemSpyEngineOpenFileListEntry& aEntryInfo ) { // Get basic details iThreadName = aThreadInfo.ThreadName().AllocL(); SetThread( aThreadInfo.ThreadId() ); SetProcess( aThreadInfo.ProcessId() ); // Set file details iFileName = aEntryInfo.FileName().AllocL(); iSize = aEntryInfo.Size(); iUniqueFileId = aEntryInfo.UniqueFileId(); }
//+++++++++++++++++++++++++++++++++++++++++++++++++ // ゲーム本編の更新処理 //------------------------------------------------- // ゲームのメイン処理部分 //--in--------------------------------------------- // ウィンドウハンドル //--out-------------------------------------------- // なし //+++++++++++++++++++++++++++++++++++++++++++++++++ void GameMain(HWND hWnd) { #if (DEBUG_ON) TCHAR str[256]; g_szDebug[0] = _T('\0'); //デバッグ ストリング バッファ初期化 _stprintf_s(str, _T("FPS = %.1f PLAYER_POS: X:%.1f Y:%.1f Z:%.1f \n NUM: 1:%f 2:%f 3:%f \n"), GetFPS(), x, y, z, num1, num2, num3); lstrcat(g_szDebug, str); #endif VECTOR3 vecx, vecy; //画面遷移 switch(g_nStatus) { case INIT: CreateClass(); //クラス領域の確保とロード p_Field->Init(); //フィールド p_Result->Init(); g_loadFlg = false; SetThread(); g_nStatus = LOADING; //スルー case LOADING: if(g_loadFlg) { g_nStatus = STARTINIT; CloseHandle(Loadhandle); } break; case STARTINIT: p_Op->Init(); //オープニング p_Camera->ResetOp(); //カメラのリセット g_nStatus = START; break; case START: p_Camera->SetOpCamera(); //カメラのセット if(p_Op->Update()) g_nStatus = MENU_INIT; break; case MENU_INIT: p_Camera->ResetOp(); //カメラのリセット p_Select->Init(); g_nStatus = MENU; break; case MENU: p_Camera->SetOpCamera(); //カメラのセット if(p_Select->Update()) { switch(p_Select->GetSelect()) { case 0: p_SE->PlaySE(YES); g_nStatus = GAME_INIT_START; p_Select->Release(); break; case 1: break; case 2: break; case 3: g_nStatus = END; p_Select->Release(); break; default:break; } } num3 = (float)p_Select->GetSelect(); break; case GAME_INIT_START: g_loadFlg = false; p_Ambient->Init(); //環境 p_Score->Init(); //スコアの初期化 p_Player->Init(); //プレイヤー p_Enemy->Init(p_Player); //エネミー p_PlayerHpBar->Init(); //プレイヤーバー p_BossHpBar->Init(); //ボスバー p_2D->Init(); //SetThread(); g_nStatus = GAME_INIT; //スルー case GAME_INIT: //生成 //p_Score->Load(); //p_Ambient->Load(); //p_Player->Load(); //p_Enemy->Load(); //p_BossHpBar->Load(); p_2D->Load(); p_EffectMng->Load(); //リセット p_Ambient->Reset(); //環境のリセット p_Player->Reset(); //プレイヤーのリセット p_Score->Reset(); //スコアのリセット p_Enemy->Reset(); //エネミーのリセット p_Camera->ResetGame(); //カメラのリセット p_PlayerHpBar->Reset(); p_BossHpBar->Reset(); p_Time->Reset(); g_CubeFlg = true; //SetExecTime(timeGetTime()); //if(g_loadFlg) //{ // CloseHandle(Loadhandle); g_nStatus = GAME_FILLER_START; //} break; case GAME_FILLER_START: if(p_2D->Update()) { g_nStatus = GAME; p_2D->Reset(); p_Time->Start(); p_2D->m_Cnt = 0; p_SE->PlayBG(BG_GAME_NORMAL); } break; case GAME_RESET: //リセット p_Player->Reset(); //プレイヤーのリセット p_Camera->ResetGame(); //カメラのリセット p_PlayerHpBar->Reset(); p_BossHpBar->Reset(); g_nStatus = GAME; break; case GAME: if(GetAsyncKeyState(VK_F12)&0x0001) g_CubeFlg ^= 1; p_Time->Update(); p_Score->Update(p_Enemy->m_DeadCnt, p_Enemy->m_BossCnt); //スコア p_Field->Update(); //地形 p_Camera->GetVecCamera(); //カメラ p_Enemy->Update(); //エネミー p_Player->Update(p_Camera->vecx, p_Camera->vecz); //プレイヤー p_Collision->Update(); //衝突判定 p_Ambient->Update(p_Enemy->m_DeadCnt, p_Enemy->m_pEnemyBoss->m_AppearBoss); p_PlayerHpBar->Update(p_Player->m_Life, 100); //プレイヤーのHPバー p_BossHpBar->Update(p_Enemy->m_pEnemyBoss->m_Life, 100); //ボスのHPバー //ボスが生きていてL1が押された時Z注目をする if(pInput->GetBtnState(BTN_L1) == PRESS && p_Enemy->m_pEnemyBoss->m_Live) { p_Camera->SetOperatable(false); } //L1が離されたときは通常処理に戻す else if( pInput->GetBtnState(BTN_L1) == RLS ) { p_Camera->SetOperatable(true); } if(pInput->GetBtnState(BTN_L2) == PRESS && pInput->GetBtnState(BTN_B) == PRESS ) { p_Enemy->m_DeadCnt = 100; //デバグボス出現用 } p_Camera->Update(p_Player->m_Pos, p_Enemy->m_pEnemyBoss->m_Pos); p_EffectMng->UpDate(); { //デバック表示用 x = p_Player->m_Pos.x; y = p_Player->m_Pos.y; z = p_Player->m_Pos.z; num1 = p_Player->m_Matrix._11; num2 = (float)p_Enemy->m_pEnemyBoss->m_Life; //rad = p_Player->m_Matrix._13; //num3 = (float)p_Player->m_Life; num3 = p_PlayerHpBar->nM; } //結果 if(p_Enemy->m_BossCnt) g_nStatus = GAME_FILLER_END; if(p_Player->m_bRetry) g_nStatus = GAME_FILLER_END; #if (DEBUG_ON) //デバック用 if(GetAsyncKeyState(VK_RETURN) & 0x0001) g_nStatus = GAME_FILLER_END; #endif break; case GAME_FILLER_END: g_nStatus = RESULT_INIT; break; case RESULT_INIT: p_SE->StopBG(BG_GAME_BOSS); p_SE->PlayBG(BG_RESULT); p_Camera->ResetOp(); //カメラのリセット OPと同じ p_Camera->SetOpCamera(); //カメラのセット p_Result->Init(); g_nStatus = RESULT; break; case RESULT: if(p_Result->Update()) { p_SE->StopBG(BG_RESULT); p_Result->Release(); g_nStatus = MENU_INIT; } break; case ENDINIT: //g_nStatus = MENU_INIT; break; case END: p_SE->del(); //サウンドの開放 DeCreateClass(); //クラスの解放 g_bEnd = true; //ゲーム終了 return; default:break; } if(pInput != NULL) { pInput->Update(); //プレゼン用 if(pInput->GetBtnState(BTN_L1) == PRESS && pInput->GetBtnState(BTN_R1) == PRESS && pInput->GetBtnState(BTN_L2) == PRESS && pInput->GetBtnState(BTN_R2) == PRESS) { p_SE->Reset(); //サウンドリセット g_nStatus = STARTINIT; } } }