亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? capplication.cpp

?? 一個2D的賽車游戲 在VC下運行 開發庫DIRECTX8.1以上
?? CPP
字號:
// CMAIN LIB - APPLICATION AND DIRECT WRAPPER
//
// Written by Mauricio Teichmann Ritter
//
// Copyright (C) 2002, Brazil. All rights reserved.
// 
//

#include "cApplication.h"


cApplication* CreateApplication();
cApplication* pApp;

cApplication* GetMainApp()
{
	return pApp;
}


long FAR PASCAL MainWndproc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
    switch( message )
    {
    case WM_SIZE:
        // Check to see if we are losing our window...
        if( SIZE_MAXHIDE==wParam || SIZE_MINIMIZED==wParam )
            GetMainApp()->m_bActive = FALSE;
        else
            GetMainApp()->m_bActive = TRUE;

        break;
	case WM_CREATE:
        break;
	case WM_CLOSE:
    case WM_DESTROY:
        PostQuitMessage(0);
        break;

    default:
        break;
    }
    return DefWindowProc(hWnd, message, wParam, lParam);

} /* MainWndproc */


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int iCmdShow)
{
	cApplication::m_hInst = hInst;


	pApp = CreateApplication();


	CoInitialize(NULL);

	if(!pApp->InitApplication())
	{
		MessageBox(NULL, "Error Starting up application.\n Close all open programs and try again.", "Error", MB_ICONERROR);
		return 0;
	}

	if(!pApp->InitDirectX())
	{
		MessageBox(NULL, "Error Starting up DirectX.\n Check if you have Microsoft DirectX correctly installed on your machine.\n You can download the latest version from http://www.microsoft.com/directx.", "Error", MB_ICONERROR);
		return 0;
	}

	// Call virtual function to tell the derived class that with
	// have setup everything
	pApp->AppInitialized();

	// Start Message Loop
	pApp->RunApplication();

	delete pApp;

	return 0;
}


cApplication::cApplication()
{
	m_pDD          = NULL;
	m_pFrontBuffer = NULL;
	m_pBackBuffer  = NULL;
	
	m_ColorDepth   = 16;
	m_ScreenWidth  = 640;
	m_ScreenHeight = 480;

	m_bDontFlip = false;

	m_bActive = TRUE;
};



cApplication::~cApplication()
{
    // Time for cleanup
	//     
    if( m_pBackBuffer != NULL )
        m_pBackBuffer->Release();

	if( m_pFrontBuffer != NULL )
        m_pFrontBuffer->Release();

    if( m_pDD != NULL )
        m_pDD->Release();

	CoUninitialize();
};

HINSTANCE cApplication::m_hInst = NULL;

void cApplication::DoIdle()
{
	return;
}

BOOL cApplication::InitApplication()
{
	m_bActive = TRUE;
	// First Try to register the window
	if(FAILED(m_pWindow.RegisterWindow(m_lpszwndClassName)))
		return FALSE;

	// Then try to create it
	if(!m_pWindow.Create(m_lpszAppName))
		return FALSE;

	return TRUE;
}

BOOL cApplication::RunApplication()
{
	// MessageLoop implementation
	// The DoIdle function is a virtual function that can be implemented
	// In the derived class

    MSG            msg; 
	BOOL		   bContinue = TRUE;
	HRESULT		   hRet;

    while (bContinue) 
	{
		// Check the message pool
		if( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) )
        {
            if(msg.message == WM_QUIT)
			{
				ExitApp();
			}
			if( !GetMessage( &msg, NULL, 0, 0 ) )
            {
                return msg.wParam;
            }
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
		else
		{
			// Nothing to do... idle;
			DoIdle();

			if(pApp->m_bActive)
			{
				if(m_bDontFlip == false)
				{
					hRet = m_pFrontBuffer->Flip(NULL, 0 );
					if(hRet != DD_OK)
					{
						DXTRACE_MSG("Error Flipping Front Buffer !\n");
					}
				}
				else
					m_bDontFlip = false;
			}
			else
			{
				WaitMessage();
			}
		}
	}

    return TRUE;
}

BOOL cApplication::InitDirectX()
{
	HRESULT			hRet;
	LPDIRECTDRAW	pDD;

    DDSURFACEDESC2		ddsd;
    DDSCAPS2			ddscaps;


	// First of all, create the DirectX object
	hRet = DirectDrawCreate( NULL, &pDD, NULL );
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}

    // Fetch DirectDraw7 interface
    hRet = pDD->QueryInterface(IID_IDirectDraw7, (LPVOID*)&m_pDD);
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}

	// Since we don磘 need this DirectDraw interface anymore, release it
	pDD->Release();
    
	// Set cooperative level to fullscreenn
	hRet = m_pDD->SetCooperativeLevel(m_pWindow.GetHWnd(), DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}
    
	
	// Set Display mode
    hRet = m_pDD->SetDisplayMode(m_ScreenWidth, m_ScreenHeight, m_ColorDepth, 0, 0 );
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}

	
    // Create Main Surfaces
	// We磍l not use cSurface here because we only need reference of this
	// two guys
    ZeroMemory( &ddsd, sizeof( ddsd ) );

    ddsd.dwSize = sizeof( ddsd );
    ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
    
	ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
                          DDSCAPS_FLIP |
                          DDSCAPS_COMPLEX;
							
    ddsd.dwBackBufferCount = 1;
    
	hRet = m_pDD->CreateSurface(&ddsd, &m_pFrontBuffer, NULL );
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}

    // get a pointer to the back buffer
    
	ZeroMemory(&ddscaps, sizeof(ddscaps));

	ddscaps.dwCaps = DDSCAPS_BACKBUFFER;
    hRet = m_pFrontBuffer->GetAttachedSurface(
                &ddscaps,
                &m_pBackBuffer);
	if(hRet != DD_OK)
	{
		// if failed, quit the app
		return FALSE;
	}

	// All OK ! :)
	return TRUE;
}

LPDIRECTDRAW7 cApplication::GetDirectDraw()
{
	return m_pDD;
}

void cApplication::AppInitialized()
{

}

void cApplication::ExitApp()
{

}

HWND cApplication::GetMainWnd()
{
	return m_pWindow.GetHWnd();
}

void cApplication::PreventFlip()
{
	m_bDontFlip = true;
}

#ifdef _DEBUG
void Log(char* sFormat, ...)
{
	FILE*  pFile;
	char buffer[1024];
	va_list marker;

	va_start( marker, sFormat );
	pFile = fopen("log.txt", "a+");

	vsprintf(buffer, sFormat, marker);

	fputs(buffer, pFile);
	OutputDebugString(buffer);
	va_end( marker );
	fclose(pFile);
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂成人免费av电影一区| 久久精品国产秦先生| 国产欧美一区二区三区鸳鸯浴| 91精品国产aⅴ一区二区| 欧美日韩国产首页| 制服丝袜亚洲精品中文字幕| 91精品国产一区二区三区| 欧美精品国产精品| 日韩欧美资源站| 久久久久久99久久久精品网站| 亚洲精品一区二区精华| 精品盗摄一区二区三区| 久久精品一区二区| 中文字幕一区二区在线观看| 亚洲精品免费一二三区| 亚洲综合色成人| 日韩精品1区2区3区| 老色鬼精品视频在线观看播放| 麻豆久久久久久| 国产黄色精品网站| 99视频超级精品| 色屁屁一区二区| 欧美一区二区三区日韩| 久久青草国产手机看片福利盒子 | 91黄色免费看| 欧美视频精品在线| 欧美一区二区三区四区五区 | 亚洲一区二区欧美| 日韩影院精彩在线| 国产精品一区二区视频| 91免费国产在线| 7777精品伊人久久久大香线蕉最新版 | 国产精品白丝av| 99riav久久精品riav| 欧美日韩国产美| 欧美成人a视频| 国产精品久久久久桃色tv| 亚洲成精国产精品女| 久久成人久久鬼色| 99国产精品99久久久久久| 欧美高清视频一二三区| 久久九九影视网| 一区二区久久久久| 国内外精品视频| 在线一区二区视频| 久久综合九色综合97婷婷| 亚洲天堂久久久久久久| 蜜臀av性久久久久蜜臀aⅴ| 国产高清精品在线| 91久久精品国产91性色tv| 日韩欧美在线网站| 亚洲欧洲性图库| 青青青伊人色综合久久| 99国产精品久久久久久久久久| 日韩一卡二卡三卡四卡| 一区二区三区四区不卡在线| 色婷婷综合久久久中文一区二区| 欧美精品v日韩精品v韩国精品v| 亚洲国产精品成人综合 | 成人美女在线视频| 欧美男女性生活在线直播观看| 国产网红主播福利一区二区| 亚洲成人综合视频| av高清不卡在线| 日韩久久免费av| 亚洲国产另类精品专区| caoporn国产一区二区| 精品日韩在线观看| 天天色天天操综合| 色一区在线观看| 国产精品高潮呻吟| 国产美女在线观看一区| 欧美肥大bbwbbw高潮| 亚洲制服丝袜av| 91网页版在线| 国产精品欧美一级免费| 狠狠色伊人亚洲综合成人| 欧美日韩美少妇| 一区二区三区四区在线免费观看 | 欧美日韩精品专区| 亚洲日本在线视频观看| 国产成a人亚洲精| 久久久夜色精品亚洲| 蜜桃免费网站一区二区三区| 欧美日本一区二区三区四区| 亚洲综合激情网| 91免费观看视频在线| 国产精品人妖ts系列视频| 国产最新精品免费| 精品嫩草影院久久| 免费成人在线观看视频| 在线观看区一区二| 亚洲精品中文字幕在线观看| 91一区二区在线观看| 国产精品毛片大码女人| 成人aaaa免费全部观看| 国产精品情趣视频| 成人做爰69片免费看网站| 国产欧美va欧美不卡在线| 国产成人免费在线| 国产日产欧美一区二区视频| 国产传媒久久文化传媒| 久久久不卡网国产精品一区| 极品销魂美女一区二区三区| 久久综合久久综合久久| 国产成人精品亚洲777人妖 | 国产99精品国产| 久久你懂得1024| 成人综合日日夜夜| 国产精品理论片在线观看| 91性感美女视频| 亚洲人成小说网站色在线| 色综合久久天天综合网| 一区二区三区在线看| 欧美日韩综合色| 美女性感视频久久| 国产亚洲视频系列| 成人激情av网| 亚洲男女一区二区三区| 欧美色区777第一页| 蜜桃视频在线观看一区二区| 欧美一区二区免费视频| 国产真实乱偷精品视频免| 国产欧美在线观看一区| 99综合影院在线| 亚洲国产毛片aaaaa无费看| 日韩限制级电影在线观看| 韩国精品在线观看| 欧美激情综合在线| 色噜噜夜夜夜综合网| 免费美女久久99| 久久久久久久久久电影| 色呦呦日韩精品| 日韩国产欧美在线观看| 国产日韩欧美精品综合| 在线观看日韩电影| 狠狠色丁香婷婷综合久久片| 亚洲日本一区二区| 欧美精品日韩精品| 国产成a人无v码亚洲福利| 亚洲图片欧美视频| 精品国产电影一区二区| 91在线无精精品入口| 奇米影视在线99精品| 国产精品传媒视频| 91精品国产入口| 成人激情图片网| 日本少妇一区二区| 国产精品欧美一区二区三区| 7777精品久久久大香线蕉| 国产高清一区日本| 视频在线观看91| 国产精品久久久99| 日韩一区二区在线观看视频播放| 高清shemale亚洲人妖| 香蕉影视欧美成人| 国产精品三级视频| 日韩欧美的一区| 在线观看国产日韩| 国产 欧美在线| 天堂精品中文字幕在线| 国产精品国产自产拍高清av王其 | 国产精品久久久久三级| 欧美一区二区三区影视| 91视频免费播放| 韩国精品主播一区二区在线观看| 亚洲一区二区三区小说| 久久久久久久电影| 欧美日韩在线观看一区二区| 成人永久免费视频| 美女久久久精品| 亚洲一区二区中文在线| 中文字幕电影一区| 91麻豆精品国产综合久久久久久| av网站免费线看精品| 国产一区二区影院| 奇米综合一区二区三区精品视频 | 国产91丝袜在线18| 麻豆成人91精品二区三区| 亚洲国产美国国产综合一区二区| **性色生活片久久毛片| 久久久久久久久99精品| 日韩你懂的在线观看| 欧美日韩中文字幕一区二区| 91浏览器打开| 99久久夜色精品国产网站| 国产精品996| 美美哒免费高清在线观看视频一区二区 | 综合久久久久综合| 欧美激情一区二区三区蜜桃视频| 日韩欧美激情四射| 日韩视频一区二区在线观看| 欧美猛男男办公室激情| 欧美日韩一区小说| 欧美亚洲一区三区| 色婷婷久久久综合中文字幕 | 欧美大片国产精品| 日韩一区二区三区视频| 在线播放国产精品二区一二区四区 | 国产成人午夜精品5599|