aboutsummaryrefslogtreecommitdiffstats
path: root/src/renderer/WaterCreatures.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-07-18 00:05:51 +0300
committerSergeanur <s.anureev@yandex.ua>2021-07-18 00:05:51 +0300
commit7a034142c99e577b0339aefd9599cb7f373c495e (patch)
tree722b1946daf2b24374c7fcfab0face06af5eefba /src/renderer/WaterCreatures.h
parentec5a07b049ac8ca05c051aa22a16186a298adadf (diff)
parentc937bdbfea8f522d14d7a41f24372bddf5bdafcc (diff)
Merge branch 'miami' into lcs
# Conflicts: # premake5.lua
Diffstat (limited to 'src/renderer/WaterCreatures.h')
-rw-r--r--src/renderer/WaterCreatures.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/renderer/WaterCreatures.h b/src/renderer/WaterCreatures.h
new file mode 100644
index 00000000..099cc1a4
--- /dev/null
+++ b/src/renderer/WaterCreatures.h
@@ -0,0 +1,50 @@
+#pragma once
+
+class CObject;
+
+/*
+enum eFishSlotState {
+ WATER_CREATURE_INIT = 0,
+ WATER_CREATURE_ACTIVE,
+ WATER_CREATURE_FADE_OUT,
+ WATER_CREATURE_REMOVE,
+ WATER_CREATURE_DISABLED
+};
+
+class CWaterCreature {
+public:
+ CObject *m_pObj;
+ float m_fFwdSpeed;
+ float m_fZTurnSpeed;
+ int32 m_alpha;
+ float m_fWaterDepth;
+ int32 m_state;
+
+ CWaterCreature();
+ void Allocate(CObject *pObj, float fFwdSpeed, float fZTurnSpeed, float fWaterDepth, uint32 alpha, eFishSlotState state);
+ void Free();
+ void Initialise(CObject *pObj, float fFwdSpeed, float fZTurnSpeed, float fWaterDepth, uint32 alpha, eFishSlotState state);
+};
+
+class CWaterCreatures {
+
+public:
+ static CWaterCreature aWaterCreatures[NUM_WATER_CREATURES];
+ static int32 nNumActiveSeaLifeForms;
+ static CObject *CreateSeaLifeForm(CVector const& pos, int16 modelID, int32 zRotAngle);
+ static void CreateOne(CVector const& pos, int32 modelID);
+ static void UpdateAll();
+ static void FreeFishStructSlot(CWaterCreature *wc);
+ static bool IsSpaceForMoreWaterCreatures();
+ static float CalculateFishHeading(CVector const& pos1, CVector const& pos2);
+ static void RemoveAll();
+ static CWaterCreature* GetFishStructSlot();
+};
+
+struct WaterCreatureProperties {
+ int16 *modelID;
+ float fFwdSpeed;
+ float fLevel;
+ float fUnknown; //unused
+ float fWaterDepth;
+};*/ \ No newline at end of file