⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d3dapplication.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// D3DApplication.h: interface for the CD3DApplication class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_D3DAPPLICATION_H__FD418114_0791_4CFA_AD2D_032D1321946F__INCLUDED_)
#define AFX_D3DAPPLICATION_H__FD418114_0791_4CFA_AD2D_032D1321946F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//-----------------------------------------------------------------------------
// Defines, and constants
//-----------------------------------------------------------------------------
// Error codes
#define DONUTSERR_NODIRECT3D       0x00000001
#define DONUTSERR_NOD3DDEVICE      0x00000002
#define DONUTSERR_ARTLOADFAILED    0x00000003
#define DONUTSERR_NOINPUT          0x00000004

// States the app can be in
enum APP_STATE_TYPE
{ 
    APPSTATE_LOADSPLASH, 
    APPSTATE_DISPLAYSPLASH, 
    APPSTATE_ACTIVE, 
    APPSTATE_WAITFORMUSICEND, 
    APPSTATE_TRIGGERLEVELSCREEN, 
    APPSTATE_BEGINLEVELSCREEN, 
    APPSTATE_DISPLAYLEVELSCREEN, 
    APPSTATE_BEGINACTIVESCREEN 
};

//-----------------------------------------------------------------------------
// Function prototypes
//-----------------------------------------------------------------------------

struct FRECT
{
    float top;
    float bottom;
    float left;
    float right;
};

class CDrawEx;

class CD3DApplication  
{
public:
	CD3DApplication();
	virtual ~CD3DApplication();
	
	virtual HRESULT		Create( HINSTANCE hInstance );
	INT					Run();
	LRESULT				MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
	
	DWORD				GetScreenWidth() { return m_dwScreenWidth; }
	DWORD				GetScreenHeight() { return m_dwScreenHeight; }
	float				GetAppTime() { return m_fTime; }
	BOOL				IsFullScreen() { return m_bFullScreen; }
	LPDIRECT3DDEVICE9	GetD3dDevice() { return m_pd3dDevice; }
	HWND				GetWindowHandle() { return m_hWndMain; }
	// Error handling
	VOID				CleanupAndDisplayError( DWORD dwError, TCHAR* strArg1, TCHAR* strArg2 );

	virtual INT			Render() = 0;

//#ifdef _DEBUG
//	VOID				PrintFPS( float dt, float dfps );
	VOID				PrintFPS( float dt, float dfps );
	VOID				PrintLAYER( float dt, float layer );
	VOID				UpdateFrameRate();
	LPD3DXFONT			m_pFPSFont;
//#endif
	
	
protected:

	// Display functions
	HRESULT			InitDeviceObjects( HWND hWnd );
	virtual HRESULT	InvalidateDeviceObjects();
	virtual HRESULT	RestoreDeviceObjects();
	HRESULT			DeleteDeviceObjects();
	VOID			FinalCleanup();
	HRESULT			SwitchDisplayModes( BOOL bFullScreen, DWORD dwWidth, DWORD dwHeight );

	BOOL			GetAppActive() { return m_bIsActive; }
public:

    FLOAT                   m_fFPS;              // Instanteous frame rate

protected:

public:
	HWND					m_hWndMain;					// Main window
	TCHAR					m_strServerIp[20];

protected:
	DWORD					m_dwScreenWidth;				// Dimensions for fullscreen modes
	DWORD					m_dwScreenHeight;
	BOOL					m_bFullScreen;					// Whether app is fullscreen (or windowed)
	BOOL					m_bMouseVisible;				// Whether mouse is visible
	TCHAR					m_strAppName[20];
	
private:
	DWORD					m_dwWindowStyle;
	RECT					m_rcWindowBounds;
	RECT					m_rcWindowClient;

	BOOL					m_bWireMode;
	
	LPDIRECT3DDEVICE9		m_pd3dDevice;
	D3DDISPLAYMODE			m_DesktopMode;
	D3DFORMAT				m_d3dfmtFullscreen;			// Pixel format for fullscreen modes
	D3DFORMAT				m_d3dfmtTexture;				// Pixel format for textures
	BOOL					m_bIsActive;					// Whether app is active
	BOOL					m_bDisplayReady;				// Whether display class is initialized

	// DirectDraw/Direct3D objects
	D3DPRESENT_PARAMETERS	m_d3dpp;

	FLOAT                   m_fTime;             // Current time in seconds
    FLOAT                   m_fElapsedTime;      // Time elapsed since last frame


};

#endif // !defined(AFX_D3DAPPLICATION_H__FD418114_0791_4CFA_AD2D_032D1321946F__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -