- back_offset = veh->get_offset()-veh->get_type().get_length()/2;
-
- TrackIter iter(veh->get_track(), veh->get_entry());
- while(back_offset<0)
- {
- TrackIter prev = iter.flip().reverse();
- if(!prev)
- break;
- iter = prev;
- back_offset += iter->get_type().get_path_length(iter->get_active_path());
- }
+ track_and_offs = veh->get_placement().get_position(VehiclePlacement::BACK_BUFFER);
+ back_offset = track_and_offs.offset();