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();
    }
Example #2
0
//+++++++++++++++++++++++++++++++++++++++++++++++++
// ゲーム本編の更新処理
//-------------------------------------------------
// ゲームのメイン処理部分
//--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;
		}
	}
}