📄 bloodtrailfx.cpp
字号:
/****************************************************************************
;
; MODULE: BloodTrailFX.cpp
;
; PURPOSE: Blood trail effects
;
; HISTORY: Created by SCHLEGZ on 5/21/98 1:31:39 PM
;
; COMMENT: Copyright (c) 1997, Monolith Productions Inc.
;
****************************************************************************/
#include "BloodTrailFX.h"
#include "cpp_client_de.h"
#include "ClientUtilities.h"
#include "BloodTrailSegmentFX.h"
#include "BloodClientShell.h"
#include "SFXMsgIds.h"
// ----------------------------------------------------------------------- //
// ROUTINE : CBloodTrailFX::Init
// DESCRIPTION :
// RETURN TYPE : DBOOL
// PARAMS : SFXCREATESTRUCT* psfxCreateStruct
// ----------------------------------------------------------------------- //
DBOOL CBloodTrailFX::Init(SFXCREATESTRUCT* psfxCreateStruct)
{
if (!CSpecialFX::Init(psfxCreateStruct)) return DFALSE;
BTCREATESTRUCT* pBT = (BTCREATESTRUCT*)psfxCreateStruct;
VEC_COPY(m_vVel, pBT->vVel);
VEC_COPY(m_vColor,pBT->vColor);
m_nNumPerPuff = 4;
m_fLifeTime = 0.75f;
m_fSegmentTime = 0.2f;
return DTRUE;
}
// ----------------------------------------------------------------------- //
// ROUTINE : CBloodTrailFX::Update
// DESCRIPTION :
// RETURN TYPE : DBOOL
// ----------------------------------------------------------------------- //
DBOOL CBloodTrailFX::Update()
{
CBloodClientShell *pShell = (CBloodClientShell*)g_pClientDE->GetClientShell();
CSFXMgr* psfxMgr = pShell->GetSFXMgr();
if (!psfxMgr || !m_pClientDE || !m_hServerObject) return DFALSE;
DFLOAT fTime = m_pClientDE->GetTime();
// Check to see if we should go away...
if (m_bWantRemove || (m_hServerObject == DNULL))
{
return DFALSE;
}
// See if it is time to create a new trail segment...
if ((m_fStartTime < 0) || (fTime > m_fStartTime + m_fSegmentTime))
{
BTSCREATESTRUCT bts;
bts.hServerObj = m_hObject;
VEC_COPY(bts.vColor1, m_vColor);
bts.fLifeTime = m_fLifeTime;
bts.fOffsetTime = m_fOffsetTime;
bts.fRadius = 200.0f;
bts.nNumPerPuff = m_nNumPerPuff;
CSpecialFX* pFX = psfxMgr->CreateSFX(SFX_BLOODTRAILSEG_ID, &bts, DFALSE, this);
if (pFX) pFX->Update();
m_fStartTime = fTime;
}
return DTRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -