summaryrefslogtreecommitdiffstats
path: root/src/vehicles/Door.h
diff options
context:
space:
mode:
authorFire_Head <Fire-Head@users.noreply.github.com>2019-07-11 02:48:36 +0200
committerGitHub <noreply@github.com>2019-07-11 02:48:36 +0200
commitaa449b6fe162d8960351c5fe164a9120b8572652 (patch)
treefa82496d356ac2b77ffa1ab00684b0150907f009 /src/vehicles/Door.h
parentfixfixfix (diff)
parentMerge pull request #129 from erorcun/erorcun (diff)
downloadre3-aa449b6fe162d8960351c5fe164a9120b8572652.tar
re3-aa449b6fe162d8960351c5fe164a9120b8572652.tar.gz
re3-aa449b6fe162d8960351c5fe164a9120b8572652.tar.bz2
re3-aa449b6fe162d8960351c5fe164a9120b8572652.tar.lz
re3-aa449b6fe162d8960351c5fe164a9120b8572652.tar.xz
re3-aa449b6fe162d8960351c5fe164a9120b8572652.tar.zst
re3-aa449b6fe162d8960351c5fe164a9120b8572652.zip
Diffstat (limited to '')
-rw-r--r--src/vehicles/Door.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/vehicles/Door.h b/src/vehicles/Door.h
new file mode 100644
index 00000000..fc771a40
--- /dev/null
+++ b/src/vehicles/Door.h
@@ -0,0 +1,36 @@
+#pragma once
+
+class CVehicle;
+
+enum eDoorState
+{
+ DOORST_SWINGING,
+ // actually wrong though,
+ // OPEN is really MAX_ANGLE and CLOSED is MIN_ANGLE
+ DOORST_OPEN,
+ DOORST_CLOSED
+};
+
+struct CDoor
+{
+ float m_fMaxAngle;
+ float m_fMinAngle;
+ // direction of rotation for air resistance
+ int8 m_nDirn;
+ // axis in which this door rotates
+ int8 m_nAxis;
+ int8 m_nDoorState;
+ float m_fAngle;
+ float m_fPrevAngle;
+ float m_fAngVel;
+ CVector m_vecSpeed;
+
+ CDoor(void);
+ void Open(float ratio);
+ void Process(CVehicle *veh);
+ float RetAngleWhenClosed(void);
+ float RetAngleWhenOpen(void);
+ float GetAngleOpenRatio(void);
+ bool IsFullyOpen(void);
+ bool IsClosed(void);
+};