summaryrefslogtreecommitdiffstats
path: root/src/entities/Physical.h
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2021-08-02 20:04:15 +0200
committeraap <aap@papnet.eu>2021-08-02 20:05:39 +0200
commit0338d4c393f45cd6aede7bc24190f9558c4a6f94 (patch)
tree564ba651a4992f65888f6d0760ee5fdfc436b23b /src/entities/Physical.h
parentMerge branch 'miami' into lcs (diff)
downloadre3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar.gz
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar.bz2
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar.lz
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar.xz
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.tar.zst
re3-0338d4c393f45cd6aede7bc24190f9558c4a6f94.zip
Diffstat (limited to 'src/entities/Physical.h')
-rw-r--r--src/entities/Physical.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/entities/Physical.h b/src/entities/Physical.h
index 290c267c..71e30485 100644
--- a/src/entities/Physical.h
+++ b/src/entities/Physical.h
@@ -15,8 +15,6 @@ class CTreadable;
class CPhysical : public CEntity
{
public:
- // The not properly indented fields haven't been checked properly yet
-
int32 m_audioEntityId;
float m_phys_unused1;
uint32 m_nLastTimeCollided;
@@ -63,9 +61,13 @@ public:
uint8 m_bIsVehicleBeingShifted : 1; // wrong name - also used on but never set for peds
uint8 bJustCheckCollision : 1; // just see if there is a collision
+bool phys_lcs_unk1;
+
uint8 m_nSurfaceTouched;
int8 m_nZoneLevel;
+int8 phys_lcs_unk2;
+
CPhysical(void);
~CPhysical(void);
@@ -77,6 +79,9 @@ public:
void ProcessShift(void);
void ProcessCollision(void);
+ // these two are virtual in LCS...why?
+ virtual void ApplyMoveSpeed(void);
+ virtual void ApplyTurnSpeed(void);
virtual int32 ProcessEntityCollision(CEntity *ent, CColPoint *colpoints);
void RemoveAndAdd(void);
@@ -143,8 +148,6 @@ public:
m_vecCentreOfMass.z = z;
}
- void ApplyMoveSpeed(void);
- void ApplyTurnSpeed(void);
// Force actually means Impulse here
void ApplyMoveForce(float jx, float jy, float jz);
void ApplyMoveForce(const CVector &j) { ApplyMoveForce(j.x, j.y, j.z); }
@@ -152,6 +155,7 @@ public:
void ApplyTurnForce(float jx, float jy, float jz, float px, float py, float pz);
// j is direction of force, p is point relative to model center where force is applied
void ApplyTurnForce(const CVector &j, const CVector &p) { ApplyTurnForce(j.x, j.y, j.z, p.x, p.y, p.z); }
+ void ApplyTurnForceMultiplayer(const CVector &j, const CVector &p);
void ApplyFrictionMoveForce(float jx, float jy, float jz);
void ApplyFrictionMoveForce(const CVector &j) { ApplyFrictionMoveForce(j.x, j.y, j.z); }
void ApplyFrictionTurnForce(float jx, float jy, float jz, float rx, float ry, float rz);
@@ -175,6 +179,8 @@ public:
bool CheckCollision(void);
bool CheckCollision_SimpleCar(void);
+ void SendMuliVehicleCollision(CEntity *,CColPoint *,float) {}
+
// TEMP
bool ApplySpringCollisionAlt(float springConst, CVector &springDir, CVector &point, float springRatio, float bias, CVector &forceDir);
bool ApplySpringDampening(float damping, CVector &springDir, CVector &point, CVector &speed);