Index: train.c
===================================================================
--- train.c	(revision 639)
+++ train.c	(revision 640)
@@ -67,7 +67,12 @@
 raydium_ode_draw_all(0);
 if(raydium_key[GLUT_KEY_F1])
     raydium_ode_draw_all(1);
-
+//keys explanation on OSD
+raydium_osd_color_rgba(1,1,1,1);
+raydium_osd_printf(3,83,16,0.5,"font2.tga","Use keys 'a','z','e' to change the time callback");
+raydium_osd_printf(3,87,16,0.5,"font2.tga","Use keys 'HOME','END' to move the train");
+raydium_osd_printf(3,91,16,0.5,"font2.tga","Use key 'F1' to show debug ODE collision boxes");
+raydium_osd_printf(3,95,16,0.5,"font2.tga","Use cursors and mouse to move the camera");
 raydium_osd_logo("logo.tga");
     
 raydium_rendering_finish();
,0,-0.3,0,0,1);

raydium_ode_object_box_add("train_bog2",$a,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
set_bog_slip("train_bog2");
raydium_ode_element_move_name_3f("train_bog2",-0.65,0,-0.3);
raydium_ode_joint_attach_hinge_name("train_atta2","train_train","train_bog2",-0.65,0,-0.3,0,0,1);


raydium_ode_motor_create("train_moteur",$a,RAYDIUM_ODE_MOTOR_ROCKET);
raydium_ode_motor_rocket_set_name("train_moteur","train_bog2",0,0,0);
raydium_ode_motor_rocket_orientation_name("train_moteur",0,-90,0);

return $a;
}

function create_wagon($train,$x,$attach_to)
{
if($train<0) return -1;

$px=$x*2.95;

raydium_ode_object_box_add("train_wagon_$x",$train,1.5,-1,0,0,RAYDIUM_ODE_STANDARD,0,"wagon.tri");
raydium_ode_element_move_name_3f("train_wagon_$x",$px,0,0.1);

raydium_ode_object_box_add("train_wagon_{$x}_bog1",$train,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
set_bog_slip("train_wagon_{$x}_bog1");
raydium_ode_element_move_name_3f("train_wagon_{$x}_bog1",$px-1,0,-0.3);
raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_atta1","train_wagon_$x","train_wagon_{$x}_bog1",$px-1,0,-0.3,0,0,1);

raydium_ode_object_box_add("train_wagon_{$x}_bog2",$train,0.5, 0.8,0.27,0.27,RAYDIUM_ODE_STANDARD,0,"train_bw.tri");
set_bog_slip("train_wagon_{$x}_bog2");
raydium_ode_element_move_name_3f("train_wagon_{$x}_bog2",$px+1,0,-0.3);
raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_atta2","train_wagon_$x","train_wagon_{$x}_bog2",$px+1,0,-0.3,0,0,1);


raydium_ode_object_box_add("train_wagon_{$x}_inter",$train,0.1,-1,0,0,RAYDIUM_ODE_STANDARD,0,"train_a.tri");
raydium_ode_element_move_name_3f("train_wagon_{$x}_inter",$px-1.46,0,-0.2);

raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_inter1","train_wagon_$x","train_wagon_{$x}_inter",$px-1.46+0.15,0,-0.2,0,0,1);
//raydium_ode_joint_hinge_limits_name("train_wagon_{$x}_inter1",-1,1);
raydium_ode_joint_attach_hinge_name("train_wagon_{$x}_inter2",$attach_to,"train_wagon_{$x}_inter",$px-1.46-0.15,0,-0.2,0,0,1);
//raydium_ode_joint_hinge_limits_name("train_wagon_{$x}_inter2",-1,1);
//raydium_ode_joint_suspension_name("train_wagon_{$x}_inter",9,0);

return "train_wagon_$x";
}


echo "deleting old train (if any)...";
raydium_ode_object_delete_name("TRAIN");

echo "train building...";
$train=create_train();
$previous="train_train";
for($i=1;$i<=8;$i++)
    {
    $previous=create_wagon($train,$i,$previous);
    }
$force=1;

echo "train Ok.";
raydium_ode_object_move_name_3f("TRAIN",-7,0,0.45);

//raydium_ode_time_change(0);

?>