diff options
Diffstat (limited to 'src/vehicles/Boat.h')
-rw-r--r-- | src/vehicles/Boat.h | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/vehicles/Boat.h b/src/vehicles/Boat.h index 56aff264..5d866c48 100644 --- a/src/vehicles/Boat.h +++ b/src/vehicles/Boat.h @@ -1,33 +1,38 @@ #pragma once #include "Vehicle.h" +#include "Door.h" enum eBoatNodes { BOAT_MOVING = 1, - BOAT_RUDDER, BOAT_WINDSCREEN, + BOAT_RUDDER, + BOAT_FLAP_LEFT, + BOAT_FLAP_RIGHT, + BOAT_REARFLAP_LEFT, + BOAT_REARFLAP_RIGHT, NUM_BOAT_NODES }; class CBoat : public CVehicle { public: - // 0x288 - float m_fThrustZ; - float m_fThrustY; - CVector m_vecMoveRes; - CVector m_vecTurnRes; float m_fMovingRotation; + float m_fMovingSpeed; int32 m_boat_unused1; RwFrame *m_aBoatNodes[NUM_BOAT_NODES]; + CDoor m_boom; + tBoatHandlingData *pBoatHandling; uint8 bBoatInWater : 1; uint8 bPropellerInWater : 1; bool m_bIsAnchored; float m_fOrientation; + uint32 m_nPoliceShoutTimer; int32 m_boat_unused2; float m_fDamage; CEntity *m_pSetOnFireEntity; + float m_skimmerThingTimer; bool m_boat_unused3; float m_fAccelerate; float m_fBrake; @@ -42,22 +47,28 @@ public: CVector2D m_avec2dWakePoints[32]; float m_afWakePointLifeTime[32]; + static float MAX_WAKE_LENGTH; + static float MIN_WAKE_INTERVAL; + static float WAKE_LIFETIME; + CBoat(int, uint8); virtual void SetModelIndex(uint32 id); virtual void ProcessControl(); virtual void Teleport(CVector v); - virtual void PreRender(void) {}; + virtual void PreRender(void); virtual void Render(void); virtual void ProcessControlInputs(uint8); virtual void GetComponentWorldPosition(int32 component, CVector &pos); virtual bool IsComponentPresent(int32 component) { return true; } virtual void BlowUpCar(CEntity *ent); - + + void RenderWaterOutPolys(void); void ApplyWaterResistance(void); void SetupModelNodes(); void PruneWakeTrail(void); void AddWakePoint(CVector point); + void DoDriveByShootings(void); static CBoat *apFrameWakeGeneratingBoats[4]; @@ -71,10 +82,4 @@ public: #endif static const uint32 nSaveStructSize; -}; - -VALIDATE_SIZE(CBoat, 0x484); - -extern float MAX_WAKE_LENGTH; -extern float MIN_WAKE_INTERVAL; -extern float WAKE_LIFETIME;
\ No newline at end of file +};
\ No newline at end of file |