📄 clientweaponsfx.h
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : CClientWeaponSFX.h
//
// PURPOSE : CClientWeaponSFX - Definition
//
// CREATED : 2/22/98
//
// ----------------------------------------------------------------------- //
#ifndef __CLIENT_WEAPON_SFX_H__
#define __CLIENT_WEAPON_SFX_H__
#include "ClientWeaponSFX.h"
#include "cpp_server_de.h"
#include "ClientSFX.h"
#include "WeaponDefs.h"
#include "SFXMsgIds.h"
// ----------------------------------------------------------------------- //
class CClientWeaponSFX : public CClientSFX
{
public :
CClientWeaponSFX() { }
void Setup(DVector *source, DVector *dest, DVector *forward, DVector *normal, DDWORD nFX, DDWORD nExtras, WeaponFXExtras *ext);
protected :
DDWORD EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData);
};
inline void SendWeaponSFXMessage(DVector *source, DVector *dest, DVector *forward, DVector *normal, DDWORD nFX, DDWORD nExtras, WeaponFXExtras *ext)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if(!pServerDE || !source || !dest || !forward || !normal) return;
HMESSAGEWRITE hMessage = pServerDE->StartInstantSpecialEffectMessage(source);
pServerDE->WriteToMessageByte(hMessage, SFX_WEAPON_ID);
pServerDE->WriteToMessageVector(hMessage, source);
pServerDE->WriteToMessageVector(hMessage, dest);
pServerDE->WriteToMessageVector(hMessage, forward);
pServerDE->WriteToMessageVector(hMessage, normal);
pServerDE->WriteToMessageDWord(hMessage, nFX);
pServerDE->WriteToMessageDWord(hMessage, nExtras);
if(nExtras & WFX_EXTRA_AMMOTYPE)
pServerDE->WriteToMessageByte(hMessage, ext->nAmmo);
if(nExtras & WFX_EXTRA_SURFACETYPE)
pServerDE->WriteToMessageByte(hMessage, ext->nSurface);
if(nExtras & WFX_EXTRA_EXPTYPE)
pServerDE->WriteToMessageByte(hMessage, ext->nExp);
if(nExtras & WFX_EXTRA_DAMAGE)
pServerDE->WriteToMessageFloat(hMessage, ext->fDamage);
if(nExtras & WFX_EXTRA_DENSITY)
pServerDE->WriteToMessageFloat(hMessage, ext->fDensity);
if(nExtras & WFX_EXTRA_COLOR1)
pServerDE->WriteToMessageVector(hMessage, &(ext->vColor1));
if(nExtras & WFX_EXTRA_COLOR2)
pServerDE->WriteToMessageVector(hMessage, &(ext->vColor2));
if(nExtras & WFX_EXTRA_LIGHTCOLOR1)
pServerDE->WriteToMessageVector(hMessage, &(ext->vLightColor1));
if(nExtras & WFX_EXTRA_LIGHTCOLOR2)
pServerDE->WriteToMessageVector(hMessage, &(ext->vLightColor2));
pServerDE->EndMessage(hMessage);
}
#endif // __CLIENT_WEAPON_SFX_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -