implemented CTrain

This commit is contained in:
aap
2019-07-29 19:18:03 +02:00
15 changed files with 941 additions and 97 deletions

View File

@@ -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);
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);
};