summaryrefslogtreecommitdiffstats
path: root/src/vehicles/Door.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vehicles/Door.h')
-rw-r--r--src/vehicles/Door.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/vehicles/Door.h b/src/vehicles/Door.h
index 7bb7bba3..567d3263 100644
--- a/src/vehicles/Door.h
+++ b/src/vehicles/Door.h
@@ -11,8 +11,9 @@ enum eDoorState
DOORST_CLOSED
};
-struct CDoor
+class CDoor
{
+public:
float m_fMaxAngle;
float m_fMinAngle;
// direction of rotation for air resistance
@@ -34,9 +35,35 @@ struct CDoor
}
void Open(float ratio);
void Process(CVehicle *veh);
- float RetAngleWhenClosed(void);
+ float RetAngleWhenClosed(void); // dead
float RetAngleWhenOpen(void);
float GetAngleOpenRatio(void);
bool IsFullyOpen(void);
+ bool IsClosed(void); // dead
+};
+
+class CTrainDoor
+{
+public:
+ float m_fClosedPosn;
+ float m_fOpenPosn;
+ int8 m_nDirn;
+ int8 m_nDoorState; // same enum as above?
+ int8 m_nAxis;
+ float m_fPosn;
+ float m_fPrevPosn;
+ int field_14; // unused?
+
+ CTrainDoor(void);
+ void Init(float open, float closed, int8 dir, int8 axis) {
+ m_fOpenPosn = open;
+ m_fClosedPosn = closed;
+ m_nDirn = dir;
+ m_nAxis = axis;
+ }
bool IsClosed(void);
+ bool IsFullyOpen(void);
+ float RetTranslationWhenClosed(void);
+ float RetTranslationWhenOpen(void);
+ void Open(float ratio);
};