summaryrefslogtreecommitdiffstats
path: root/src/render/Fluff.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/Fluff.h')
-rw-r--r--src/render/Fluff.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/render/Fluff.h b/src/render/Fluff.h
index a938a4fe..a31ac335 100644
--- a/src/render/Fluff.h
+++ b/src/render/Fluff.h
@@ -2,17 +2,45 @@
#include "common.h"
#include "Vector.h"
#include "Object.h"
+#include "Plane.h"
+
+enum {
+ SCRIPT_PATH_DISABLED = 0,
+ SCRIPT_PATH_INITIALIZED,
+ SCRIPT_PATH_ACTIVE
+};
-// TODO
class CScriptPath
{
public:
+ int32 m_numNodes;
+ CPlaneNode *m_pNode;
+ float m_fTotalLength;
+ float m_fSpeed;
+ float m_fPosition;
+ float m_fObjectLength;
+ int32 m_state;
+ CObject *m_pObjects[6];
+
+ void Clear(void);
+ void Update(void);
+ void InitialiseOne(int32 numNodes, float width);
+ void FindCoorsFromDistanceOnPath(float t, float *pX, float *pY, float *pZ);
+ void SetObjectToControl(CObject *pObj);
};
-// TODO
class CScriptPaths
{
public:
+ static CScriptPath aArray[3];
+ static void Init(void);
+ static void Shutdown(void);
+ static void Update(void);
+ static bool IsOneActive(void);
+ static void Save(uint8 *buf, uint32 *size);
+ static void Load(uint8 *buf, uint32 size);
+ static void Save_ForReplay();
+ static void Load_ForReplay();
};
class CPlaneTrail