Index: ode.c
===================================================================
--- ode.c	(revision 560)
+++ ode.c	(revision 561)
@@ -1731,6 +1731,13 @@
     case dJointTypeHinge:
 	f=dJointSetHingeParam; // must check, maybe it just works for hinge2 !
 	break;
+    case dJointTypeUniversal:
+	dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamStopERP,erp);
+	dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamStopCFM,cfm);
+	dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamStopERP2,erp);
+	dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamStopCFM2,cfm);
+	return;
+	break;
     default: raydium_log("ODE: ERROR: suspension: joint type not supported!");
     }
 f(raydium_ode_joint[j].joint,dParamSuspensionERP,erp);
@@ -1996,6 +2003,7 @@
     dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamLoStop2,lo2);
     dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamHiStop2,hi2);
     dJointSetUniversalParam(raydium_ode_joint[j].joint,dParamLoStop2,lo2);
+    
     return;
     }
 raydium_log("ODE: Error: cannot set joint limits: invalid index or name");
}
+ 
+if (strlen(complete_path) == 0)
+     complete_path=file;
+     
 for(i=0;i<raydium_file_log_fopen_index;i++)
-    if(!strcmp(raydium_file_log_fopen[i],file))
+    if(!strcmp(raydium_file_log_fopen[i],complete_path))
 	{
 	found=1;
 	break;
@@ -70,19 +111,26 @@
 
 if(strchr(mode,'w') || raydium_init_cli_option("repository-disable",NULL))
     {
-    return fopen(file,mode);
+    return fopen(complete_path,mode);
     }
 
 if( !raydium_init_cli_option("repository-refresh",NULL) && 
     !raydium_init_cli_option("repository-force",NULL) )
 {
- fp=fopen(file,mode);
+ fp=fopen(complete_path,mode);
  if(fp) return fp;
 }
-raydium_rayphp_repository_file_get(file);
-fp=fopen(file,mode);
 
-return fp;
+//if (access("font2.tga", R_OK) == 0)
+//    raydium_osd_printf(2,98,16,0.5,"font2.tga","Loading %s", file);
+if (raydium_rayphp_repository_file_get(complete_path))
+{
+  // caution, complete_path is now garbage, 
+  // let's use file because we dl in "." directory anyways
+  return fopen(file,mode);
+}
+else 
+return NULL;
 #else
 return fopen(file,mode);
 #endif