Index: ode.c
===================================================================
--- ode.c	(revision 1158)
+++ ode.c	(revision 1159)
@@ -9,7 +9,6 @@
 #include "index.h"
 #else
 #include "headers/ode.h"
-#include "ode.h"
 #endif
 
 // TODO:
@@ -1273,11 +1272,19 @@
 return raydium_ode_element_object_get(raydium_ode_element_find(e));
 }
 
-int raydium_ode_object_sphere_add(char *name, int group, dReal mass, dReal radius, signed char type, int tag, char *mesh)
+int raydium_ode_object_sphere_add(char *iname, int group, dReal mass, dReal radius, signed char type, int tag, char *mesh)
 {
 int i;
 dMass m;
+char name[RAYDIUM_MAX_NAME_LEN];
 
+if(iname==NULL)
+    raydium_ode_name_auto("Sphere",name);
+else if (iname[0]==0)
+    raydium_ode_name_auto("Sphere",name);
+else
+    strcpy(name,iname);
+
 if(raydium_ode_element_find(name)>=0)
     {
     raydium_log("ODE: Error: Cannot add element \"%s\": name already exists",name);
@@ -1344,12 +1351,20 @@
 
 }
 
-int raydium_ode_object_box_add(char *name, int group, dReal mass, dReal tx, dReal ty, dReal tz, signed char type, int tag, char *mesh)
+int raydium_ode_object_box_add(char *iname, int group, dReal mass, dReal tx, dReal ty, dReal tz, signed char type, int tag, char *mesh)
 {
 int i;
 dMass m;
 dReal sizes[3];
+char name[RAYDIUM_MAX_NAME_LEN];
 
+if(iname==NULL)
+    raydium_ode_name_auto("Box",name);
+else if (iname[0]==0)
+    raydium_ode_name_auto("Box",name);
+else
+    strcpy(name,iname);
+
 if(raydium_ode_element_find(name)>=0)
     {
     raydium_log("ODE: Cannot add element \"%s\": name already exists",name);
@@ -1425,12 +1440,20 @@
 
 }
 
-int raydium_ode_object_capsule_add(char *name, int group, dReal mass, dReal radius, dReal length, signed char type, int tag, char *mesh)
+int raydium_ode_object_capsule_add(char *iname, int group, dReal mass, dReal radius, dReal length, signed char type, int tag, char *mesh)
 {
 int i;
 dMass m;
 dReal sizes[3];
+char name[RAYDIUM_MAX_NAME_LEN];
 
+if(iname==NULL)
+    raydium_ode_name_auto("Capsule",name);
+else if (iname[0]==0)
+    raydium_ode_name_auto("Capsule",name);
+else
+    strcpy(name,iname);
+
 if(raydium_ode_element_find(name)>=0)
     {
     raydium_log("ODE: Cannot add element \"%s\": name already exists",name);
tart/stop  ^CF1/F2^F: -10x/10x  ^CF3/F4^F: -0.1x/0.1x");
    raydium_osd_printf(2,94,18,0.5,"font2.tga","^CLeft Click^F: Attach/detach camera to targeted element");
    raydium_osd_printf(2,90,18,0.5,"font2.tga","^CH^F: Show/hide this message");
    }
raydium_rendering_finish();
}


int main(int argc, char **argv)
{
char file[RAYDIUM_MAX_NAME_LEN];

raydium_init_args(argc,argv);

if(!raydium_init_cli_option("file",file))
    {
    printf("******* Usage: rrp_play --file file.rrp\n");
    printf("******* Demo file (auto-downloaded): demo.rrp\n");
    exit(0);
    }

raydium_window_create(640,480,RAYDIUM_RENDERING_WINDOW,"RRP player");

raydium_texture_filter_change(RAYDIUM_TEXTURE_FILTER_TRILINEAR);
raydium_window_view_perspective(60,0.01,2500); // fov 60 + near and far planes

raydium_fog_disable();
raydium_light_enable();
raydium_light_on(0);

raydium_light_conf_7f(0,50,150,200,1000000,1,0.9,0.7); // id, pos, intensity and color (RGB)
raydium_background_color_change(1,0.9,0.7,1);

raydium_sky_box_cache();
raydium_shadow_enable();



raydium_ode_capture_play(file,1);

raydium_callback(&display);
return(0);
}

// EOF