17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-10 13:43:14 +01:00

whois: select the lookahead mode via +48 instead of a new bit

Per review: +48 (whois_name | whois_load, mode_alt clear) was an
unused combination of the existing mode bits - use that instead of
claiming a new bit 6. +56 (same, with mode_alt set) stays free for a
future mode. No new flags::* entry needed; mtable.h/.cpp unchanged.
This commit is contained in:
Piotr Warszawski
2026-09-04 20:28:28 +02:00
parent 4575f61cc8
commit 5705062cd2
2 changed files with 5 additions and 4 deletions

View File

@@ -1018,15 +1018,17 @@ whois_event::run_() {
auto *targetcell { static_cast<TMemCell *>( std::get<scene::basic_node *>( target ) ) };
if( targetcell == nullptr ) { continue; }
// event effect code
// +64: station after the next one, unused, stop there or passthrough
// +48: station after the next one, unused, stop there or passthrough
// +40: next station name, unused, stop at next station (duplicate of +0 2nd numeric value)
// +32: vehicle name
// +24: vehicle type, consist brake level, obstacle distance
// +16: load type, load amount, max load amount
// +8: destination, direction, engine power
// +0: train name, station count, stop on next station
if( m_input.flags & flags::whois_ahead ) {
// +64
if( ( m_input.flags & ( flags::whois_name | flags::whois_load | flags::mode_alt ) )
== ( flags::whois_name | flags::whois_load ) ) {
// +48 (the whois_name | whois_load combination was unused; +56, same with mode_alt
// set, stays free for a future mode)
// the timetable entry one past the next stop, and whether the train stops there
auto const *owner { (
m_activator->Mechanik != nullptr && m_activator->Mechanik->primary() ?

View File

@@ -37,7 +37,6 @@ 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,