2024-08-13 23:29:34 +08:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "game.h"
|
|
|
|
#include "entity.h"
|
|
|
|
|
2024-08-20 23:32:24 +08:00
|
|
|
enum eLandingGearState
|
|
|
|
{
|
|
|
|
LGS_UP,
|
|
|
|
LGS_DOWN,
|
|
|
|
};
|
|
|
|
|
2024-08-13 23:29:34 +08:00
|
|
|
//-----------------------------------------------------------
|
|
|
|
|
|
|
|
class CVehicle : public CEntity
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2024-08-20 22:48:22 +08:00
|
|
|
char _gap48[4];
|
|
|
|
|
|
|
|
VEHICLE_TYPE *m_pVehicle;
|
|
|
|
|
2024-08-20 23:14:44 +08:00
|
|
|
char _gap50[33];
|
|
|
|
|
|
|
|
int field_71;
|
|
|
|
|
|
|
|
char _gap75[4];
|
2024-08-20 23:11:27 +08:00
|
|
|
|
|
|
|
BYTE m_byteColor1;
|
|
|
|
BYTE m_byteColor2;
|
|
|
|
BOOL m_bHasNewColor;
|
|
|
|
|
|
|
|
char _gap7F[57];
|
2024-08-20 22:44:22 +08:00
|
|
|
|
2024-08-13 23:29:34 +08:00
|
|
|
CVehicle( int iType, float fPosX, float fPosY, float fPosZ, float fRotation = 0.0f, BOOL bKeepModelLoaded = FALSE, int a8 = 0);
|
|
|
|
|
2024-08-20 22:48:22 +08:00
|
|
|
void ResetPointers();
|
|
|
|
|
2024-08-20 22:55:12 +08:00
|
|
|
void SetLockedState(int iLocked);
|
2024-08-20 23:26:04 +08:00
|
|
|
UINT GetVehicleSubtype();
|
2024-08-20 22:55:12 +08:00
|
|
|
|
2024-08-20 23:00:33 +08:00
|
|
|
float GetHealth();
|
2024-08-20 23:01:30 +08:00
|
|
|
void SetHealth(float fHealth);
|
2024-08-20 23:11:27 +08:00
|
|
|
void SetColor(BYTE byteColor1, BYTE byteColor2);
|
2024-08-20 23:14:44 +08:00
|
|
|
void UpdateColor();
|
2024-08-20 23:00:33 +08:00
|
|
|
|
2024-08-20 23:03:15 +08:00
|
|
|
BOOL HasSunk();
|
2024-08-20 23:04:18 +08:00
|
|
|
BOOL IsWrecked();
|
2024-08-20 23:05:14 +08:00
|
|
|
BOOL IsDriverLocalPlayer();
|
2024-08-20 23:16:18 +08:00
|
|
|
BOOL IsATrainPart();
|
2024-08-20 23:18:41 +08:00
|
|
|
BOOL HasTurret();
|
2024-08-20 22:51:36 +08:00
|
|
|
BOOL HasADriver();
|
|
|
|
|
2024-08-20 23:23:10 +08:00
|
|
|
void SetHydraThrusters(DWORD dwDirection);
|
2024-08-20 23:23:40 +08:00
|
|
|
DWORD GetHydraThrusters();
|
|
|
|
|
2024-08-20 23:23:10 +08:00
|
|
|
|
2024-08-20 23:22:24 +08:00
|
|
|
UINT GetPassengersMax();
|
|
|
|
|
2024-08-20 23:20:09 +08:00
|
|
|
void SetSirenOn(BYTE byteState);
|
2024-08-20 23:20:41 +08:00
|
|
|
BOOL IsSirenOn();
|
2024-08-20 23:21:24 +08:00
|
|
|
void SetAlarmState(WORD wState);
|
2024-08-20 23:32:24 +08:00
|
|
|
void SetLandingGearState(eLandingGearState state);
|
2024-08-20 23:33:35 +08:00
|
|
|
eLandingGearState GetLandingGearState();
|
2024-08-20 23:20:09 +08:00
|
|
|
|
2024-08-20 22:58:42 +08:00
|
|
|
void SetEngineState(BOOL bState);
|
2024-08-20 22:48:22 +08:00
|
|
|
|
2024-08-20 22:44:22 +08:00
|
|
|
void LinkToInterior(int iInterior);
|
|
|
|
|
2024-08-20 23:28:09 +08:00
|
|
|
void SetHornState(BYTE byteState);
|
|
|
|
|
2024-08-20 22:52:44 +08:00
|
|
|
BOOL IsOccupied();
|
|
|
|
|
|
|
|
|
2024-08-13 23:29:34 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------
|