Exemplo n.º 1
0
void P_run()
{
	if(window.isActive)
	{
		double elapsed_time;
		double current_time = T_GetCurrentTime();
		if(movesize_time < 0.05f)
			movesize_time = 0.0f;
		elapsed_time = (current_time - last_game_time - movesize_time) + remaining_game_time ;
		movesize_time = 0.0f;
		while (elapsed_time >= S_PER_GAME_UPDATE*fps_mult)
		{
			G_update(elapsed_time);
			elapsed_time -= S_PER_GAME_UPDATE*fps_mult;
		}
		remaining_game_time = elapsed_time;
		last_game_time = current_time;

		P_computeFPS();
		R_draw(window.hDC);

		if(btogglefullscreen || bmodechange)
		{
			last_movesize_time = T_GetCurrentTime();
			if(btogglefullscreen)
			{
				P_cleanup();
				window.createGLWindow(true);
				btogglefullscreen = false;
				GL_initializeGLObjects();
			}
			else
			{
				window.createGLWindow(false);
				bmodechange = false;
			}
			movesize_time = T_GetCurrentTime() - last_movesize_time;
		}
	}
}
Exemplo n.º 2
0
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
				   LPSTR lpCmdLine, int iCmdShow)
{	
	MSG msg;
	BOOL quit = FALSE;

	G_initializeGame();
	window.createGLWindow("Level Editor", WndProc);
	GL_initializeGLObjects();

	ShowWindow(window.hWnd,SW_SHOW);

	last_game_time = T_GetCurrentTime();

	while ( !quit )
	{
		if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE )  )
		{
			if ( msg.message == WM_QUIT ) 
			{
				quit = TRUE;
			} 
			else 
			{
				TranslateMessage( &msg );
				DispatchMessage( &msg );
			}
		} 
		else 
		{
			P_run();
		}
	}

	P_cleanup();
	window.destroyGLWindow();
	return msg.wParam;
}