예제 #1
0
bool GameLoader::Initialise(HWND hWnd)
{
	if(!SUCCEEDED(InitialiseD3D(hWnd)))
	{
		return false;
	}

	InitialiseGame();
	return true;
}
예제 #2
0
void HydGraphics::Initialise(const int width, const int height, const bool fullscreen)
{
	m_width = width;
	m_height = height;
	m_fullscreen = fullscreen;

	InitialiseD3D();

	HydMaterialManager_Init(this);
	
	// - Initialize aligned elements
	HYD3D_pMats = HYDNEW_ALIGN(16) HydMatrices();
	HYD3D_bInit = true;
	HYD3D_bFullscreen = fullscreen;
}
예제 #3
0
void __cdecl main()
{
	int screenshot = 0;
	InitialiseD3D();
	g_pGamePads = new c_GamePads();
	g_pWorld = new c_World(g_pD3DDevice, g_pGamePads);

	D3DVIEWPORT8 viewport;

	viewport.Height = 5000;
	viewport.Width = 5000;
	viewport.X = 0;
	viewport.Y = 0;
	viewport.MinZ = 0.0f;
	viewport.MaxZ = 1.0f;

	DWORD WinnerColor = D3DCOLOR_XRGB(0, 0, 100);


	g_pWorld->pPlayer[0]->Dead = 1;
	g_pWorld->pPlayer[1]->Dead = 1;

	//DWORD musicresult = 0;
	//CWMAFileStream music;
	//music.Initialize("D:\\song1.wma");


	//XVideo video;

	//video.LoadVideo("D:\\test.xmv");
	//video.PlayVideo();

	if(g_pWorld->pPlayer[0]->Dead != 0 && g_pWorld->pPlayer[1]->Dead != 0)
	{
		WinnerColor = D3DCOLOR_XRGB(150, 0, 0);
		g_pWorld->pPlayer[0]->Dead = 0;
		g_pWorld->pPlayer[0]->TransX = 2.5f;
		g_pWorld->pPlayer[0]->TransY = 5.0f;
		g_pWorld->pPlayer[0]->Theta = 3.1415f/2.0f;
		g_pWorld->pPlayer[0]->Phi = 3.1415f/2.0f;
		g_pWorld->pPlayer[0]->Firing = 0;


		g_pWorld->pPlayer[1]->Dead = 0;
		g_pWorld->pPlayer[1]->TransX = 2.5f;
		g_pWorld->pPlayer[1]->TransY = 80.0f - 5.0f;
		g_pWorld->pPlayer[1]->Theta = -3.1415f/2.0f;
		g_pWorld->pPlayer[1]->Phi = 3.1415f/2.0f;
		g_pWorld->pPlayer[1]->Firing = 0;

		g_pWorld->pPlayer[2]->Dead = 0;
		g_pWorld->pPlayer[2]->TransX = 180.0f - 2.5f;
		g_pWorld->pPlayer[2]->TransY = 5.0f;
		g_pWorld->pPlayer[2]->Theta = 3.1415f/2.0f;
		g_pWorld->pPlayer[2]->Phi = 3.1415f/2.0f;
		g_pWorld->pPlayer[2]->Firing = 0;

		g_pWorld->pPlayer[3]->Dead = 0;
		g_pWorld->pPlayer[3]->TransX = 180.0f - 2.5f;
		g_pWorld->pPlayer[3]->TransY = 80.0f - 5.0f;
		g_pWorld->pPlayer[3]->Theta = -3.1415f/2.0f;
		g_pWorld->pPlayer[3]->Phi = 3.1415f/2.0f;
		g_pWorld->pPlayer[3]->Firing = 0;

		g_pWorld->bfirstblood = 0;

		g_pWorld->rumble->Play(0);

		for(int i=0; i<150; i++)
		{
			g_pWorld->Balls[i].State = 0;
		}
		g_pWorld->wait = 1200;
	}
	while(true)
	{
		//music.Process(&musicresult);
		//DirectSoundDoWork();

		g_pGamePads->GetInput();

		if(	(g_pGamePads->pGP1->wButtons &  XINPUT_GAMEPAD_START) &&
			(g_pGamePads->pGP1->wButtons &  XINPUT_GAMEPAD_BACK) )
			ReBoot();

		if(g_pGamePads->pGP1->wButtons & XINPUT_GAMEPAD_DPAD_DOWN)
		{
			if(screenshot == 0)
			{
				screenshot = 1;
				CaptureScreen(g_pD3DDevice, "D:\\screen.bmp"); 
			}
		}
		if(g_pWorld->pPlayer[0]->Dead != 0 && g_pWorld->pPlayer[1]->Dead != 0)
		{
			WinnerColor = D3DCOLOR_XRGB(150, 0, 0);
			g_pWorld->pPlayer[0]->Dead = 0;
			g_pWorld->pPlayer[0]->TransX = 2.5f;
			g_pWorld->pPlayer[0]->TransY = 5.0f;
			g_pWorld->pPlayer[0]->Theta = 3.1415f/2.0f;
			g_pWorld->pPlayer[0]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[0]->Firing = 0;

			g_pWorld->pPlayer[1]->Dead = 0;
			g_pWorld->pPlayer[1]->TransX = 2.5f;
			g_pWorld->pPlayer[1]->TransY = 80.0f - 5.0f;
			g_pWorld->pPlayer[1]->Theta = -3.1415f/2.0f;
			g_pWorld->pPlayer[1]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[1]->Firing = 0;

			g_pWorld->pPlayer[2]->Dead = 0;
			g_pWorld->pPlayer[2]->TransX = 180.0f - 2.5f;
			g_pWorld->pPlayer[2]->TransY = 5.0f;
			g_pWorld->pPlayer[2]->Theta = 3.1415f/2.0f;
			g_pWorld->pPlayer[2]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[2]->Firing = 0;

			g_pWorld->pPlayer[3]->Dead = 0;
			g_pWorld->pPlayer[3]->TransX = 180.0f - 2.5f;
			g_pWorld->pPlayer[3]->TransY = 80.0f - 5.0f;
			g_pWorld->pPlayer[3]->Theta = -3.1415f/2.0f;
			g_pWorld->pPlayer[3]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[3]->Firing = 0;

			g_pWorld->bfirstblood = 0;

			g_pWorld->redwins->Play(0);
			(g_pWorld->CurrLevel)++;
			if(g_pWorld->CurrLevel == 5)
				g_pWorld->CurrLevel = 0;
			(g_pWorld->Boards) = &((g_pWorld->BoardsAll)[g_pWorld->CurrLevel][0]);

			for(int i=0; i<150; i++)
			{
				g_pWorld->Balls[i].State = 0;
			}
			g_pWorld->wait = 800;
		}
		
		if(g_pWorld->pPlayer[2]->Dead != 0 && g_pWorld->pPlayer[3]->Dead != 0)
		{
			WinnerColor = D3DCOLOR_XRGB(0, 0, 150);
			g_pWorld->pPlayer[0]->Dead = 0;
			g_pWorld->pPlayer[0]->TransX = 2.5f;
			g_pWorld->pPlayer[0]->TransY = 5.0f;
			g_pWorld->pPlayer[0]->Theta = 3.1415f/2.0f;
			g_pWorld->pPlayer[0]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[0]->Firing = 0;

			g_pWorld->pPlayer[1]->Dead = 0;
			g_pWorld->pPlayer[1]->TransX = 2.5f;
			g_pWorld->pPlayer[1]->TransY = 80.0f - 5.0f;
			g_pWorld->pPlayer[1]->Theta = -3.1415f/2.0f;
			g_pWorld->pPlayer[1]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[1]->Firing = 0;

			g_pWorld->pPlayer[2]->Dead = 0;
			g_pWorld->pPlayer[2]->TransX = 180.0f - 2.5f;
			g_pWorld->pPlayer[2]->TransY = 5.0f;
			g_pWorld->pPlayer[2]->Theta = 3.1415f/2.0f;
			g_pWorld->pPlayer[2]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[2]->Firing = 0;

			g_pWorld->pPlayer[3]->Dead = 0;
			g_pWorld->pPlayer[3]->TransX = 180.0f - 2.5f;
			g_pWorld->pPlayer[3]->TransY = 80.0f - 5.0f;
			g_pWorld->pPlayer[3]->Theta = -3.1415f/2.0f;
			g_pWorld->pPlayer[3]->Phi = 3.1415f/2.0f;
			g_pWorld->pPlayer[3]->Firing = 0;

			g_pWorld->bfirstblood = 0;

			g_pWorld->bluewins->Play(0);
		
			(g_pWorld->CurrLevel)++;
			if(g_pWorld->CurrLevel == 5)
				g_pWorld->CurrLevel = 0;
			(g_pWorld->Boards) = &((g_pWorld->BoardsAll)[g_pWorld->CurrLevel][0]);

			for(int i=0; i<150; i++)
			{
				g_pWorld->Balls[i].State = 0;
			}
			g_pWorld->wait = 800;
		}

		g_pD3DDevice->SetViewport(&viewport);

		g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, WinnerColor, 0.0f, 0);

		g_pD3DDevice->BeginScene();

		g_pWorld->UpdateWorld();

		g_pD3DDevice->EndScene();

		g_pD3DDevice->Present(NULL, NULL, NULL, NULL);
	}
}