[Racer-svn] SF.net SVN: racer:[312] trunk/racer/Engine/GameObjects/Car.cpp
Status: Alpha
Brought to you by:
jlegg
From: <jl...@us...> - 2010-06-25 18:20:58
|
Revision: 312 http://racer.svn.sourceforge.net/racer/?rev=312&view=rev Author: jlegg Date: 2010-06-25 18:20:52 +0000 (Fri, 25 Jun 2010) Log Message: ----------- Improve handeling of car 2. Modified Paths: -------------- trunk/racer/Engine/GameObjects/Car.cpp Modified: trunk/racer/Engine/GameObjects/Car.cpp =================================================================== --- trunk/racer/Engine/GameObjects/Car.cpp 2010-06-25 16:58:14 UTC (rev 311) +++ trunk/racer/Engine/GameObjects/Car.cpp 2010-06-25 18:20:52 UTC (rev 312) @@ -22,7 +22,16 @@ const btScalar _force_scale = 1.5; +/// stearing torque scale per car model. High values imply car turns easily. +const btScalar _car_stearing_scale[2] = {0.02, 0.03}; +/// stearing torque in midair per car model. +const btScalar _car_stearing_scale_midair[2] = {0.01, 0.015}; +/** control over car sliding. Higher values give strong manual sliding and + * strong recovery from sliding when cornering. + */ +const btScalar _car_slide_scale[2] = {1.0, 1.5}; + /* Correction for stupid bouncing my cars up in the air when they drive over the * internal edges of flat triangulated sections of the road. */ @@ -508,12 +517,12 @@ // turning left and right. btVector3 torque_vector = btVector3(0.0, 0.0, - torque.getZ() * 0.02 * _force_scale); + torque.getZ() * _car_stearing_scale[car_model] * _force_scale); local_torque = rotation_transform(torque_vector); } else { // allow reduced stearing in mid air. btVector3 torque_vector = btVector3(0.0, 0.0, - torque.getZ() * 0.01 * _force_scale); + torque.getZ() * _car_stearing_scale_midair[car_model] * _force_scale); local_torque = rotation_transform(torque_vector); // note that you carry on in roughly the same direction. // The sliding physics make it slightly more useful. @@ -542,7 +551,7 @@ if (slide_assist < 0.0) slide_assist = 0.0; // If sliding the right way really fast, put a limit on the speed. if (slide_assist > 35.0) slide_assist = 35.0; - unforce.setX(unforce.x() - sideways_velocity * (50.0 - slide_assist)); + unforce.setX((unforce.x() - sideways_velocity * (50.0 - slide_assist)) * _car_slide_scale[car_model]); if (sideways_velocity < 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |