mcobject.h

来自「国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国」· C头文件 代码 · 共 82 行

H
82
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?