Index: ode.h
===================================================================
--- ode.h	(revision 858)
+++ ode.h	(revision 859)
@@ -1730,7 +1730,7 @@
 with ##RAYDIUM_ODE_DRAW_DEBUG##
 - draw only objets AABB (Axis-Aligned Bounding Box) with ##RAYDIUM_ODE_DRAW_AABB##
 - draw only element rays (if any) with ##RAYDIUM_ODE_DRAW_RAY##
-- do the same as regular rendering, but will not apply post-rendering to the 
+- do the same as regular rendering, but will not apply post-rendering to the
 frame with the value ##RAYDIUM_ODE_DRAW_NORMAL_NO_POST## (see previous function)
 ... so you may need multiple call to this function each frame.
 **/
@@ -1999,29 +1999,58 @@
 return ##1## (true) if yes, ##0## (false) otherwise.
 **/
 
-signed char raydium_ode_element_disable_get(int elem);
+__rayapi signed char raydium_ode_element_disable_get(int elem);
 /**
 Return whatever or not an element is disabled.
 In this case it is not treated by the solver.
 Will return ##1## if element is disabled, ##0## if not.
 **/
 
-signed char raydium_ode_element_disable_get_name (char *e);
+__rayapi signed char raydium_ode_element_disable_get_name (char *e);
 /**
 Same as above using element name.
 **/
 
-void raydium_ode_element_disable_set(int elem, signed char disable_state);
+__rayapi void raydium_ode_element_disable_set(int elem, signed char disable_state);
 /**
 Allow user to disable or reactivate an element manually.
 if ##disable_state## is ##1## element will be desactived,
 ##0## will re-activate the element.
 **/
 
-void raydium_ode_element_disable_set_name (char *e, signed char disable_state);
+__rayapi void raydium_ode_element_disable_set_name (char *e, signed char disable_state);
 /**
 Same as above with element name.
 **/
 
+__rayapi void raydium_ode_contact_feedback_save(int custom_id);
+/**
+During your ##raydium_ode_CollideCallback##, you may want to save forces
+and torques that **will** be generated by the contact you're creating.
+
+This function allows you to do this, simply by providing a ##custom_id##, a
+unique identifier, in the range [0,##RAYDIUM_ODE_CONTACTS_FEEDBACK_MAX##].
+Most of the time, this value is the "current" element id, like the wheel id
+during a road/wheel contact, for instance. It's then very easy to get the saved
+forces and torques during the next physics iteration using the same id (the
+wheel id is the same from one iteration to another).
+**/
+
+__rayapi dJointFeedback *raydium_ode_contact_feedback_get(int custom_id);
+/**
+This function will return a pointer to a ##dJointFeedback## structure, where
+you'll find the forces and torques saved with
+##raydium_ode_contact_feedback_save()## during **the previous physics iteration**.
+See above for more informations about ##custom_id##.
+%%(c)
+typedef struct dJointFeedback {
+    dVector3 f1; // force that joint applies to body 1
+    dVector3 t1; // torque that joint applies to body 1
+    dVector3 f2; // force that joint applies to body 2
+    dVector3 t2; // torque that joint applies to body 2
+} dJointFeedback;
+%%
+**/
+
 #include "ode_net.h"
 #endif