- BlockIter fncb = train.get_first_noncritical_block();
-
- Route *lead = 0;
- if(r && train.is_placed())
- {
- const BlockAllocator &allocator = train.get_block_allocator();
- TrackIter first = allocator.first().track_iter();
- TrackIter next = fncb.track_iter();
- if(!r->has_track(*next))
- {
- lead = Route::find(next, *r);
- if(!lead)
- return false;
- create_lead_route(lead, lead);
- }
- else if(!r->has_track(*first))
- lead = create_lead_route(0, r);
- }
-