Index: particle2.c
===================================================================
--- particle2.c	(revision 404)
+++ particle2.c	(revision 405)
@@ -19,6 +19,10 @@
 
 #include "particle2.h"
 
+// proto
+void raydium_ode_internal_particle_genetator_deleted_callback(int gen);
+
+
 void raydium_particle_name_auto(char *prefix, char *dest)
 {
 static int counter;
@@ -26,8 +30,6 @@
 counter++;
 }
 
-
-
 void raydium_particle_init(void)
 {
 int i;
@@ -77,19 +79,14 @@
 
 void raydium_particle_generator_delete(int gen)
 {
-int i;
 
 if(!raydium_particle_generator_isvalid(gen))
     {
     raydium_log("particle: cannot delete generator: invalid name or index");
     return;
     }
+raydium_ode_internal_particle_genetator_deleted_callback(gen);
 raydium_particle_generators[gen].state=0;
-
-for(i=1;i<RAYDIUM_ODE_MAX_ELEMENTS;i++)
-    if(raydium_ode_element[i].state &&
-	raydium_ode_element[i].particle==gen)
-	    raydium_ode_element[i].particle=-1;
 }
 
 void raydium_particle_generator_delete_name(char *gen)