2019-05-30 15:24:47 -04:00
|
|
|
#pragma once
|
|
|
|
|
2019-07-17 17:58:06 -04:00
|
|
|
class CVehicle;
|
|
|
|
|
2020-04-06 19:19:24 -04:00
|
|
|
enum {
|
|
|
|
// NB: not all values are allowed, check the code
|
|
|
|
NUM_RUBBISH_SHEETS = 64
|
|
|
|
};
|
|
|
|
|
|
|
|
class COneSheet
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CVector m_basePos;
|
|
|
|
CVector m_animatedPos;
|
|
|
|
float m_targetZ;
|
|
|
|
int8 m_state;
|
|
|
|
int8 m_animationType;
|
|
|
|
uint32 m_moveStart;
|
|
|
|
uint32 m_moveDuration;
|
|
|
|
float m_animHeight;
|
|
|
|
float m_xDist;
|
|
|
|
float m_yDist;
|
|
|
|
float m_angle;
|
|
|
|
bool m_isVisible;
|
|
|
|
bool m_targetIsVisible;
|
|
|
|
COneSheet *m_next;
|
|
|
|
COneSheet *m_prev;
|
|
|
|
|
|
|
|
void AddToList(COneSheet *list);
|
|
|
|
void RemoveFromList(void);
|
|
|
|
};
|
|
|
|
|
2019-05-30 15:24:47 -04:00
|
|
|
class CRubbish
|
|
|
|
{
|
2020-04-06 19:19:24 -04:00
|
|
|
static bool bRubbishInvisible;
|
|
|
|
static int RubbishVisibility;
|
|
|
|
static COneSheet aSheets[NUM_RUBBISH_SHEETS];
|
|
|
|
static COneSheet StartEmptyList;
|
|
|
|
static COneSheet EndEmptyList;
|
|
|
|
static COneSheet StartStaticsList;
|
|
|
|
static COneSheet EndStaticsList;
|
|
|
|
static COneSheet StartMoversList;
|
|
|
|
static COneSheet EndMoversList;
|
2019-05-30 15:24:47 -04:00
|
|
|
public:
|
|
|
|
static void Render(void);
|
2019-07-17 17:58:06 -04:00
|
|
|
static void StirUp(CVehicle *veh); // CAutomobile on PS2
|
2019-10-18 18:23:40 -04:00
|
|
|
static void Update(void);
|
2020-04-06 19:19:24 -04:00
|
|
|
static void SetVisibility(bool visible);
|
2020-03-22 10:23:40 -04:00
|
|
|
static void Init(void);
|
2020-03-28 16:55:23 -04:00
|
|
|
static void Shutdown(void);
|
2019-05-30 15:24:47 -04:00
|
|
|
};
|