sync with master

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6425 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 636eb5a2c2d040d0161156b86296cc86bb537018
Former-commit-id: 0ec4d496a46eaed21b47645969c248b83a443fd5
This commit is contained in:
madbad 2016-06-02 15:09:12 +00:00
parent 89acccc8b5
commit 80e56de5ab
2 changed files with 18 additions and 15 deletions

View file

@ -220,11 +220,11 @@ int ForceFeedbackManager::autocenterEffect(tCarElt* car, tSituation *s){
int sign;
//force acting on the front wheels
effectForce = car->_steerTq * this->effectsConfig["autocenterEffect"]["frontwheelsmultiplier"] / 1000;
effectForce = -1 * car->_steerTqAlign * this->effectsConfig["autocenterEffect"]["frontwheelsmultiplier"] / 1000;
//force action on the back wheels
effectForce += -1 * car->_wheelFy(REAR_RGT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000 ;
effectForce += -1 * car->_wheelFy(REAR_LFT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000;
effectForce += car->_wheelFy(REAR_RGT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000 ;
effectForce += car->_wheelFy(REAR_LFT) * this->effectsConfig["autocenterEffect"]["rearwheelsmultiplier"] / 1000;
//smooth
@ -239,7 +239,7 @@ int ForceFeedbackManager::autocenterEffect(tCarElt* car, tSituation *s){
//be sure this is a positive number
effectForce = effectForce * sign;
effectForce = (int)((pow((double) effectForce, (double) 1/2) * 120) * sign);
// effectForce = (int)((pow((double) effectForce, (double) 1/2) * 120) * sign);
return effectForce;

View file

@ -560,23 +560,25 @@ SimUpdate(tSituation *s, double deltaTime)
// }else{
// carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
// }
if (false){
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y + car->wheel[REAR_RGT].forces.y + car->wheel[REAR_LFT].forces.y)/4;
}else{
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
}
// if (false){
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y + car->wheel[REAR_RGT].forces.y + car->wheel[REAR_LFT].forces.y)/4;
// }else{
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
// }
/*
extern GfTelemetry telemetry;
telemetry.log("YFORCEFR",car->wheel[FRNT_RGT].forces.y);
telemetry.log("YFORCEFL",car->wheel[FRNT_LFT].forces.y);
telemetry.log("YFORCERR",car->wheel[REAR_RGT].forces.y);
telemetry.log("YFORCERL",car->wheel[REAR_LFT].forces.y);
*/
/*
GfOut("FR = %f\n", car->wheel[FRNT_RGT].forces.y);
GfOut("FL = %f\n", car->wheel[FRNT_LFT].forces.y);
GfOut("RR = %f\n", car->wheel[REAR_RGT].forces.y);
GfOut("RL = %f\n", car->wheel[REAR_LFT].forces.y);
*/
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
// carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
carElt->_steerTqCenter = -car->ctrl->steer;
carElt->_steerTqAlign = car->wheel[FRNT_RGT].torqueAlign + car->wheel[FRNT_LFT].torqueAlign;
@ -711,24 +713,25 @@ SimUpdateSingleCar(int index, double deltaTime,tSituation *s)
carElt->_steerTqAlign = car->wheel[FRNT_RGT].torqueAlign + car->wheel[FRNT_LFT].torqueAlign;
//carElt->_steerTq = -car->ctrl->steer; /*TODO: torque from Pacejka*/
carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
// carElt->_steerTq = ((-1 * car->wheel[0].forces.y) + (-1 * car->wheel[1].forces.y))/2;
/*
extern GfTelemetry telemetry;
telemetry.log("ZFORCEFR",car->wheel[0].forces.y);
telemetry.log("ZFORCEFL",car->wheel[1].forces.y);
telemetry.log("ZFORCERR",car->wheel[2].forces.y);
telemetry.log("ZFORCERL",car->wheel[3].forces.y);
carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;
*/
//front wheels: use only a force that is the delta between where the car is pointing and wheel is pointing
carElt->_steerTq += car->wheel[FRNT_RGT].forces.y * car->wheel[FRNT_RGT].sa;
carElt->_steerTq += car->wheel[FRNT_LFT].forces.y * car->wheel[FRNT_LFT].sa;
// carElt->_steerTq += car->wheel[FRNT_RGT].forces.y * car->wheel[FRNT_RGT].sa;
// carElt->_steerTq += car->wheel[FRNT_LFT].forces.y * car->wheel[FRNT_LFT].sa;
//rear wheels: use all the lateral force
//carElt->_steerTq += car->wheel[REAR_RGT].forces.y;
//carElt->_steerTq += car->wheel[REAR_LFT].forces.y;
carElt->_steerTq *=-1;
//carElt->_steerTq *=-1;
//carElt->_steerTq = -1 * (car->wheel[FRNT_RGT].forces.y + car->wheel[FRNT_LFT].forces.y)/2;