Symulator/MaSzyna/EU07.EXE 394

Z Rainsted
Skocz do: nawigacji, wyszukiwania

Plik wykonywalny symulatora EU07.EXE w wersji 1.8.712.394 jest czwartą (ostatnią) częścią ósmego etapu prac. Etap ten miał celu przede wszystkim dalsze dopracowanie AI (tabelka ograniczeń, poprawione hamowanie) oraz ulepszenie animacji w pojazdach. Mimo dużego nakładu pracy nie został w pełni zrealizowany (nie zostało wprowadzone hamowania przy użyciu sieci neuronowych i nie wszystkie animacje w pojazdach zostały uelastycznione).

Opisywana wersja obejmuje poprawki błędów zauważonych w wersji 390, a wprowadzone od połowy listopada 2012 do połowy grudnia 2012.


Poprawka odłączania

Został zmieniony sposób zahamowania odłączanej części składu dla hamulca elektropneumatycznego. Poprzednio, po wysłaniu do EZT komendy odczepiania, AI nie było w stanie prawidłowo zahamować składu i zawieszało się na tej czynności.

Tryb manewrowy po wysłaniu rozkładu

Dotychczas wysłanie rozkładu komendą Timetable: zawsze załączało tryb pociągowy. Można jedynie było ustawić oczekiwanie składu na podanie sygnału jazdy poprzez ustawienie prędkości 0.1 (normalnie skład od razu ruszał z podaną prędkością, podobnie jak przy SetVelocity). Obecnie istnieje możliwość wymuszenia trybu manewrowego przed rozpoczęciem realizacji rozkładu, należy podać prędkość 0.01. W takiej sytuacji pojazd sterowany przez AI włączy tryb manewrowy i będzie oczekiwał na podanie sygnału do jazdy (tarczy manewrowej, ale może też to być semafor, który włączy jazdę pociągową). Dzięki temu możliwe jest np. przypisanie rozkładu do EZT znajdującego się na torze postojowym, który następnie będzie oczekiwał przed sygnałem Ms1 (w trybie pociągowym by go zignorował), a po podaniu Ms2 podjedzie pod W4, gdzie zmieni tryb na pociągowy.

Interpretacja przesunięcia w składzie

Normalnie kolejne pojazdy w trainset wstawiane są z przesunięciem równym 0.0. Sens budowania trainset jest jednak taki, że pojazdy umieszczane są od strony ujemnej. Zachowując konsekwencję w interpretacji tego przesunięcia, chcąc np. uzyskać kilkumetrową przerwę, należało by użyć ujemnej wartości jako odległości od poprzedniego pojazdu. Ponieważ bardziej naturalne jest podawanie dodatniej odległości pomiędzy sprzęgami, a przesunięcie -1 zostało uznane za odwrócenie pojazdu o 180°, do takiej interpretacji zostało dostosowane przetwarzanie przesunięć. Czyli liczba dodatnia da przerwę (i wymusi rozłączenie sprzęgów), a ujemna (np. -0.05) będzie oznaczała dociśnięcie sprzęgów.

Informacja o zwolnieniu odcinka

Dotychczas do zewnętrznego programu wysyłana była tylko informacja o zajęciu odcinka. Wykrycie zwolnienia wymagało przesłania nazwy odcinka przez owy program, a jeśli tor był wolny, to nazwa była odsyłana. Powodowało to, że na serwerze ruchu odcinki przez długi czas były podświetlone jako zajęte. Obecnie EU07.EXE informuje o zwolnieniu odcinka. Możliwe jest także jednorazowe pobranie listy wszystkich zajętych torów, np. na początku symulacji albo po zerwaniu połączenia.

Pierwotny sposób detekcji zajętości bazował na wykonaniu eventu powiązanego z torem (np. odczytu semafora), a detekcja zwolnienia miała być robiona specjalnymi eventami w scenerii, z warunkiem condition trackfree i zależnie od zajętości toru event byłby wykonany (i potwierdzany) albo nie. Ponieważ obecnie rozpoznawanie sygnałów nie wykonuje eventów przez kolejkę, a z drugiej strony jest możliwość elastycznego kształtowania komunikacji z programem sterującym, nieefektywny mechanizm może być zastąpiony lepszym.

Tabliczki zamiast końcówek

Jeśli na końcu składu znajduje się lokomotywa bez obsady ("zimna"), to zamiast zapalać czerwone światła, zostaną założone końcówki. Jednocześnie nie będzie to robione dla umieszczonego na końcu składu wagonu pasażerskiego. Docelowo zapalenie czerwonych świateł zostanie uzależnione od załączenia baterii w pojeździe.

Ostatni tor w drzewku nazw

Binarne drzewko nazw jest używane do szybkiego odnalezienia toru o podanej nazwie (podczas wczytywania i przy współpracy z programem sterującym). Dotychczas do drzewka trafiały wszystkie tory. Jeśli istniały co najmniej dwa tory o tej samej nazwie, to wyszukiwanie w drzewku mogło znaleźć dowolny z nich (zależało to od liczby torów oraz kolejności w scenerii). Obecnie, dla uzyskania większej zgodności wstecz, do drzewka trafia tylko ostatni tor o danej nazwie. Wcześniejsze wersje (przed wprowadzeniem drzewek) wyszukiwały tory liniowo, poprzez porównanie nazwy z każdym torem w scenerii, zaczynając od ostatniego wczytanego wpisu.

Gaszenie Scroll Lock

Kontrolka Scroll Lock może być używana do informowania użytkownika o jeździe na oporach rozruchowych albo zadziałaniu SHP. Sterowanie tą kontrolką jest w Windows udziwnione, każde wirtualne przyciśnięcie i zwolnienie klawisza Scroll Lock zmienia jej stan na przeciwny, w odróżnieniu np. od Caps Lock, gdzie wirtualne przyciśnięcie zapala, a zwolnienie gasi. Jednocześnie problematyczne jest określenie aktualnego stanu zapalenia kontrolki Scroll Lock. W efekcie zakończenie pracy Symulatora mogło powodować pozostawienie zapalonej kontrolki Scroll Lock. Zostało to rozwiązane poprzez zliczanie zmian jej stanu i zmianę podczas kończenia programu tylko jeśli stan zmienił się nieparzystą liczbę razy.

Jednokierunkowy wał kułakowy w EZT

Dotychczas jednokierunkowość wału kułakowego nie działała prawidłowo, np. możliwe było przejście do jazdy oporowej poprzez cofnięcie o jedną pozycję z pozycji S. Obecnie załączenie niższej pozycji wymaga cofnięcia nastawnika jazdy na pozycję zerową. Jednokierunkowość wału jest nieco uproszczona, ponieważ nie jest symulowany czas wymagany na pełny obrót wału, ani rozłączenie styczników liniowych podczas obrotu.

Uwaga! Na nastawie NAPRZÓD I nie załącza się jazda równoległa, a dalsze przestawienie nastawnika jazdy załączy boczniki, cały czas przy szeregowym połączeniu silników. Dopiero na nastawie NAPRZÓD II możliwe jest uzyskanie równoległego połączenia silników. Stan taki funkcjonuje od bardzo dawna. Docelowo zostanie to uzależnione od parametru w CHK, bo dotyczy tylko niewielkiej grupy EZT.

Opcja tworzenia bananów

Aby pliki E3D pojazdów były tworzone z bananami, należy do parametru convertmodels dodać liczbę 4. Domyślna wartość to convertmodels 6. Zarówno automatycznie tworzone banany, jak i ich brak, mogą mieć wpływ na nieprawidłowe funkcjonowanie modeli (np. błędne pochylanie kabin). Aktualnie dokonywane zmiany mają na celu wyeliminowanie przydatności bananów poprzez odpowiednie ustawienie (pochylenie) układu współrzędnych dla modelu.

Pokazywanie zapauzowania

Jeśli zostanie włączona pauza, to górne napisy zostaną przełączone w taki sposób, aby wyświetlić tę informację.

Uwaga autorska

Wersja przeznaczona do paczki całościowej, wydanej w roku 2013. Kolejny etap prac będzie zmierzał w zupełnie innym kierunku.

Ra

MaSzyna - wersje
Wersje 2005-2009 699kB • Mega Pack (KURS90, 717kB) • Dizelpack (735kB)
Wersje z 2011 71113120145162 (PC2010)212231291
Wersje z 2012 325 (PC2011)355372390SPKS@390
Wersje z 2013 394 (01.13)Kurs 2013408SPKS@408 (08.13)414
Wersje z 2014 424435441450457
Wersje z 2015 464 (15.02)469 (15.04)
Wersje robocze SPKSwarsztat