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

📄 clientgibfx.cpp

📁 Blood 2全套源码
💻 CPP
字号:
// ----------------------------------------------------------------------- //
//
// MODULE  : ClientGibFX.cpp
//
// PURPOSE : CClientGibFX - Implementation
//
// CREATED : 8/3/98
//
// ----------------------------------------------------------------------- //

#include "ClientGibFX.h"
#include "cpp_server_de.h"
#include "SFXMsgIds.h"

/*
BEGIN_CLASS(CClientGibFX)
END_CLASS_DEFAULT_FLAGS(CClientGibFX, CClientSFX, NULL, NULL, CF_HIDDEN)

// ----------------------------------------------------------------------- //
//
//	ROUTINE:	CClientGibFX::Setup
//
//	PURPOSE:	Send message to client with data
//
// ----------------------------------------------------------------------- //

void CClientGibFX::Setup( DVector *pvPos, DVector *pvDir, DVector *pvDims, DDWORD dwFlags, DFLOAT fScale, DBYTE nCount,
						 HSTRING hstrModel, HSTRING hstrTexture, HSTRING hstrSound)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return;

	VEC_NEGATE(*pvDir, *pvDir);

	HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage( pvPos );
	pServerDE->WriteToMessageByte(hMessage, SFX_GIB_ID);
	pServerDE->WriteToMessageCompPosition(hMessage, pvPos);
	pServerDE->WriteToMessageCompVector(hMessage, pvDir);
	pServerDE->WriteToMessageCompVector(hMessage, pvDims);
	pServerDE->WriteToMessageWord(hMessage, (D_WORD)dwFlags);
	pServerDE->WriteToMessageFloat(hMessage, fScale);
	pServerDE->WriteToMessageByte(hMessage, nCount);

	if (dwFlags & TYPEFLAG_CUSTOM)
	{
		pServerDE->WriteToMessageHString(hMessage, hstrModel);
		pServerDE->WriteToMessageHString(hMessage, hstrTexture);
		pServerDE->WriteToMessageHString(hMessage, hstrSound);
	}
	
	pServerDE->EndMessage(hMessage);
}


// ----------------------------------------------------------------------- //
//
//	ROUTINE:	CClientGibFX::EngineMessageFn
//
//	PURPOSE:	Handle engine messages
//
// ----------------------------------------------------------------------- //

DDWORD CClientGibFX::EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE) return 0;

	switch(messageID)
	{
		case MID_INITIALUPDATE:
		{
			pServerDE->SetNextUpdate(m_hObject, 0.0001f);
			break;
		}

		case MID_UPDATE:
		{
			pServerDE->RemoveObject(m_hObject);
			break;
		}

		default : break;
	}

	return CClientSFX::EngineMessageFn(messageID, pData, lData);
}
*/


// ----------------------------------------------------------------------- //
//
//	ROUTINE:	SetutClientGibFX
//
//	PURPOSE:	Send message to client with data
//
// ----------------------------------------------------------------------- //

void SetupClientGibFX( DVector *pvPos, DVector *pvDir, DVector *pvDims, DDWORD dwFlags, DFLOAT fScale, DBYTE nCount,
						 HSTRING hstrModel, HSTRING hstrTexture, HSTRING hstrSound)
{
	if (!g_pServerDE) return;

	VEC_NEGATE(*pvDir, *pvDir);

	HMESSAGEWRITE hMessage = g_pServerDE->StartInstantSpecialEffectMessage( pvPos );
	g_pServerDE->WriteToMessageByte(hMessage, SFX_GIB_ID);
	g_pServerDE->WriteToMessageCompPosition(hMessage, pvPos);
	g_pServerDE->WriteToMessageCompVector(hMessage, pvDir);
	g_pServerDE->WriteToMessageCompVector(hMessage, pvDims);
	g_pServerDE->WriteToMessageWord(hMessage, (D_WORD)dwFlags);
	g_pServerDE->WriteToMessageFloat(hMessage, fScale);
	g_pServerDE->WriteToMessageByte(hMessage, nCount);

	if (dwFlags & TYPEFLAG_CUSTOM)
	{
		g_pServerDE->WriteToMessageHString(hMessage, hstrModel);
		g_pServerDE->WriteToMessageHString(hMessage, hstrTexture);
		g_pServerDE->WriteToMessageHString(hMessage, hstrSound);
	}
	
	g_pServerDE->EndMessage(hMessage);
}


⌨️ 快捷键说明

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