implemented cBuoyancy
This commit is contained in:
45
src/vehicles/Floater.h
Normal file
45
src/vehicles/Floater.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
class Physical;
|
||||
|
||||
enum tWaterLevel
|
||||
{
|
||||
FLOATER_ABOVE_WATER,
|
||||
FLOATER_IN_WATER,
|
||||
FLOATER_UNDER_WATER,
|
||||
};
|
||||
|
||||
class cBuoyancy
|
||||
{
|
||||
public:
|
||||
CVector m_position;
|
||||
CMatrix m_matrix;
|
||||
int m_field_54;
|
||||
CVector m_positionZ;
|
||||
float m_waterlevel;
|
||||
float m_waterLevelInc;
|
||||
float m_buoyancy;
|
||||
CVector m_dimMax;
|
||||
CVector m_dimMin;
|
||||
float m_numPartialVolumes;
|
||||
int m_field_8C;
|
||||
int m_field_90;
|
||||
int m_field_94;
|
||||
bool m_haveVolume;
|
||||
CVector m_step;
|
||||
CVector m_stepRatio;
|
||||
float m_numSteps;
|
||||
bool m_flipAverage;
|
||||
char m_field_B9;
|
||||
bool m_isBoat;
|
||||
float m_volumeUnderWater;
|
||||
CVector m_impulse;
|
||||
|
||||
bool ProcessBuoyancy(CPhysical *phys, float buoyancy, CVector *impulse, CVector *point);
|
||||
void PreCalcSetup(CPhysical *phys, float buoyancy);
|
||||
void SimpleCalcBuoyancy(void);
|
||||
float SimpleSumBuoyancyData(CVector &waterLevel, tWaterLevel waterPosition);
|
||||
void FindWaterLevel(const CVector &zpos, CVector *waterLevel, tWaterLevel *waterPosition);
|
||||
bool CalcBuoyancyForce(CPhysical *phys, CVector *impulse, CVector *point);
|
||||
};
|
||||
extern cBuoyancy &mod_Buoyancy;
|
||||
Reference in New Issue
Block a user