FINISHED.
here is solution but SVN isn't now updated:
Code:
...
raydium_particle_generator_load("dust.prt","dustA");
raydium_particle_generator_load("dust.prt","dustB");
raydium_particle_generator_load("dust.prt","dustC");
raydium_particle_generator_load("dust.prt","dustD");
raydium_ode_element_particle_offset_name_3f(CAR.wheel_A.name,"dustA",0,0,0);
raydium_ode_element_particle_offset_name_3f(CAR.wheel_B.name,"dustB",0,0,0);
raydium_ode_element_particle_offset_name_3f(CAR.wheel_C.name,"dustC",0,0,0);
raydium_ode_element_particle_offset_name_3f(CAR.wheel_D.name,"dustD",0,0,0);
CAR.wheel_A.particle_id = raydium_particle_generator_find("dustA");
CAR.wheel_B.particle_id = raydium_particle_generator_find("dustB");
CAR.wheel_C.particle_id = raydium_particle_generator_find("dustC");
CAR.wheel_D.particle_id = raydium_particle_generator_find("dustD");
CAR.wheel_A.element_id = raydium_ode_element_find(CAR.wheel_A.name);
CAR.wheel_B.element_id = raydium_ode_element_find(CAR.wheel_B.name);
CAR.wheel_C.element_id = raydium_ode_element_find(CAR.wheel_C.name);
CAR.wheel_D.element_id = raydium_ode_element_find(CAR.wheel_D.name);
...
and callback looks:
Code:
char WheelCollision(int e1, int e2, dContact *c)
{
int i1,i2;
i1=raydium_ode_element_tag_get(e1);
i2=raydium_ode_element_tag_get(e2);
dReal *origin_A;
dReal *origin_B;
dReal *origin_C;
dReal *origin_D;
if (i1==TYPE_WHEEL)
{
if (CAR.wheel_A.element_id == raydium_ode_element[e1].id)
{
origin_A=raydium_ode_element_pos_get(raydium_ode_element[e1].id);
raydium_particle_generator_move(CAR.wheel_A.particle_id,origin_A);
}
if (CAR.wheel_B.element_id == raydium_ode_element[e1].id)
{
origin_B=raydium_ode_element_pos_get(raydium_ode_element[e1].id);
raydium_particle_generator_move(CAR.wheel_B.particle_id,origin_B);
}
if (CAR.wheel_C.element_id == raydium_ode_element[e1].id)
{
origin_C=raydium_ode_element_pos_get(raydium_ode_element[e1].id);
raydium_particle_generator_move(CAR.wheel_C.particle_id,origin_C);
}
if (CAR.wheel_D.element_id == raydium_ode_element[e1].id)
{
origin_D=raydium_ode_element_pos_get(raydium_ode_element[e1].id);
raydium_particle_generator_move(CAR.wheel_D.particle_id,origin_D);
}
}
}
and work really nice, now i have a lot of possibility for nice visual FX ... big thanks. When you find any mistake in logic then write me ... big thanks
EDIT.: Last question is how to STOP emitting from particle, because this is needed when car has speed=0.