else
{
const Block::Endpoint &bep = block.get_endpoints()[entry];
- vehicles.front()->place(bep.track, bep.track_ep, 0, Vehicle::BACK_BUFFER);
+ vehicles.back()->place(bep.track, bep.track_ep, 0, Vehicle::BACK_BUFFER);
}
}
unsigned entry = bep.track_ep;
bool found = false;
- float dist = veh.get_offset()-veh.get_type().get_length()/2;
+ float dist = veh.get_offset();
+ if(reverse)
+ dist = veh.get_track()->get_type().get_path_length(veh.get_track()->get_active_path())-dist;
+ dist -= veh.get_type().get_length()/2;
while(1)
{
if(track==veh.get_track())