mirror of
https://github.com/halpz/re3.git
synced 2025-07-24 18:19:42 +00:00
more CAutomobile
This commit is contained in:
@ -457,7 +457,7 @@ CPhysical::ApplySpringCollision(float springConst, CVector &springDir, CVector &
|
||||
float compression = 1.0f - springRatio;
|
||||
if(compression > 0.0f){
|
||||
float step = min(CTimer::GetTimeStep(), 3.0f);
|
||||
float impulse = -0.008f*m_fMass*step * springConst * compression * bias*2.0f;
|
||||
float impulse = -GRAVITY*m_fMass*step * springConst * compression * bias*2.0f;
|
||||
ApplyMoveForce(springDir*impulse);
|
||||
ApplyTurnForce(springDir*impulse, point);
|
||||
}
|
||||
@ -489,7 +489,7 @@ void
|
||||
CPhysical::ApplyGravity(void)
|
||||
{
|
||||
if(bAffectedByGravity)
|
||||
m_vecMoveSpeed.z -= 0.008f * CTimer::GetTimeStep();
|
||||
m_vecMoveSpeed.z -= GRAVITY * CTimer::GetTimeStep();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1783,7 +1783,7 @@ CPhysical::ProcessShift(void)
|
||||
}
|
||||
bIsStuck = false;
|
||||
bIsInSafePosition = true;
|
||||
m_fDistanceTravelled = (GetPosition() - *matrix.GetPosition()).Magnitude();
|
||||
m_fDistanceTravelled = (GetPosition() - matrix.GetPosition()).Magnitude();
|
||||
RemoveAndAdd();
|
||||
}
|
||||
}
|
||||
@ -1925,7 +1925,7 @@ CPhysical::ProcessCollision(void)
|
||||
}
|
||||
}
|
||||
bHitByTrain = false;
|
||||
m_fDistanceTravelled = (GetPosition() - *savedMatrix.GetPosition()).Magnitude();
|
||||
m_fDistanceTravelled = (GetPosition() - savedMatrix.GetPosition()).Magnitude();
|
||||
m_phy_flagA80 = false;
|
||||
|
||||
bIsStuck = false;
|
||||
|
@ -8,6 +8,8 @@ enum {
|
||||
PHYSICAL_MAX_COLLISIONRECORDS = 6
|
||||
};
|
||||
|
||||
#define GRAVITY (0.008f)
|
||||
|
||||
class CTreadable;
|
||||
|
||||
class CPhysical : public CEntity
|
||||
@ -108,7 +110,23 @@ public:
|
||||
}
|
||||
|
||||
const CVector &GetMoveSpeed() { return m_vecMoveSpeed; }
|
||||
void SetMoveSpeed(float x, float y, float z) {
|
||||
m_vecMoveSpeed.x = x;
|
||||
m_vecMoveSpeed.y = y;
|
||||
m_vecMoveSpeed.z = z;
|
||||
}
|
||||
const CVector &GetTurnSpeed() { return m_vecTurnSpeed; }
|
||||
void SetTurnSpeed(float x, float y, float z) {
|
||||
m_vecTurnSpeed.x = x;
|
||||
m_vecTurnSpeed.y = y;
|
||||
m_vecTurnSpeed.z = z;
|
||||
}
|
||||
const CVector &GetCenterOfMass() { return m_vecCentreOfMass; }
|
||||
void SetCenterOfMass(float x, float y, float z) {
|
||||
m_vecCentreOfMass.x = x;
|
||||
m_vecCentreOfMass.y = y;
|
||||
m_vecCentreOfMass.z = z;
|
||||
}
|
||||
|
||||
void ApplyMoveSpeed(void);
|
||||
void ApplyTurnSpeed(void);
|
||||
|
Reference in New Issue
Block a user