StretchMark 98% matching
This commit is contained in:
parent
3651325cdc
commit
2977ee40cc
|
|
@ -227,7 +227,7 @@ void SkidSection(tCar_spec* pCar, int pWheel_num, br_vector3* pPos, int pMateria
|
|||
br_material* material;
|
||||
|
||||
if (BrVector3Dot(&pCar->prev_nor[pWheel_num], &pCar->nor[pWheel_num]) < 0.99699998f
|
||||
|| (float)fabs(BrVector3Dot(&pCar->nor[pWheel_num], pPos) - BrVector3Dot(&pCar->prev_skid_pos[pWheel_num], &pCar->nor[pWheel_num])) > 0.01f) {
|
||||
|| BR_ABS(BrVector3Dot(&pCar->nor[pWheel_num], pPos) - BrVector3Dot(&pCar->prev_skid_pos[pWheel_num], &pCar->nor[pWheel_num])) > 0.01f) {
|
||||
pCar->old_skidding &= ~(1 << pWheel_num);
|
||||
pCar->old_skid[pWheel_num] = -1;
|
||||
return;
|
||||
|
|
@ -267,11 +267,14 @@ void StretchMark(tSkid* pMark, br_vector3* pFrom, br_vector3* pTo, br_scalar pTe
|
|||
BrVector3Sub(&temp, pTo, pFrom);
|
||||
len = BrVector3Length(&temp);
|
||||
|
||||
rows[2].v[0] = pMark->normal.v[2] * temp.v[1] - pMark->normal.v[1] * temp.v[2];
|
||||
rows[2].v[1] = pMark->normal.v[0] * temp.v[2] - pMark->normal.v[2] * temp.v[0];
|
||||
rows[2].v[2] = pMark->normal.v[1] * temp.v[0] - pMark->normal.v[0] * temp.v[1];
|
||||
|
||||
if (len > BR_SCALAR_EPSILON) {
|
||||
if (len < BR_SCALAR_EPSILON) {
|
||||
rows[2].v[0] = pMark->normal.v[2] * temp.v[1] - pMark->normal.v[1] * temp.v[2];
|
||||
rows[2].v[1] = pMark->normal.v[0] * temp.v[2] - pMark->normal.v[2] * temp.v[0];
|
||||
rows[2].v[2] = pMark->normal.v[1] * temp.v[0] - pMark->normal.v[0] * temp.v[1];
|
||||
} else {
|
||||
rows[2].v[0] = pMark->normal.v[2] * temp.v[1] - pMark->normal.v[1] * temp.v[2];
|
||||
rows[2].v[1] = pMark->normal.v[0] * temp.v[2] - pMark->normal.v[2] * temp.v[0];
|
||||
rows[2].v[2] = pMark->normal.v[1] * temp.v[0] - pMark->normal.v[0] * temp.v[1];
|
||||
rows[2].v[0] = 0.05f / len * rows[2].v[0];
|
||||
rows[2].v[1] = 0.05f / len * rows[2].v[1];
|
||||
rows[2].v[2] = 0.05f / len * rows[2].v[2];
|
||||
|
|
|
|||
Loading…
Reference in New Issue