mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-09 03:58:55 +01:00
2.3 KiB
2.3 KiB
Review PR #167 — whois: add lookahead mode for the timetable entry after the next stop
Autor: @pwarszawski · base: master · 3 pliki, +42/−1 · Closes #164
https://github.com/MaSzyna-EU07/maszyna/pull/167
Werdykt: Approve z drobnymi uwagami
Podsumowanie
Nowy tryb whois +48 (whois_name | whois_load, bez mode_alt): do komórki pamięci trafia nazwa wpisu rozkładu o jedną pozycję za StationIndex, 0 i flaga postoju (1/0). Akcesor TTrainParameters::TimeTableEntryAhead(Offset) zwraca TimeTable[0] („nowhere”, Ah == -1) poza zakresem.
Co jest dobrze
- Kontynuacja sekwencji +0…+40, +56 zostaje wolne — zgodnie z wcześniejszym review.
- Uczciwie opisana zmiana dla +48 (dotąd działało jak +32) — wymagane przez zasady kompatybilności formatów.
- Akcesor z kontrolą zakresu,
TimeTable[0]jako bezpieczna wartość.
Uwagi
- Kompatybilność +48. Zmiana znaczenia istniejącej wartości flagi formalnie łamie regułę „every existing file must still be read the way it was”. Ryzyko jest małe, ale proponuję sprawdzić (grep po SVN
pctga, katalogscenery/) czy żadna sceneria nie używawhoisz wartością 48–55 — i dopisać wynik do opisu PR. - Przeloty. „passthroughs are not skipped” — dla dyżurnego rozróżniającego kierunki zwykle liczy się następna stacja rozgałęźna, a w rozkładzie po stacji często stoi kilka punktów przelotowych (posterunki, podg). Wtedy +48 zwróci posterunek, a nie kierunek. Warto to opisać w dokumentacji eventu albo przewidzieć w przyszłości wariant (+56?) z pomijaniem przelotów.
- Nazwa „none”. Gdy brak maszynisty/właściciela, wpisuje się
"none", a poza końcem rozkładu"nowhere". Dwie różne wartości dla „nic” to OK, ale proszę je udokumentować razem z trybem (wiki / dokumentacja eventów), bo skrypty scenerii będą je porównywać. - Log.
WriteLogz konkatenacją — w nowym kodzie Sonar wolistd::format(S6185). Treść logu można zachować identyczną. TimeTableEntryAhead(int Offset)— komentarz w nagłówku mówiOffset>=1, ale funkcja przyjmuje też 0 i ujemne (zwraca odpowiednie wpisy lub[0]). Albo zaktualizować komentarz, albo dodaćassert.- Na PR są 4 wcześniejsze komentarze review — upewnić się, że wszystkie są rozwiązane przed merge.