From: <hik...@us...> - 2007-12-17 13:42:21
|
Revision: 1362 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=1362&view=rev Author: hikerstk Date: 2007-12-17 05:42:19 -0800 (Mon, 17 Dec 2007) Log Message: ----------- 1) Enables triangle dependent friction setting, and therefore skidding (currently only for sand). Modified Paths: -------------- trunk/supertuxkart/data/materials.dat trunk/supertuxkart/src/kart.cpp trunk/supertuxkart/src/kart.hpp Modified: trunk/supertuxkart/data/materials.dat =================================================================== --- trunk/supertuxkart/data/materials.dat 2007-12-17 13:16:09 UTC (rev 1361) +++ trunk/supertuxkart/data/materials.dat 2007-12-17 13:42:19 UTC (rev 1362) @@ -120,7 +120,7 @@ "stones.rgb" N N N 0.0 Y N 0.2 N N N N "pebbles.rgb" N N N 0.0 Y N 1.0 N N N N "floor.rgb" N N N 0.0 Y N 1.0 N N N N -"sand.rgb" N N N 0.0 Y N 0.5 N N N N +"sand.rgb" N N N 0.0 Y N 0.0000001 N N N N "sandgrass.rgb" N N N 0.0 Y N 0.5 N N N N "egypt.rgb" N N N 0.0 Y N 1.0 N N N Y "pyramidwall.rgb" N N N 0.0 Y N 1.0 N N N N Modified: trunk/supertuxkart/src/kart.cpp =================================================================== --- trunk/supertuxkart/src/kart.cpp 2007-12-17 13:16:09 UTC (rev 1361) +++ trunk/supertuxkart/src/kart.cpp 2007-12-17 13:42:19 UTC (rev 1362) @@ -137,7 +137,6 @@ m_finish_time = 0.0f; m_prev_accel = 0.0f; m_wheelie_angle = 0.0f; - m_current_friction = 1.0f; m_time_since_stuck = 0.0f; m_smokepuff = NULL; m_smoke_system = NULL; @@ -720,16 +719,7 @@ updatePhysics(dt); sgCopyVec2 ( m_last_track_coords, m_curr_track_coords ); - if(m_material_hot && isOnGround()) - { - float r=m_material_hot->getFriction(); - if(r<m_current_friction) - { - m_velocity.xyz[1]-= (m_current_friction*m_current_friction-r*r) - *m_velocity.xyz[1]; - } // r<m_current_friction - m_current_friction = r; - } // if m_material_hot + Moveable::update(dt); btTransform trans; getTrans(&trans); @@ -741,15 +731,13 @@ } else { -#ifdef TERRAIN_SPECIFIC_FRICTION for(int i=0; i<m_vehicle->getNumWheels(); i++) { // terrain dependent friction - m_vehicle->getWheelInfo(i).m_frictionSlip = - m_kart_properties->getFrictionSlip() * - getMaterial()->getFriction(); + m_vehicle->getWheelInfo(i).m_frictionSlip = getFrictionSlip() * + getMaterial()->getFriction(); } // for i<getNumWheels -#endif + } // if there is terrain and it's not a reset material doObjectInteractions(); Modified: trunk/supertuxkart/src/kart.hpp =================================================================== --- trunk/supertuxkart/src/kart.hpp 2007-12-17 13:16:09 UTC (rev 1361) +++ trunk/supertuxkart/src/kart.hpp 2007-12-17 13:42:19 UTC (rev 1362) @@ -88,7 +88,6 @@ float m_max_speed; // maximum speed of the kart, computed from float m_max_speed_reverse_ratio; float m_wheelie_angle ; - float m_current_friction; // current friction float m_lap_start_time; // Time at start of a new lap float m_kart_length; // length of kart char m_fastest_lap_message[255]; @@ -201,6 +200,7 @@ float getWheelBase () const {return m_kart_properties->getWheelBase();} float getHeightCOG () const {return m_kart_properties->getHeightCOG();} float getTireGrip () const {return m_kart_properties->getTireGrip();} + float getFrictionSlip () const {return m_kart_properties->getFrictionSlip();} float getMaxSteerAngle () const {return m_kart_properties->getMaxSteerAngle();} float getCornerStiffF () const {return m_kart_properties->getCornerStiffF();} float getCornerStiffR () const {return m_kart_properties->getCornerStiffR();} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |