diff options
author | aap <aap@papnet.eu> | 2019-07-07 18:36:55 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2019-07-07 18:36:55 +0200 |
commit | c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f (patch) | |
tree | 03233dd562394ce53c3a0024d7f9dfe71d722ac8 /src/vehicles/Door.h | |
parent | the great reorganization (diff) | |
download | re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar.gz re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar.bz2 re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar.lz re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar.xz re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.tar.zst re3-c1f3ce8cceb675a9c76b4dc4e7cdfb18b17c4f2f.zip |
Diffstat (limited to 'src/vehicles/Door.h')
-rw-r--r-- | src/vehicles/Door.h | 36 |
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); +}; |