17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-13 04:32:45 +01:00

whois: add lookahead mode for the timetable entry after the next stop

Dispatcher scripts that route trains at a station based on where they
go afterwards (e.g. a big terminal throat with several outbound
directions) have no way to read that: whois +40 only exposes the
current/next timetable entry (NextStop()/IsStop()), which while the
train is at that very station is that station itself.

Adds flags::whois_ahead (bit 6, previously unused) plus
TTrainParameters::StationNameAhead(Offset)/StationIsStopAhead(Offset),
returning the raw TimeTable[] entry Offset positions past StationIndex
(name and whether it's a booked stop, "none"/false past the end of the
timetable). The new whois branch calls both with Offset=1, mirroring
the existing +40 branch's UpdateValues()/WriteLog() shape.

Logic-verified with an isolated harness mirroring the touched types
(TTrainParameters/TController/TMemCell shapes and the exact function
bodies); not yet build-tested against the full engine locally - relying
on CI for that.
This commit is contained in:
Piotr Warszawski
2026-09-04 15:52:38 +02:00
parent a9b561cd65
commit 4575f61cc8
4 changed files with 51 additions and 1 deletions

View File

@@ -37,6 +37,7 @@ public:
mode_alt = 1 << 3,
whois_load = 1 << 4,
whois_name = 1 << 5,
whois_ahead = 1 << 6,
// condition values
track_busy = 1 << 3,
track_free = 1 << 4,