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

📄 decaleffect.cpp

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 CPP
字号:
// DecalEffect.cpp: implementation of the CDecalEffect class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DecalEffect.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////
//	FootMark Nomal
//////////////////////////////////////////////////////////////////////////

CFootMark::CFootMark()
{
	m_vbDecal = NULL;
	m_ibDecal = NULL;
	m_pTexDecal = NULL;
}

CFootMark::~CFootMark()
{
	InvalidateDeviceObjects();
}

HRESULT CFootMark::LoadTexture(const char *strTextureFilename)
{
	HRESULT hr = S_OK;
	// Create the texture using D3DX
//	hr = D3DXCreateTextureFromFileEx( g_pApp->GetD3dDevice(), "",
//				D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, 
//				D3DPOOL_DEFAULT, D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 
//				D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 0, NULL, NULL, &m_pTexDecal );
	hr = D3DXCreateTextureFromFileEx( g_pApp->GetD3dDevice(), "",
				D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, 
				MEMORY_POOL, D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 
				D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 0, NULL, NULL, &m_pTexDecal );
	if( FAILED(hr) )
		return E_FAIL;
	
	return S_OK;
}

HRESULT CFootMark::Create()
{
	HRESULT hr = g_pApp->GetD3dDevice()->CreateIndexBuffer( 3 * sizeof(WORD),
				D3DUSAGE_WRITEONLY,	D3DFMT_INDEX16, D3DPOOL_DEFAULT, &m_ibDecal, NULL );
	if( FAILED(hr) )
		return E_FAIL;

	hr = g_pApp->GetD3dDevice()->CreateVertexBuffer( 4*sizeof(VERTEX_DECAL),
				D3DUSAGE_DYNAMIC|D3DUSAGE_WRITEONLY, D3DFVF_DECAL,D3DPOOL_DEFAULT, &m_vbDecal, NULL);
	if( FAILED(hr) )
		return E_FAIL;


	// 技泼 窍技..
	m_fLifeTime = 2.0f;

	return S_OK;
}

HRESULT CFootMark::RestoreDeviceObjects()
{
	HRESULT hr = S_OK;

	hr = D3DXCreateTextureFromFileEx( g_pApp->GetD3dDevice(), "",
				D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, 
				D3DPOOL_DEFAULT, D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 
				D3DX_FILTER_TRIANGLE|D3DX_FILTER_MIRROR, 0, NULL, NULL, &m_pTexDecal );
	if( FAILED(hr) )
		return E_FAIL;

	hr = g_pApp->GetD3dDevice()->CreateIndexBuffer( 3 * sizeof(WORD),
				D3DUSAGE_WRITEONLY,	D3DFMT_INDEX16, D3DPOOL_DEFAULT, &m_ibDecal, NULL );
	if( FAILED(hr) )
		return E_FAIL;

	hr = g_pApp->GetD3dDevice()->CreateVertexBuffer( 4*sizeof(VERTEX_DECAL),
				D3DUSAGE_DYNAMIC|D3DUSAGE_WRITEONLY, D3DFVF_DECAL,D3DPOOL_DEFAULT, &m_vbDecal, NULL);
	if( FAILED(hr) )
		return E_FAIL;

	return S_OK;
}

void CFootMark::InvalidateDeviceObjects()
{
	SAFE_RELEASE( m_vbDecal );
	SAFE_RELEASE( m_ibDecal );
	SAFE_RELEASE( m_pTexDecal );
	
}

HRESULT CFootMark::Update( float fElapsedTime )
{
	m_fLifeTime -= fElapsedTime;
	if(m_fLifeTime <= 0.0f){		// 角犁风绰 磷咯具.. 搭铂..?		// 困摹唱 葛 备繁巴代.. 贸府..
		m_fLifeTime = 2.0f;
		//m_fCurrentSize = m_fEmitterSize;
		return E_FAIL;
	}

	return S_OK;
}

HRESULT CFootMark::Render()
{
	return S_OK;
}

⌨️ 快捷键说明

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