mirror of
https://github.com/halpz/re3.git
synced 2025-07-22 04:29:45 +00:00
small fixes
This commit is contained in:
@ -4314,7 +4314,7 @@ GetCurrentAtomicObjectCB(RwObject *object, void *data)
|
||||
return object;
|
||||
}
|
||||
|
||||
CColPoint spherepoints[MAX_COLLISION_POINTS];
|
||||
static CColPoint aTempPedColPts[MAX_COLLISION_POINTS];
|
||||
|
||||
CObject*
|
||||
CAutomobile::SpawnFlyingComponent(int32 component, uint32 type)
|
||||
@ -4434,7 +4434,7 @@ CAutomobile::SpawnFlyingComponent(int32 component, uint32 type)
|
||||
|
||||
if(CCollision::ProcessColModels(obj->GetMatrix(), *obj->GetColModel(),
|
||||
this->GetMatrix(), *this->GetColModel(),
|
||||
spherepoints, nil, nil) > 0)
|
||||
aTempPedColPts, nil, nil) > 0)
|
||||
obj->m_pCollidingEntity = this;
|
||||
|
||||
if(bRenderScorched)
|
||||
|
@ -570,7 +570,7 @@ CHeli::PreRender(void)
|
||||
i = 0;
|
||||
for(angle = 0.0f; angle < TWOPI; angle += TWOPI/32){
|
||||
CVector pos(radius*Cos(angle), radius*Sin(angle), 0.0f);
|
||||
CVector dir = pos*0.01f;
|
||||
CVector dir = CVector(pos.x, pos.y, 1.0f)*0.01f;
|
||||
pos += GetPosition();
|
||||
|
||||
if(CWorld::ProcessVerticalLine(pos, testLowZ, point, entity, true, false, false, false, true, false, nil))
|
||||
|
@ -466,6 +466,10 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon
|
||||
static bool bBraking;
|
||||
static bool bDriving;
|
||||
|
||||
#ifdef FIX_BUGS
|
||||
bAlreadySkidding = false;
|
||||
#endif
|
||||
|
||||
// how much force we want to apply in these axes
|
||||
float fwd = 0.0f;
|
||||
float right = 0.0f;
|
||||
@ -547,7 +551,8 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon
|
||||
}
|
||||
}
|
||||
|
||||
if(sq(adhesion) < sq(right) + sq(fwd)){
|
||||
float speedSq = sq(right) + sq(fwd);
|
||||
if(sq(adhesion) < speedSq){
|
||||
if(*wheelState != WHEEL_STATE_FIXED){
|
||||
if(bDriving && contactSpeedFwd < 0.2f)
|
||||
*wheelState = WHEEL_STATE_SPINNING;
|
||||
@ -555,7 +560,7 @@ CVehicle::ProcessWheel(CVector &wheelFwd, CVector &wheelRight, CVector &wheelCon
|
||||
*wheelState = WHEEL_STATE_SKIDDING;
|
||||
}
|
||||
|
||||
float l = Sqrt(sq(right) + sq(fwd));
|
||||
float l = Sqrt(speedSq);
|
||||
float tractionLoss = bAlreadySkidding ? 1.0f : pHandling->fTractionLoss;
|
||||
right *= adhesion * tractionLoss / l;
|
||||
fwd *= adhesion * tractionLoss / l;
|
||||
|
Reference in New Issue
Block a user