mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-15 23:49:00 +00:00
37 lines
659 B
C
37 lines
659 B
C
|
#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);
|
||
|
};
|