📄 clientexplosionsfx.h
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : ClientExplosionSFX.h
//
// PURPOSE : CClientExplosionSFX - Definition
//
// CREATED : 7-1-98
//
// ----------------------------------------------------------------------- //
#ifndef __CLIENT_EXPLOSION_SFX_H__
#define __CLIENT_EXPLOSION_SFX_H__
// ----------------------------------------------------------------------- //
#include "ClientSFX.h"
// ----------------------------------------------------------------------- //
#define CEXP_FADE_NONE 0
#define CEXP_FADE_ALPHA2CLEAR 1
#define CEXP_FADE_SOLID2ALPHA 2
#define CEXP_FADE_CLEAR2ALPHA 3
#define CEXP_FADE_ALPHA2SOLID 4
// ----------------------------------------------------------------------- //
#define CEXP_WAVETYPE_NONE 0
#define CEXP_WAVETYPE_INC 1
#define CEXP_WAVETYPE_DEC 2
// ----------------------------------------------------------------------- //
class CClientExplosionSFX : public CClientSFX
{
public :
CClientExplosionSFX()
{
VEC_INIT(m_vPos);
VEC_INIT(m_vNormal);
m_fOffset = 0.0f;
m_nType = 0;
m_bTriggered = 0;
m_hstrSound = DNULL;
}
~CClientExplosionSFX()
{
if (!g_pServerDE) return;
if (m_hstrSound)
g_pServerDE->FreeString(m_hstrSound);
}
void Setup(DVector *vPos, DVector *vNormal, DFLOAT fOffset);
void SetupModel(DVector *vScale1, DVector *vScale2, DFLOAT fDuration, DFLOAT fInitAlpha,
DBYTE bWaveForm, DBYTE bFade, DBOOL bRandRot, char *szModel, char *szSkin);
void SetupSprite(DVector *vScale1, DVector *vScale2, DFLOAT fDuration, DFLOAT fInitAlpha,
DBYTE bWaveForm, DBYTE bFade, DBOOL bAlign, char *szSprite);
void SetupRing(DVector *vColor, DFLOAT fRadius, DFLOAT fPosRadius, DFLOAT fVelocity,
DFLOAT fGravity, DDWORD nParticles, DFLOAT fDuration, DFLOAT fInitAlpha,
DFLOAT fDelay, DBYTE bFade, DBOOL bAlign, char *szParticle);
void SetupWave(DVector *vScale1, DVector *vScale2, DFLOAT fDuration, DFLOAT fInitAlpha,
DFLOAT fDelay, DBYTE bWaveForm, DBYTE bFade, DBOOL bAlign, char *szWave);
void SetupLight(DVector *vColor1, DVector *vColor2, DFLOAT fDuration, DFLOAT fDelay,
DFLOAT fRadius1, DFLOAT fRadius2);
void SetupFrag(DVector *vScale, DVector *vRotateMax, DFLOAT fSpread, DFLOAT fDuration,
DFLOAT fVelocity, DFLOAT fBounceMod, DFLOAT fGravity, DFLOAT fFadeTime,
DBOOL bRandDir, char *szModel, char *szSkin);
void SetupFX(DVector *vPos, DVector *vNormal, DDWORD nType);
void SetupFX();
protected :
DDWORD EngineMessageFn(DDWORD messageID, void *pData, DFLOAT fData);
DDWORD ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead);
void HandleTrigger(HOBJECT hSender, HMESSAGEREAD hRead);
void Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags);
void Load(HMESSAGEREAD hWrite, DDWORD dwLoadFlags);
private :
void ReadProp(ObjectCreateStruct *pStruct);
//***** GENERAL VARIABLES *****
DVector m_vPos;
DVector m_vNormal;
DFLOAT m_fOffset;
DFLOAT m_fDamage;
DFLOAT m_fDamageRadius;
DDWORD m_nType;
HSTRING m_hstrSound;
// char m_szSound[MAX_CS_FILENAME_LEN];
DBOOL m_bTriggered;
};
#endif // __CLIENT_EXPLOSION_SFX_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -