2019-05-30 21:24:47 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class CSpecialFX
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static void Render(void);
|
2019-10-19 00:23:40 +02:00
|
|
|
static void Update(void);
|
2019-05-30 21:24:47 +02:00
|
|
|
};
|
2019-06-30 21:06:55 +02:00
|
|
|
|
|
|
|
class CMotionBlurStreaks
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static void RegisterStreak(int32 id, uint8 r, uint8 g, uint8 b, CVector p1, CVector p2);
|
|
|
|
};
|
2019-06-30 22:55:48 +02:00
|
|
|
|
|
|
|
struct CBulletTrace
|
|
|
|
{
|
2020-03-21 18:14:29 +01:00
|
|
|
CVector m_vecCurrentPos;
|
|
|
|
CVector m_vecTargetPos;
|
2019-06-30 22:55:48 +02:00
|
|
|
bool m_bInUse;
|
|
|
|
uint8 m_framesInUse;
|
|
|
|
uint8 m_lifeTime;
|
2020-03-21 18:14:29 +01:00
|
|
|
|
|
|
|
void Update(void);
|
2019-06-30 22:55:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
class CBulletTraces
|
|
|
|
{
|
|
|
|
public:
|
2020-03-21 18:14:29 +01:00
|
|
|
enum {
|
|
|
|
NUM_BULLET_TRACES = 16
|
|
|
|
};
|
|
|
|
static CBulletTrace (&aTraces)[NUM_BULLET_TRACES];
|
2019-06-30 22:55:48 +02:00
|
|
|
|
|
|
|
static void Init(void);
|
2020-03-21 18:14:29 +01:00
|
|
|
static void AddTrace(CVector*, CVector*);
|
|
|
|
static void Render(void);
|
|
|
|
static void Update(void);
|
2019-06-30 22:55:48 +02:00
|
|
|
};
|
2019-07-24 18:55:43 +02:00
|
|
|
|
2019-07-28 13:14:08 +02:00
|
|
|
class CBrightLights
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static void RegisterOne(CVector pos, CVector up, CVector right, CVector fwd, uint8 type, uint8 unk1 = 0, uint8 unk2 = 0, uint8 unk3 = 0);
|
|
|
|
};
|
|
|
|
|
2019-10-17 01:22:39 +02:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
MARKERTYPE_0 = 0,
|
|
|
|
MARKERTYPE_ARROW,
|
|
|
|
MARKERTYPE_2,
|
|
|
|
MARKERTYPE_3,
|
|
|
|
MARKERTYPE_CYLINDER,
|
|
|
|
NUMMARKERTYPES,
|
|
|
|
|
|
|
|
MARKERTYPE_INVALID = 0x101
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class C3dMarker
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CMatrix m_Matrix;
|
|
|
|
RpAtomic *m_pAtomic;
|
|
|
|
RpMaterial *m_pMaterial;
|
|
|
|
uint16 m_nType;
|
|
|
|
bool m_bIsUsed;
|
|
|
|
uint32 m_nIdentifier;
|
|
|
|
RwRGBA m_Color;
|
|
|
|
uint16 m_nPulsePeriod;
|
2019-10-26 13:09:50 +02:00
|
|
|
int16 m_nRotateRate;
|
2019-10-17 01:22:39 +02:00
|
|
|
uint32 m_nStartTime;
|
|
|
|
float m_fPulseFraction;
|
|
|
|
float m_fStdSize;
|
|
|
|
float m_fSize;
|
|
|
|
float m_fBrightness;
|
|
|
|
float m_fCameraRange;
|
|
|
|
|
|
|
|
bool AddMarker(uint32 identifier, uint16 type, float fSize, uint8 r, uint8 g, uint8 b, uint8 a, uint16 pulsePeriod, float pulseFraction, int16 rotateRate);
|
|
|
|
void DeleteMarkerObject();
|
|
|
|
void Render();
|
|
|
|
};
|
|
|
|
|
2019-07-24 18:55:43 +02:00
|
|
|
class C3dMarkers
|
|
|
|
{
|
|
|
|
public:
|
2019-10-17 01:22:39 +02:00
|
|
|
static void Init();
|
|
|
|
static void Shutdown();
|
|
|
|
static C3dMarker *PlaceMarker(uint32 id, uint16 type, CVector &pos, float size, uint8 r, uint8 g, uint8 b, uint8 a, uint16 pulsePeriod, float pulseFraction, int16 rotateRate);
|
|
|
|
static void PlaceMarkerSet(uint32 id, uint16 type, CVector &pos, float size, uint8 r, uint8 g, uint8 b, uint8 a, uint16 pulsePeriod, float pulseFraction, int16 rotateRate);
|
|
|
|
static void Render();
|
|
|
|
static void Update();
|
|
|
|
|
|
|
|
static C3dMarker(&m_aMarkerArray)[NUM3DMARKERS];
|
|
|
|
static int32 &NumActiveMarkers;
|
|
|
|
static RpClump* (&m_pRpClumpArray)[NUMMARKERTYPES];
|
2019-10-10 18:17:35 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
class CMoneyMessage
|
|
|
|
{
|
|
|
|
friend class CMoneyMessages;
|
|
|
|
|
|
|
|
uint32 m_nTimeRegistered;
|
|
|
|
CVector m_vecPosition;
|
|
|
|
wchar m_aText[16];
|
|
|
|
CRGBA m_Colour;
|
|
|
|
float m_fSize;
|
|
|
|
float m_fOpacity;
|
|
|
|
public:
|
|
|
|
void Render();
|
|
|
|
};
|
|
|
|
|
|
|
|
class CMoneyMessages
|
|
|
|
{
|
|
|
|
static CMoneyMessage aMoneyMessages[NUMMONEYMESSAGES];
|
|
|
|
public:
|
|
|
|
static void Init();
|
|
|
|
static void Render();
|
|
|
|
static void RegisterOne(CVector vecPos, const char *pText, uint8 bRed, uint8 bGreen, uint8 bBlue, float fSize, float fOpacity);
|
2020-02-16 21:08:54 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class CSpecialParticleStuff
|
|
|
|
{
|
|
|
|
static uint32 BoatFromStart;
|
|
|
|
public:
|
|
|
|
static void CreateFoamAroundObject(CMatrix*, float, float, float, int32);
|
|
|
|
static void StartBoatFoamAnimation();
|
|
|
|
static void UpdateBoatFoamAnimation(CMatrix*);
|
|
|
|
};
|