Witam,
Podczas prac nad tabelką prędkości w exe, które wynikły z błędu ruszania z W4 gdy zostaną wykryte dwa semafory (wątek
http://eu07.pl/forum/index.php/topic,26938.0.html) doszedłem do wniosku, że jest potrzebne rozróżnianie na rodzaje prędkości, które są wrzucane AI.
W tej chwili exe rozróżnia 3 rodzaje:
SetVelocity - ogólna prędkość kasowana pierwszą zmianą, jest używana we wszelakich semaforach
ShuntVelocity - prędkość do jazd manewrowych
SetProximityVelocity - pierwotnie służyła AI do hamowania przed zwolnieniami, obecnie nie brana pod uwagę (używana jest w W9 oraz tarczach ostrzegawczych)
Problem leży w SetVelocity, która jest zbyt ogólna i na jej podstawie nie można stwierdzić kto wrzuca tak naprawdę tą prędkość. W związku z tym nie ma możliwości wykrycia że widzimy dwa semafory, a nie semafor i ograniczenie w torach. Dodatkowo każde ograniczenie prędkości zmienia prędkość nadaną przez semafor, więc jeśli na semaforze było 40, a potem jest komórka z prędkością 60 to AI uzna że ograniczenie to 60.
Co chciałbym zrobić: dodać nowe kategorie dla semaforów, ograniczeń prędkości oraz prędkości drogowej. Dzięki temu można zbudować tabelkę z której wybiera sobie najmniejszą dostępną i nie będą się nawzajem nadpisywać. Problem mam z nazwaniem.
Jeśli chodzi o prędkośc z semafora to prawdopodobnie z nowym exe pójdzie paczka zmieniająca nazwę typu prędkości co rozwiąże wiele problemów. Czy to samo zrobić dla reszty typów ograniczeń?
W tej chwili W9 tworzy dwie komórki i nadają one prędkość proximity co w ogóle ze sobą nie gra. Mogę stworzyć specjalne wersje wskaźników lub zmodyfikować istniejące. Szczególnie to pytanie dotyczy tarcz ostrzegawczych (ktokolwiek przypisuje te eventy do torów?).
Drugą kwestią jest, że jest to potencjalne złamanie wstecznej kompatybilności czego naprawdę chciałbym uniknąć