From 1f1b5aca1c6e4bce0fad8a358d97c661ec60f843 Mon Sep 17 00:00:00 2001 From: wdbee Date: Sun, 25 Mar 2012 12:43:29 +0000 Subject: [PATCH] Small bug fix git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4609 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: a76e2cd6c948b276822bd999dfa34bbe2316731f Former-commit-id: 66521864c7fd1dd17ddbab56e3f5f28c38637951 --- src/modules/simu/simuv2.1/collide.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/simu/simuv2.1/collide.cpp b/src/modules/simu/simuv2.1/collide.cpp index 5a6d5b747..aca6ea1a0 100644 --- a/src/modules/simu/simuv2.1/collide.cpp +++ b/src/modules/simu/simuv2.1/collide.cpp @@ -44,13 +44,18 @@ void SimCarCollideZ(tCar *car) if (dotProd < CRASH_THRESHOLD) { car->collision |= SEM_COLLISION_Z_CRASH; } - car->collision |= SEM_COLLISION_Z; + + if ((car->carElt->_state & RM_CAR_STATE_FINISH) == 0) { + int deltaDamage = (int)(wheel->trkPos.seg->surface->kDammage * fabs(dotProd) * simDammageFactor[car->carElt->_skillLevel]); + if (deltaDamage > 1) + { + car->collision |= SEM_COLLISION_Z; + car->dammage += deltaDamage; + } + } car->DynGCg.vel.x -= normal.x * dotProd; car->DynGCg.vel.y -= normal.y * dotProd; car->DynGCg.vel.z -= normal.z * dotProd; - if ((car->carElt->_state & RM_CAR_STATE_FINISH) == 0) { - car->dammage += (int)(wheel->trkPos.seg->surface->kDammage * fabs(dotProd) * simDammageFactor[car->carElt->_skillLevel]); - } } } }