Index: code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp
===================================================================
--- code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp	(revision 2907)
+++ code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.cpp	(revision 2908)
@@ -20,5 +20,6 @@
 #include "btWheelInfo.h"
 #include "LinearMath/btMinMax.h"
-#include "LinearMath/btIDebugDraw.h"
+
+
 #include "BulletDynamics/ConstraintSolver/btContactConstraint.h"
 
@@ -26,5 +27,6 @@
 
 btRaycastVehicle::btRaycastVehicle(const btVehicleTuning& tuning,btRigidBody* chassis,	btVehicleRaycaster* raycaster )
-:m_vehicleRaycaster(raycaster),
+: btTypedConstraint(VEHICLE_CONSTRAINT_TYPE),
+m_vehicleRaycaster(raycaster),
 m_pitchControl(btScalar(0.))
 {
@@ -86,5 +88,5 @@
 const btTransform&	btRaycastVehicle::getWheelTransformWS( int wheelIndex ) const
 {
-	btAssert(wheelIndex < getNumWheels());
+	assert(wheelIndex < getNumWheels());
 	const btWheelInfo& wheel = m_wheelInfo[wheelIndex];
 	return wheel.m_worldTransform;
@@ -174,5 +176,5 @@
 	btVehicleRaycaster::btVehicleRaycasterResult	rayResults;
 
-	btAssert(m_vehicleRaycaster);
+	assert(m_vehicleRaycaster);
 
 	void* object = m_vehicleRaycaster->castRay(source,target,rayResults);
@@ -358,5 +360,5 @@
 void	btRaycastVehicle::setSteeringValue(btScalar steering,int wheel)
 {
-	btAssert(wheel>=0 && wheel < getNumWheels());
+	assert(wheel>=0 && wheel < getNumWheels());
 
 	btWheelInfo& wheelInfo = getWheelInfo(wheel);
@@ -374,5 +376,5 @@
 void	btRaycastVehicle::applyEngineForce(btScalar force, int wheel)
 {
-	btAssert(wheel>=0 && wheel < getNumWheels());
+	assert(wheel>=0 && wheel < getNumWheels());
 	btWheelInfo& wheelInfo = getWheelInfo(wheel);
 	wheelInfo.m_engineForce = force;
@@ -703,34 +705,4 @@
 
 
-
-void	btRaycastVehicle::debugDraw(btIDebugDraw* debugDrawer)
-{
-
-	for (int v=0;v<this->getNumWheels();v++)
-	{
-		btVector3 wheelColor(0,255,255);
-		if (getWheelInfo(v).m_raycastInfo.m_isInContact)
-		{
-			wheelColor.setValue(0,0,255);
-		} else
-		{
-			wheelColor.setValue(255,0,255);
-		}
-
-		btVector3 wheelPosWS = getWheelInfo(v).m_worldTransform.getOrigin();
-
-		btVector3 axle = btVector3(	
-			getWheelInfo(v).m_worldTransform.getBasis()[0][getRightAxis()],
-			getWheelInfo(v).m_worldTransform.getBasis()[1][getRightAxis()],
-			getWheelInfo(v).m_worldTransform.getBasis()[2][getRightAxis()]);
-
-		//debug wheels (cylinders)
-		debugDrawer->drawLine(wheelPosWS,wheelPosWS+axle,wheelColor);
-		debugDrawer->drawLine(wheelPosWS,getWheelInfo(v).m_raycastInfo.m_contactPointWS,wheelColor);
-
-	}
-}
-
-
 void* btDefaultVehicleRaycaster::castRay(const btVector3& from,const btVector3& to, btVehicleRaycasterResult& result)
 {
@@ -756,3 +728,2 @@
 	return 0;
 }
-
Index: code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h
===================================================================
--- code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h	(revision 2907)
+++ code/branches/questsystem5/src/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h	(revision 2908)
@@ -18,10 +18,9 @@
 #include "LinearMath/btAlignedObjectArray.h"
 #include "btWheelInfo.h"
-#include "BulletDynamics/Dynamics/btActionInterface.h"
 
 class btVehicleTuning;
 
 ///rayCast vehicle, very special constraint that turn a rigidbody into a vehicle.
-class btRaycastVehicle : public btActionInterface
+class btRaycastVehicle : public btTypedConstraint
 {
 
@@ -75,15 +74,5 @@
 	virtual ~btRaycastVehicle() ;
 
-
-	///btActionInterface interface
-	virtual void updateAction( btCollisionWorld* collisionWorld, btScalar step)
-	{
-		updateVehicle(step);
-	}
-	
-
-	///btActionInterface interface
-	void	debugDraw(btIDebugDraw* debugDrawer);
-			
+		
 	const btTransform& getChassisWorldTransform() const;
 	
@@ -91,6 +80,5 @@
 
 	virtual void updateVehicle(btScalar step);
-	
-	
+
 	void resetSuspension();
 
@@ -188,4 +176,14 @@
 	}
 
+	virtual void	buildJacobian()
+	{
+		//not yet
+	}
+
+	virtual	void	solveConstraint(btScalar	timeStep)
+	{
+		(void)timeStep;
+		//not yet
+	}
 
 
