2019-05-19 21:28:10 +02:00
|
|
|
#pragma once
|
|
|
|
|
2019-06-25 01:42:23 +03:00
|
|
|
#include "DamageManager.h"
|
|
|
|
#include "Door.h"
|
|
|
|
#include "RwHelper.h"
|
2019-05-19 21:28:10 +02:00
|
|
|
#include "Vehicle.h"
|
|
|
|
|
|
|
|
class CAutomobile : public CVehicle
|
|
|
|
{
|
|
|
|
public:
|
2019-06-02 17:13:56 +02:00
|
|
|
// 0x288
|
2019-06-25 01:42:23 +03:00
|
|
|
CDamageManager m_DamageManager;
|
|
|
|
CDoor m_aDoors[6];
|
|
|
|
RwFrame *m_apModelNodes[20];
|
|
|
|
uint8 stuff1[160];
|
2019-05-19 21:28:10 +02:00
|
|
|
float m_afWheelSuspDist[4];
|
2019-06-25 01:42:23 +03:00
|
|
|
uint8 stuff2[44];
|
|
|
|
float m_afWheelRotation[4];
|
|
|
|
uint8 stuff3[200];
|
|
|
|
float m_fCarGunLR;
|
2019-06-29 23:15:55 +03:00
|
|
|
uint8 stuff4[13];
|
|
|
|
uint8 m_nDriveWheelsOnGround;
|
|
|
|
uint8 stuff5[22];
|
2019-06-25 01:42:23 +03:00
|
|
|
|
2019-06-30 13:59:55 +03:00
|
|
|
CAutomobile(int, uint8);
|
|
|
|
CAutomobile* ctor(int, uint8);
|
2019-06-25 01:42:23 +03:00
|
|
|
void SetDoorDamage(int32, uint32, bool); /* TODO: eDoors */
|
2019-07-01 00:15:34 +03:00
|
|
|
void SetPanelDamage(int32, uint32, bool); /* TODO: ePanels */
|
|
|
|
void SetBumperDamage(int32, uint32, bool); /* TODO: ePanels */
|
2019-06-30 13:59:55 +03:00
|
|
|
void dtor() { this->CAutomobile::~CAutomobile(); }
|
2019-05-19 21:28:10 +02:00
|
|
|
};
|
|
|
|
static_assert(sizeof(CAutomobile) == 0x5A8, "CAutomobile: error");
|
|
|
|
static_assert(offsetof(CAutomobile, m_afWheelSuspDist) == 0x46C, "CAutomobile: error");
|