This commit is contained in:
Stephan Richter
2021-04-16 10:37:20 +02:00
parent 2aa40913bb
commit 6ece70b95b
2 changed files with 12 additions and 6 deletions

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.srsoftware</groupId>
<artifactId>web4rail</artifactId>
<version>1.4.24</version>
<version>1.4.25</version>
<name>Web4Rail</name>
<packaging>jar</packaging>
<description>Java Model Railway Control</description>

View File

@@ -993,7 +993,11 @@ public class Train extends BaseClass implements Comparable<Train> {
public String start(boolean auto) {
LOG.debug("{}.start({})",this,auto?"auto":"");
autopilot |= auto;
if (auto != autopilot) {
autopilot |= auto;
if (isSet(currentBlock)) plan.place(currentBlock);
}
if (isSet(nextPreparedRoute)) {
LOG.debug("starting nextPreparedRoute: {}",nextPreparedRoute);
if (nextPreparedRoute.startNow()) {
@@ -1049,10 +1053,12 @@ public class Train extends BaseClass implements Comparable<Train> {
endBrake();
setSpeed(0);
quitAutopilot();
if (isSet(route) && route.hasTriggeredContacts()) {
if (isSet(route)) {
if (route.hasTriggeredContacts()) {
stuckTrace = new HashSet<Tile>();
for (Tile tile : route.path()) { // collect occupied tiles of route. stuckTrace is considered during next route search
if (trace.contains(tile)) stuckTrace.add(tile);
for (Tile tile : route.path()) { // collect occupied tiles of route. stuckTrace is considered during next route search
if (trace.contains(tile)) stuckTrace.add(tile);
}
}
route.reset();
route = null;
@@ -1169,7 +1175,7 @@ public class Train extends BaseClass implements Comparable<Train> {
}
}
}
for (Tile tile : trace) tile.free(this);
dropTrace(false);
trace = newTrace;
return context;
}