#include "nitrito.h"
Race::Race()
{
is_open=FALSE;
}
void Race::reset()
{
delete world;
delete [] coche;
delete cam;
world = new World;
coche = new Coche[1];
cam = new Camera;
world->create();
coche[0].create();
cam->reset();
const dReal *pos;
pos = dBodyGetPosition(coche[0].body[0]);
cam->set (pos[0]-10,pos[1],pos[2]+3,90,0,-90);
set_opengl_ambient();
draw_scene();
timer.reset();
}
void Race::race_loop()
{
cam->set_mode (options.camera_mode);
float s = timer.get_secs();
if(s>0.1) s=0.1;
if(s<0) s=0;
if(options.tiempo_bala) world->step_size = (world->step_size*4+s*options.t_bala_time_speed)/5.0;
else world->step_size = (world->step_size*4+s*options.normal_time_speed)/5.0;
world->real_step_size = (world->real_step_size*4+s)/5.0;
world->time_speed = world->step_size/world->real_step_size;
timer.update_race_time();
coche[0].move();
world->prestep();
world->step();
snd.play_sfx();
draw_scene();
console.draw();
}