summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
Diffstat (limited to 'src/render')
-rw-r--r--src/render/WaterCannon.cpp6
-rw-r--r--src/render/WaterCannon.h14
2 files changed, 17 insertions, 3 deletions
diff --git a/src/render/WaterCannon.cpp b/src/render/WaterCannon.cpp
index 7f44116b..9763138e 100644
--- a/src/render/WaterCannon.cpp
+++ b/src/render/WaterCannon.cpp
@@ -2,6 +2,8 @@
#include "patcher.h"
#include "WaterCannon.h"
+extern CWaterCannon* aCannons = (CWaterCannon*)0x8F2CA8;
+
WRAPPER void CWaterCannons::Update(void) { EAXJMP(0x522510); }
-WRAPPER void CWaterCannons::UpdateOne(uint32 id, CVector *pos, CVector *dir) { EAXJMP(0x522470); }
-WRAPPER void CWaterCannons::Render(void) { EAXJMP(0x522550); }
+WRAPPER void CWaterCannon::UpdateOne(uint32 id, CVector *pos, CVector *dir) { EAXJMP(0x522470); }
+WRAPPER void CWaterCannon::Render(void) { EAXJMP(0x522550); }
diff --git a/src/render/WaterCannon.h b/src/render/WaterCannon.h
index de9d0344..1b2dcee3 100644
--- a/src/render/WaterCannon.h
+++ b/src/render/WaterCannon.h
@@ -1,9 +1,21 @@
#pragma once
-class CWaterCannons
+class CWaterCannon
{
public:
+ int32 m_nId;
+ int16 m_wIndex;
+ char gap_6[2];
+ int32 m_nTimeCreated;
+ CVector m_avecPos[16];
+ CVector m_avecVelocity[16];
+ char m_abUsed[16];
+
static void Update(void);
static void UpdateOne(uint32 id, CVector *pos, CVector *dir);
static void Render(void);
};
+
+static_assert(sizeof(CWaterCannon) == 412, "CWaterCannon: error");
+
+extern CWaterCannon* aCannons;