summaryrefslogblamecommitdiffstats
path: root/src/entities/Automobile.h
blob: 64e411cecdb3a432d6a71bf1a27133ad9d92503e (plain) (tree)
1
2
3
4
5
6
7
8
9
10

            


                          




                                   
                



                                       
                                   



                                   


                                     
 

                                      
                                                                   

                                                                      
                                                          


                                                                                       
#pragma once

#include "DamageManager.h"
#include "Door.h"
#include "RwHelper.h"
#include "Vehicle.h"

class CAutomobile : public CVehicle
{
public:
	// 0x288
	CDamageManager m_DamageManager;
	CDoor m_aDoors[6];
	RwFrame *m_apModelNodes[20];
	uint8 stuff1[160];
	float m_afWheelSuspDist[4];
	uint8 stuff2[44];
	float m_afWheelRotation[4];
	uint8 stuff3[200];
	float m_fCarGunLR;
	uint8 stuff4[13];
	uint8 m_nDriveWheelsOnGround;
	uint8 stuff5[22];

	CAutomobile(int, uint8);
	CAutomobile* ctor(int, uint8);
	void SetDoorDamage(int32, uint32, bool); /* TODO: eDoors */
	void SetPanelDamage(int32, uint32, bool); /* TODO: ePanels */
	void SetBumperDamage(int32, uint32, bool); /* TODO: ePanels */
	void dtor() { this->CAutomobile::~CAutomobile(); }
};
static_assert(sizeof(CAutomobile) == 0x5A8, "CAutomobile: error");
static_assert(offsetof(CAutomobile, m_afWheelSuspDist) == 0x46C, "CAutomobile: error");