diff --git a/Extras/VHACD/test/src/main.cpp b/Extras/VHACD/test/src/main.cpp index 6b1204726..1c6112339 100644 --- a/Extras/VHACD/test/src/main.cpp +++ b/Extras/VHACD/test/src/main.cpp @@ -38,6 +38,14 @@ using namespace VHACD; using namespace std; +bool replace(std::string& str, const std::string& from, const std::string& to) { + size_t start_pos = str.find(from); + if(start_pos == std::string::npos) + return false; + str.replace(start_pos, from.length(), to); + return true; +} + class MyCallback : public IVHACD::IUserCallback { public: MyCallback(void) {} @@ -293,7 +301,16 @@ void ParseParameters(int argc, char* argv[], Parameters& params) for (int i = 1; i < argc; ++i) { if (!strcmp(argv[i], "--input")) { if (++i < argc) + { params.m_fileNameIn = argv[i]; + //come up with some default output name, if not provided + if (params.m_fileNameOut.length()==0) + { + string tmp = argv[i]; + replace(tmp,".obj",".vhacd.obj"); + params.m_fileNameOut = tmp; + } + } } else if (!strcmp(argv[i], "--output")) { if (++i < argc) diff --git a/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp b/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp index a7b168846..f05a4376c 100644 --- a/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp +++ b/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp @@ -615,7 +615,7 @@ void btRaycastVehicle::updateFriction(btScalar timeStep) btScalar defaultRollingFrictionImpulse = 0.f; btScalar maxImpulse = wheelInfo.m_brake ? wheelInfo.m_brake : defaultRollingFrictionImpulse; btWheelContactPoint contactPt(m_chassisBody,groundObject,wheelInfo.m_raycastInfo.m_contactPointWS,m_forwardWS[wheel],maxImpulse); - rollingFriction = calcRollingFriction(contactPt); + rollingFriction = calcRollingFriction(contactPt)/btScalar(getNumWheels()); } }