summaryrefslogtreecommitdiffstats
path: root/src/renderer/WaterCannon.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-07-17 23:03:57 +0200
committerSergeanur <s.anureev@yandex.ua>2021-07-17 23:03:57 +0200
commitc937bdbfea8f522d14d7a41f24372bddf5bdafcc (patch)
treeeb8f97f6cf9fac31d7ab90388af232d51cc9c137 /src/renderer/WaterCannon.h
parentMerge pull request #1219 from withmorten/miami-ini (diff)
downloadre3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.gz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.bz2
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.lz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.xz
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.tar.zst
re3-c937bdbfea8f522d14d7a41f24372bddf5bdafcc.zip
Diffstat (limited to 'src/renderer/WaterCannon.h')
-rw-r--r--src/renderer/WaterCannon.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/renderer/WaterCannon.h b/src/renderer/WaterCannon.h
new file mode 100644
index 00000000..a37bdd12
--- /dev/null
+++ b/src/renderer/WaterCannon.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#define WATERCANNON_GRAVITY (0.009f)
+#define WATERCANNON_LIFETIME (150)
+
+class CWaterCannon
+{
+public:
+ enum
+ {
+ NUM_SEGMENTPOINTS = 16,
+ };
+
+ int32 m_nId;
+ int16 m_nCur;
+ uint32 m_nTimeCreated;
+ CVector m_avecPos[NUM_SEGMENTPOINTS];
+ CVector m_avecVelocity[NUM_SEGMENTPOINTS];
+ bool m_abUsed[NUM_SEGMENTPOINTS];
+
+ void Init(void);
+ void Update_OncePerFrame(int16 index);
+ void Update_NewInput(CVector *pos, CVector *dir);
+ void Render(void);
+ void PushPeds(void);
+};
+
+VALIDATE_SIZE(CWaterCannon, 412);
+
+class CWaterCannons
+{
+public:
+ static CWaterCannon aCannons[NUM_WATERCANNONS];
+
+ static void Init(void);
+ static void UpdateOne(uint32 id, CVector *pos, CVector *dir);
+ static void Update();
+ static void Render(void);
+}; \ No newline at end of file