summaryrefslogtreecommitdiffstats
path: root/src/render/SpecialFX.h
diff options
context:
space:
mode:
authorerorcun <erayorcunus@gmail.com>2019-10-23 23:45:16 +0200
committerGitHub <noreply@github.com>2019-10-23 23:45:16 +0200
commitd61430fbba8436fb93408995c7961929ee67fc77 (patch)
treedbc6880cd876a735209c7c3daa9a912a6a0e9dcf /src/render/SpecialFX.h
parentMerge pull request #252 from Sergeanur/MessagesPagerText (diff)
parentChanged math functions (diff)
downloadre3-d61430fbba8436fb93408995c7961929ee67fc77.tar
re3-d61430fbba8436fb93408995c7961929ee67fc77.tar.gz
re3-d61430fbba8436fb93408995c7961929ee67fc77.tar.bz2
re3-d61430fbba8436fb93408995c7961929ee67fc77.tar.lz
re3-d61430fbba8436fb93408995c7961929ee67fc77.tar.xz
re3-d61430fbba8436fb93408995c7961929ee67fc77.tar.zst
re3-d61430fbba8436fb93408995c7961929ee67fc77.zip
Diffstat (limited to 'src/render/SpecialFX.h')
-rw-r--r--src/render/SpecialFX.h48
1 files changed, 47 insertions, 1 deletions
diff --git a/src/render/SpecialFX.h b/src/render/SpecialFX.h
index 6f4e636f..a747d1c9 100644
--- a/src/render/SpecialFX.h
+++ b/src/render/SpecialFX.h
@@ -36,10 +36,56 @@ public:
static void RegisterOne(CVector pos, CVector up, CVector right, CVector fwd, uint8 type, uint8 unk1 = 0, uint8 unk2 = 0, uint8 unk3 = 0);
};
+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;
+ uint16 m_nRotateRate;
+ 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();
+};
+
class C3dMarkers
{
public:
- 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 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];
};
class CMoneyMessage