int r;
if (t->seg->owner != u->train) return -1;
- if (u->usecurrentposn && !t->seg->det_ignore)
+ if (t->seg == u->furthest) {
/* We've gone back past our own tail into the place where our
- * head is going to be in the far future. Confusing, eh ? */
+ * head is going to be in the far future. */
+ oprintf(UPO, " ...");
return -1;
+ }
flags[0]= 0;
memset(&u,0,sizeof(u));
u.train= tra;
- u.furthest= furthest;
+ u.furthest= 0;
u.usecurrentposn= 0;
u.forceusemotions= force_use_motions;
mpc= furthest->movposcomb;
r= report_nextseg(&u.tail,&u.tailc,&mpc,0); assert(!r);
+
+ u.furthest= furthest;
trackloc_advance(&u.tail,&u.tailc);
+
oprintf(UPO, "\n");
}