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

📄 mcobject.h

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

#if !defined(AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_)
#define AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_

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

class CMCObjMesh;

D3DXVECTOR3 DecodeNormal(short normal);

class CMCObject  
{
public:
	CMCObject();
	virtual ~CMCObject();

public:
	HRESULT			LoadFile( char * szFileName );
	
	BOOL			Render( UINT nCurFrame );
	BOOL			RenderEx( D3DXMATRIX matWorld, UINT nCurFrame );
	BOOL			RenderAlphaEx( D3DXMATRIX matWorld, UINT nCurFrame );
	BOOL			RenderDecalEx( D3DXMATRIX matWorld, UINT nCurFrame );
	BOOL			RenderColMesh( UINT nCurFrame );
	void			BoundingBoxRender(DWORD dwCurFrame, D3DXMATRIX& matWorld);

	HRESULT			CreateSubBuffer();
	HRESULT			CreateVertexIndexBuffer();
	HRESULT			CreateCollisionModel();
	HRESULT			ReleaseVertexIndex();

	MD3BOUNDBOX*	GetBoundBox(DWORD dwCurFrame)	{ return &m_pBoundBox[dwCurFrame]; }
	CMCObjMesh*		GetMesh(char *pBuffer, UINT nCurFrame );		// 皋浆驰.. 橇饭烙 逞滚..

	int				GetMeshCount( UINT nCurFrame ) { return (m_pFrameCount[nCurFrame+1]-m_pFrameCount[nCurFrame]); }		// 皋浆 Count 掘绢坷蓖..
	CMCObjMesh*		GetNextMesh( CMCObjMesh* pMesh, UINT nCurFrame );		// 皋浆 器牢磐 掘绢坷蓖..
	int				GetFrameCount() { return m_nFrameCount; }

	CMCObjColMesh*	GetColMesh( int nColIndex, UINT nCurFrame );		// 牢郸荐.. 橇饭烙 逞滚..
	int				GetColMeshCount( UINT nCurFrame )			// 面倒 皋浆 Count 掘绢坷蓖..
					{ 
						if(!m_pColFrameCount)
							return 0;
						return (m_pColFrameCount[nCurFrame+1]-m_pColFrameCount[nCurFrame]);
					}
	CMCObjColMesh*	GetNextColMesh( CMCObjColMesh* pColMesh, UINT nCurFrame );		// 皋浆 器牢磐 掘绢坷蓖..
	float			GetWidth( DWORD dwCurFrame );

	HRESULT			SortMeterial();
	VOID			ReadMeterial( HANDLE hFile, SMETERIALDATA * pMeterial, const char * szFileName );
	VOID			DeleteMeterial( SMETERIALDATA * pMeterial );

public:
	int					m_nIndex;
	char				m_szObjectName[255];
	DWORD				m_nFrameCount;
	int					m_nMeshCount;
	int	*				m_pFrameCount;
	CMCObjMesh *		m_pMesh;

	MD3BOUNDBOX *		m_pBoundBox;

	int					m_nColMeshCount;
	int	*				m_pColFrameCount;

	CMCObjColMesh *		m_pColMesh;

	BYTE				m_nAlpah;

	D3DXVECTOR3			m_vLightDir;
	
	int					m_nMeterialCount;
	SMETERIALDATA *		m_pMtl;
};

#endif // !defined(AFX_MCOBJECT_H__18F3D136_4512_4A95_9D24_5AF5EA005875__INCLUDED_)

⌨️ 快捷键说明

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