Exemple #1
0
DWORD CViewGame::Initialize()
{
	GameInitialize();
	memset(&BackDCPFD,0,sizeof(BackDCPFD));
	BackDCPFD.nSize			=sizeof(BackDCPFD);
	BackDCPFD.nVersion		=1;
	BackDCPFD.dwFlags		=PFD_SUPPORT_OPENGL|PFD_SUPPORT_GDI|PFD_DRAW_TO_BITMAP|PFD_GENERIC_FORMAT;
	BackDCPFD.iPixelType	=PFD_TYPE_RGBA;
	BackDCPFD.cColorBits	=16;
	BackDCPFD.cDepthBits	=32;
	BackDCPFD.iLayerType	=PFD_MAIN_PLANE;
	BackDC=NULL;
	BackBmp=NULL;
	BackDCPFI=0;
	BackOldBmp=NULL;
	BackRC=NULL;
	FrontDC=NULL;
	FrontDD=NULL;
	FrontDDS=NULL;
	OnPlay=false;
	WTime=INFINITE;
	Game_ColX=0;
	Game_ColY=0;
	Game_ColZ=-30;
	Game_Misil_SX=0;
	Game_Misil_SZ=0;
	Game_Misil_SY=-1;
	angulo=0;

	//BackThread=AfxBeginThread(ThreadProc,this,THREAD_PRIORITY_NORMAL,0,0,NULL);
	return 0;
}
Exemple #2
0
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevHInstance, LPSTR lpCmdline, INT nCmdshow)
{
	g_hInstance = hInstance;

	WNDCLASSEX wndClass;
	memset(&wndClass, 0, sizeof(WNDCLASSEX));
	wndClass.cbSize = sizeof(WNDCLASSEX);
	wndClass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
	wndClass.lpfnWndProc = WindowProc;
	wndClass.cbClsExtra = 0;
	wndClass.cbWndExtra	= 0;
	wndClass.hInstance	= hInstance;
	wndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
	wndClass.lpszMenuName = NULL;
	wndClass.lpszClassName = WND_CLASS_NAME;

	if (!RegisterClassEx(&wndClass))
	{
		return 0;
	}

	g_hwnd = CreateWindowEx(NULL, WND_CLASS_NAME, WND_TITLE, WS_POPUP | WS_VISIBLE, WND_X, WND_Y, WND_WIDTH, WND_HEIGHT, NULL, NULL, hInstance, NULL);
	if (g_hwnd == NULL)
	{
		return 0;
	}

	ShowWindow(g_hwnd, nCmdshow);
	UpdateWindow(g_hwnd);

	if(!GameInitialize())
	{
		return 0;
	}

	MSG msg;
	while(TRUE)
	{
		if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
		{ 
			if (msg.message == WM_QUIT)
			{
				break;
			}

			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		GameLoop();
	}

	GameRelease();

	return 0;
}
Exemple #3
0
int main( int argc, char* args[] )
{
	if(!InitializeEngine())
	{
		printf( "Failed to initialize!\n" );
		return 1;
	}
	if(!GameInitialize())
	{
		printf( "Failed to load media!\n" );
		return 2;
	}


	//Main loop flag
	bool quit = false;

	//Event handler
	SDL_Event e;
	Uint32 nStartTime = 0;
	Uint32 nFrameTime = 0;
	//While application is running
	while( !quit )
	{
		//Handle events on queue
		while( SDL_PollEvent( &e ) != 0 )
		{
			//User requests quit
			if( e.type == SDL_QUIT )
			{
				quit = true;
			}
			else
			{
				KeyEventListenerManager::Instance().HandlerEvent(e);
			}
		}
		nStartTime = SDL_GetTicks();
		
		GameLoop(nFrameTime);

		nFrameTime = SDL_GetTicks() - nStartTime;
	}

	// Release any and all resources.
	GameShutdown();
	ShutdownEngine();

	return 0;
}
//=============================================================
//Windows Functions
//=============================================================
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
				   PSTR szCmdLine, int iCmdShow)
{
	MSG			msg;
	static int	iTickTrigger = 0;
	int			iTickCount;

	if (GameInitialize(hInstance))
	{
		//Initialize the game engine
		if (!GameEngine::GetEngine()->Initialize(iCmdShow))
			return FALSE;

		//Enter the main message loop
		while (TRUE)
		{
			if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
			{
				//Process the message
				if (msg.message == WM_QUIT)
					break;
				TranslateMessage(&msg);
				DispatchMessage(&msg);
			}
			else
			{
				//Make sure the game engine isn't sleeping
				if (!GameEngine::GetEngine()->GetSleep())
				{
					//Check the tick count to see if a game cycle has elapsed
					iTickCount = GetTickCount();
					if (iTickCount > iTickTrigger)
					{
						iTickTrigger = iTickCount +
							GameEngine::GetEngine()->GetFrameDelay();
						HandleKeys();
						GameCycle();
					}
				}
			}
		}
		return (int)msg.wParam;
	}

	//End the game
	GameEnd();

	return TRUE;
}
int WINAPI WinMain(HINSTANCE h, HINSTANCE p, LPSTR cmd, int show)
{
   // Register the window class
   WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc,
                     0L, 0L, GetModuleHandle(NULL), NULL, NULL,
                     NULL, NULL, WINDOW_CLASS, NULL };
   RegisterClassEx(&wc);

   // Create the application's window
   if(FULLSCREEN)
      {
		 g_hwnd = CreateWindowEx(NULL, WINDOW_CLASS, WINDOW_NAME,
                        WS_POPUP | WS_SYSMENU | WS_VISIBLE, 0, 0,
                        WIN_WIDTH, WIN_HEIGHT,
                        NULL, NULL, h, NULL);
      }
   else
      {
		 const int sys_min_height = GetSystemMetrics(SM_CYMIN);  
		 const int sys_caption_height = GetSystemMetrics(SM_CYSMCAPTION);  
		 g_hwnd = CreateWindowEx(NULL, WINDOW_CLASS, WINDOW_NAME,
                              WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0,
                              0, WIN_WIDTH + (sys_min_height - sys_caption_height),
							  WIN_HEIGHT + sys_min_height,
                              NULL, NULL, h, NULL);
      }

   if(g_hwnd)
      {
         // Show the window
         ShowWindow(g_hwnd, SW_SHOWDEFAULT);
         UpdateWindow(g_hwnd);
      }

   // Initialize the Stranded Engine.
   if(InitializeEngine())
      {
         // Initialize Stranded game.
         if(GameInitialize())
            {
               // Enter the message loop
               MSG msg;
               ZeroMemory(&msg, sizeof(msg));

               SetCursorPos(0, 0);

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

   // Release any and all resources.
   GameShutdown();
   ShutdownEngine();

   UnregisterClass(WINDOW_CLASS, wc.hInstance);
   return 0;
}