-
-
Notifications
You must be signed in to change notification settings - Fork 541
Expand file tree
/
Copy pathCFx.h
More file actions
69 lines (63 loc) · 2.74 KB
/
CFx.h
File metadata and controls
69 lines (63 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*****************************************************************************
*
* PROJECT: Multi Theft Auto v1.0
* LICENSE: See LICENSE in the top level directory
* FILE: sdk/game/CFx.h
* PURPOSE: Game effects interface
*
* Multi Theft Auto is available from https://www.multitheftauto.com/
*
*****************************************************************************/
#pragma once
#include "enums/FxParticleSystems.h"
#include <SharedUtil.Misc.h>
class CEntity;
class CVector;
class CVector2D;
class CVehicle;
struct RwColor;
enum class eShadowTextureType
{
CAR,
PED,
HELI,
BIKE,
RCBARON,
EXPLOSION,
HEADLIGHT1,
HEADLIGHT2,
BLOOD,
HANDMAN,
WINCRACK,
LAMP,
COUNT
};
enum class eShadowType
{
NONE,
DEFAULT,
ADDITIVE,
INVCOLOR,
};
class CFx
{
public:
virtual void AddBlood(CVector& vecPosition, CVector& vecDirection, int iCount, float fBrightness) = 0;
virtual void AddWood(CVector& vecPosition, CVector& vecDirection, int iCount, float fBrightness) = 0;
virtual void AddSparks(CVector& vecPosition, CVector& vecDirection, float fForce, int iCount, CVector vecAcrossLine, unsigned char ucBlurIf0, float fSpread,
float fLife) = 0;
virtual void AddTyreBurst(CVector& vecPosition, CVector& vecDirection) = 0;
virtual void AddBulletImpact(CVector& vecPosition, CVector& vecDirection, int iSmokeSize, int iSparkCount, float fSmokeIntensity) = 0;
virtual void AddPunchImpact(CVector& vecPosition, CVector& vecDirection, int i) = 0;
virtual void AddDebris(CVector& vecPosition, RwColor& rwColor, float fScale, int iCount) = 0;
virtual void AddGlass(CVector& vecPosition, RwColor& rwColor, float fScale, int iCount) = 0;
virtual void TriggerWaterHydrant(CVector& vecPosition) = 0;
virtual void TriggerGunshot(CEntity* pEntity, CVector& vecPosition, CVector& vecDirection, bool bIncludeSparks) = 0;
virtual void TriggerTankFire(CVector& vecPosition, CVector& vecDirection) = 0;
virtual void TriggerWaterSplash(CVector& vecPosition) = 0;
virtual void TriggerBulletSplash(CVector& vecPosition) = 0;
virtual void TriggerFootSplash(CVector& vecPosition) = 0;
virtual void AddParticle(FxParticleSystems eFxParticle, const CVector& vecPosition, const CVector& vecDirection, float fR, float fG, float fB, float fA, bool bRandomizeColors, std::uint32_t iCount, float fBrightness, float fSize, bool bRandomizeSizes, float fLife) = 0;
virtual bool AddShadow(eShadowTextureType shadowTextureType, const CVector& vecPosition, const CVector2D& vecOffset1, const CVector2D& vecOffset2,
SharedUtil::SColor color, eShadowType shadowType, float fZDistance, bool bDrawOnWater, bool bDrawOnBuildings) = 0;
};