GENERATOR 1.91

Generator tras do symulatora pociągu EN57 "Mechanik"

JAK UŻYWAĆ PROGRAMU?

JAK PROWADZIĆ POCIĄG?

JAK PISAĆ MODUŁY?

OBSŁUGA DŹWIĘKU

USUWANIE BŁĘDÓW W MODUŁACH

KONWERTER TRAS

CO NOWEGO W TEJ WERSJI?

KONTAKT Z AUTOREM

Jak używać programu?

Program ten służy do automatycznego generowania tras do "Mechanika" korzystając z wcześniej przygotowanych modułów. Umożliwia prowadzenie pociągu pospiesznego (EN 57 sa również wykorzystywane jako pociągi pospieszne np. na trasie Warszawa - Kielce), generuje trasę o żądanej długości i zapisuje ją w pliku o podanej przez użytkownika nazwie. Program możemy uruchomić na dwa sposoby:

1. Uruchamiamy plik gen_191.exe . Program zada nam pytanie o długość trasy w kilometrach - podajemy taką jaką chcemy. Uwaga - w efekcie możemy otrzymać trasę nieznacznie dłuższą (błąd < maksymalna długość modułu + maksymalna dlugość stacji końcowej). Następnie program spyta, czy chcemy prowadzić pociąg pospieszny czy osobowy - w zależności od naszego wyboru wpisujemy "o" lub "p". Następnie musimy podać nazwę pliku, w którym ma zostać zapisana nasza trasa (podajemy pełną nazwę wraz z rozszerzeniem ".dat"). Jeżeli naciśniemy Enter nie wpisujac żadnej nazwy, to program zapisze trasę jako "trasa.dat". Potem w miare generowania na ekranie pojawiać się bedą gwiazdki - każda gwiazdka to jedna linia naszej trasy.

2. Możemy tez uruchomić plik generuj.bat , wtedy zostanie uruchomiony generator (patrz 1.), a następnie "Mechanik" na wygenerowanej trasie. (należy podac nazwę pliku "trasa.dat" lub po prostu nacisnąć Enter).

Jak prowadzić pociąg?

Generator pozwala wybrać prowadzenie pociągu pospiesznego lub osobowego. Prowadząc pociąg osobowy zatrzymujemy się na wszystkich stacjach, przy pospiesznym zaś prowadzimy pociąg tak, jak każą semafory, tzn. nie zatrzymujemy się na stacjach nie oznaczonych semaforem, natomiast na stacjach oznaczonych semaforem stajemy, jeżeli podaje on sygnał "S1" - światło czerwone. | Sygnał "s1"
Zwracać też należy na prędkość szlaku podawaną przez wskaźniki "W27". Pojawiają się one przy wyjeździe z większych stacji i ograniczają prędkość danego odcinka szlaku aż do napotkania następnej takiej tablicy. Tak więc nawet zielone światło na semaforze nie upoważnia nas do przekroczenia tej prędkości. Jeżeli przy wyjeździe ze stacji początkowej nie ma takiej tablicy, to należy przyjąć, że prędkość szlaku wynosi 110 km/h. | Wskaźniki "w27"
Gdy po wjechaniu na stację zauważymy dotyczący naszego toru sygnał na tarczy manewrowej zezwalający na jazdę, to znaczy, że dojechaliśmy do ostatniej stacji naszej trasy. Należy wtedy zamknąc drzwi (po sygnale odjazdu od kierownika pociągu) i ruszyć. Jazdę kontunuujemy aż do napotkania sygnału manewrowego zabraniającego dalszej jazdy lub końca toru postojowego. Tam nie otwierając drzwi kończymy jazdę. | Sygnały manewrowe zezwalające na jazdę.

O dojechaniu do stacji końcowej mogą świadczyć jeszcze inne rzeczy. Zależy to od pomysłowości autorów modułow i znajomości przepisów kolejowych prowadzącego pociąg.

Z przyczyn technicznych na semaforach blokady odstępowej układ świateł jest trochę inny niż w rzeczywistości:

Prawdziwy układ świateł na semaforze blokady odstępowej | Używany w generatorze układ świateł na semaforze blokady odstępowej

Jeżeli chcesz się dokształcić z przepisów kolejowych, to zajrzyj tutaj.

Ze względu na przyjęte rozwiązania techniczne przy wyświetlaniu sygnałów migających na semaforach, semaforach zastępczych i tarczach ostrzegawczych zdarza się sporadycznie (naprawdę rzadko!), że "Mechanik" naliczy nam przy mijaniu takiego sygnału punkty karne mimo, że jedziemy zgodnie z ograniczeniami.

Jak pisać moduły?

1. Co naprawdę robi program? "Generator" tworzy plik trasy dopisując kolejne moduły do pliku docelowego modyfikując odpowiednio pole "kilometr" w liniach plików. Poza tym konsekwentnie ustawia sygnały na semaforach, tarczach ostrzegawczych i semaforach powtarzających. Koryguje też aktualną dozwoloną prędkość w zależności od aktualnych ograniczeń stałych lub czasowych, dozwolonej prędkośći na tym odcinku szlaku i sygnałów na semaforach. Posiada również ciekawą funkcję pozwalającą przetwarzać pewne fragmenty z określonym prawdopodobieństwem - bardzo przydatną np. przy ustawianiu pociągów na stacjach.
2. Jak wyglądać powinien moduł? Moduł powinien być odcinkiem szlaku o długości 0,5 km lub jej wielokrotności. Na początku każdego modułu powinny znajdować się dwie linie specjalne następującej postaci:
   //*dlugosc n
   //*stac k
   gdzie n to długość modułu w kilometrach pomnożona przez dwa (czyli ilość odcinków półkilometrowych), a k to rodzaj stacji w obrębie modułu: 0 - brak stacji; 1 - stacja mała; 2 - stacja duża. Na stacji małej stają tylko pociągi osobowe, na dużej - wszystkie. Pola "kilometr" w liniach modułu powinny zaczynać się od 0 i (jeżeli moduł jest długi) konsekwentnie rosnąć.
   Należy pamiętać aby moduł zawierał pełną sygnalizację dotyczącą występujących w nim obiektów - przejazdów kolejowych, ograniczeń prędkości, stacji, układów tarcza ostrzegawcza - (semafor powtarzający) - semafor.
3. Rodzaje modułów Lista dostępnych modułow znajduje się w pliku moduly.dat. Podzielone są one na osiem kategorii: stacje początkowe jedno i dwutorowe, odcinki szlaku jedno i dwutorowego, stacje końcowe jedno i dwutorowe oraz switche. Switche są to moduły o wlocie jednotorowym a wylocie dwutorowym lub na odwrót. Stacje i przystanki można umieszczać w każdym rodzaju modułów.
4. Znaczniki specjalne W modułach do generatora można stosować jeszcze pewne znaczniki specjalne nie obsługiwane przez "Mechanika".

   Znacznik | Opis
   //*lim | Umieszcza się go bezpośrednio przed znakiem "w8" zapowiadającym stałe ograniczenie prędkości. Spowoduje to losowe ustawienie wartości ograniczenia.
   //*rob | J.w. przed ograniczeniem czasowym.
   //*spsem V | Stoi bezpośrednio przed linią semafora. Umieszczenie tego znacznika przed semaforem wymusi na następnym semaforze aktualnego modułu ograniczenie prędkości do 10xV. V=0 tylko przed stacją !!!
   //% P oraz //** | Fragment pliku pomiędzy tymi znacznikami zostanie przepisany z prawdopodobieństwem P (w procentach).
   'os | Tarcza ostrzegawcza (zamiast 's w obiekcie skalowalnym)
   'sp | Semafor powtarzający (zamiast 's w obiekcie skalowalnym)
   'sz | Sygnał zastępczy (zamiast 's w obiekcie skalowalnym)
   'szl | Tablica "w27" (zamiast 's w obiekcie skalowalnym)
   //*os (V) | Umieszcza się bezpośrednio przed linią tarczy ostrzegawczej. Podanie wartości V jest opcjonalne - spowoduje podanie na nastepnym semaforze ograniczenia do 10*V. (Dzialanie podobne do //*spsem.)
   //*sp (V) | J. w. dla semafora powtarzającego.
   //*sz | Umieszcze sie bezposrednio przed linia semafora zastępczego. Można używać zamiast 'sz
   //*szl | J. w. dla tablic w27
   //*sbl | Umieszcza się bezpośrednio przed linia semafora blokady odstępowej. Szczegóły - patrz niżej.

5. Moduły zawierające stacje Tworząc moduł w obrębie którego znajduje się stacja należy pamiętać o związku pomiędzy rodzajem stacji a jej oznakowaniem. Jeżeli stacja nie jest oznaczona semaforem, to musi być oznaczona w drugiej linii modułu jako stacja mała (//*stac 1). Jeżeli stacja jest oznaczona semaforem, to należy w obrębie modułu umieścić przed stacją "semafor wymuszający stop" - poprzedzony znacznikiem //*spsem 0 , lub jeżeli jest to semafor blokady odstepowej - //*sbl 0.
   Wszystkie stacje w obrębie modułu muszą byc tego samego rodzaju.
6. Ustawienia semaforów Choć nie jest to wymagane przez program ze względów technicznych, to przy tworzeniu modułów przyjęta została zasada, że w miarę możliwości przy wyjeździe z modułu zawierającego semafory podaje się sygnał S2. Aby to zrobić należy przedostatni i ostatni semafor poprzedzić linią:
   //*spsem 11
   lub - jeżeli ten ostatni jest semaforem blokady odstępowej
   //*sbl 11
   Jeżeli jest to niemożliwe (np. ze względu na to, że semafor przedostatni jest poprzedzony linia //*spsem 0 - patrz pkt. poprzedni), należy taką linią poprzedzić tylko ostatni semafor w module. Jest to jednak bardzo niepożądane - może spowodować niekonsekwencję w ustawieniu semaforów.
7. Semafory blokady odstępowej Generator począwszy od wersji 1.7 obsługuje (w dość ograniczonym stopniu) semafory blokady odstępowej. Na szlaku zawsze spotykamy semafory wskazujące sygnał S2, dopiero ostani semafor odcinka blokady może zapowiadać ograniczenie na następnym - zwykłym już - semaforze. Do ustawiania semaforów blokady odstępowej służą znaczniki //*sbl umieszczane bezpośrednio przed linia takiego semafora. Znacznik taki może być użyty na dwa sposoby:
   //*sbl
   spowoduje ustawienie semafora blokady z sygnałem zapowiadającym losowo wybrane ograniczenie prędkości na semaforze następnym (i konsekwentne ustawienie następnego semafora). Ale uwaga! Następny semafor musi już być zwykłym semaforem, a nie semaforem blokady odstępowej.
   //*sbl V - jak wyżej, tylko prędkość na następnym semaforze nie będzie losowana, a ustawiona na 10*V - dzialanie podobne do //*spsem
   Jeżeli w danym module mamy do czynienia tylko z jednym semaforem blokady odstępowej, to należy go poprzedzić linia
   //*sbl 11
   Podobnie należy postąpić, gdy semafor blokady odstępowej jest ostatnim semaforem w module.
   Jeżeli przed semaforem blokady odstępowej chcemy ustawić tarczę ostrzegawczą, to należy ustawic ją jako obiekt skalowalny (syg_os2.bmp), bez użycia znaczników //*os, 'os.
8. Tarcze ostrzegawcze i semafory powtarzające
   Tarcze ostrzegawcze i semafory powtarzające, a także sygnał zastępczy ustawia się w następujący sposób: należy ustawić w odpowiednim miejscu obiekt skalowalny nie przejmując się specjalnie tym, co on pokazuje. Tzn. stawiamy na przykład syg_os2.bmp nie przejmując się, co będzie wyświetlane na tej tarczy po włączeniu modułu da trasy - interesuje nas tylko prawidłowe położenie obiektu. Następnie ustawiamy właściwy znacznik (najwygodniej typu //*... - obiekt bedzie wtedy nadal widoczny przy testowaniu).
   Podobną technikę stosuje się przy wstawianiu tablic "w27"
   Wyjątkiem są tarcze ostrzegawcze i semafory powtarzające przed semaforami blokady odstępowej. Stawiamy je jako obiekty skalowalne (syg_os2.bmp), (syg_sp2.bmp) i nie używamy znaczników.
   Oczywiście wyżej wymienione zasady ustawiania odnoszą się tylko do sygalizacji dotyczącej naszego toru - pozostałe obiekty stawiamy jako obiekty skalowalne.
   Znaczników typu //*os V i //*sp V - z podaną wartością V - można używać tylko na początku modułu, tj. przed piewrszym semaforem. W przeciwnym wypadku wystąpi niekonsekwencja podawancyh sygnałów na semaforach.
9. Ograniczenia techniczne
   a) pomiędzy znakiem "w8" zapowiadającym ograniczenie prędkości a początkiem odcinka, na którym obowiązuje ograniczenie nie należy stosować semaforów, tarcz ostrzegawczych ani znaczników 'szl.
   b) znaczniki prędkości stosować wolno tylko razem ze znakami "w9". Nie należy "ręcznie" korygować nimi prędkości semafora ani prędkości szlaku;
   c) "Generator" dziala tylko z załączonym plikiem tekstury.dat. Pliku tego ani tekstur nie należy modyfikować (przynajmniej bez konsultacji z webmasterem strony, na której program jest opublikowany lub autorem programu). Program wykorzystuje w tej chwili 195 tekstur na 200 dopuszczalnych także ciężko jest coś dodać, podmiany tekstur są zaś niemile widziane ze względu na zachowanie kompatybilności modułów różnych autorów.
   d) w pliku moduly.dat nie można zostawiać pustych linii pomiędzy modułami tej samej kategorii. Poszczegolne kategorie powinny zas miec przynajmniej jedna linie odstepu i tylko jedna linie komentarza w naglowku. Tresc naglowka moze byc dowolna, ale kategorie powinny wystepowac dokladnie w takiej kolejnosci jak sa. Plikow szlaku jedno i dwutorowego moze byc co najwyżej 1000 a plików pozostalych kategorii co najwyżej po 50.
   e) wszelkie obiekty wpływające na prędkość jazdy (znaczniki z_p, 'szl, //*lim, semafory, itp.) a także tarcze ostrzegawcze i semafory powtarzające muszą znajdować się w pliku w takiej kolejności, w jakiej pojawią się na trasie (tzn. obiekt o mniejszej współrzędnej z musi pojawić się w pliku wcześniej). Jeżeli występują one w tym samym miejscu należy jeden z nich nieznacznie przesunąć (np. o 10).

Są to chyba najogólniejsze reguły dotyczące tworzenia modułów. Starałem się opisać wszystkie zasady ustawiania sygnalizacji. W pewnych okolicznościach można je złamać - można tu trochę poeksperymentować. Polecam też postudiowanie istniejących modułów - można tam znaleźć ciekawe rozwiązania, czasami łamiące powyższe zasady.

Obsługa dźwięku

Generator począwszy od wersji 1.7 losowo dobiera zestaw dźwięków do trasy - o ile dysponujemy plikami do obsługi dźwięku. Poszczególne zestawy zapisane sa w plikach dzw_osob.dat i dzw_posp.dat odpowiednio dla pociągów osobowych i pospiesznych. Każdy zestaw składa się z polecenia odjazdu, zapowiedzi odjazdu, zapowiedzi przyjazdu i maksymalnie trzech wersji zapowiedzi wjazdu na stacje pośrednią. Struktura ww. plików odpowiada strukturze pliku moduly.dat . Generator losuje zestaw dzwięków i zapisuje go w pliku dzwieki.dat : polecenie odjazdu na pozycji 11, zapowiedzi odjazdu i przyjazdu odp. na 15 i 16, a zapowiedzi wjazdu na stację pośrednią na 17, 18 i 19. Pozycje te są więc zarezerwowane i nie należy wstawiać w nie własnych dźwięków.

W przypadku braku plików dzw_osob.dat i/lub dzw_posp.dat program nie ustawi zestawu dźwięków.

Usuwanie błędów w modułach

Program jest stosunkowo mało odporny na różnego rodzaju pomyłki w modułach i pliku moduly.dat. Oto kilka poważniejszych objawów usterek wraz z możliwym wyjaśnieniem:

Objawy | Możliwa przyczyna
Moduł nie został dopisany - w pliku wyjściowym jest tylko jego nazwa lub/i linia znacznika prędkosci | Błąd w dwóch pierwszych liniach modułu kodujacych długość i rodzaj stacji.
Moduły nakładają się na siebie | Błędnie podana długość modułu.
Program zawiesza się na module, przepisuje tylko jego część | Brak znacznika //** po znaczniku //%
Nieprawidłowe ustawienia semaforów | W module znajduje się semafor (najczęściej "S2" ) umieszczony jako obiekt skalowalny - należy przerobić go na semafor.
Nieprawidlowe ustawienia prędkości szlaku lub innego ograniczenia | Znacznik prędkości szlaku i któryś semafor występują w innej kolejności w pliku a w innej w rzeczywistości.
Runtime error ... | Brak któregoś pliku wymaganego do pracy programu lub próba otwarcia nieistniejącego modułu.

Konwerter tras

Załącznikiem do programu jest konwerter tras - program dostosowujący różne pliki tras do naszego pliku tekstur. Znajduje się on w katalogu Konwert. Aby przekonwertować trasę należy skopiować do tego katalogu plik trasy i wykorzystywany przez nią plik tekstur - ten ostatni pod zmienioną nazwą. W katalogu musi się też znajdować aktualna kopia naszego pliku tekstur. Po uruchomieniu (konv11.exe) musimy podać nazwę naszego i cudzego pliku tekstur oraz nazwe pliku, który chcemy przetworzyć.

W trakcie przetwarzania program może stwierdzić, że w cudzym pliku tekstur znajduje się plik nieużywany przez nas. Mamy wtedy dwie możliwości:

1. Użyć innego piku zamiast (program spyta o nazwę).
2. Dodać ten plik do naszego pliku tekstur (niezalecane przy pracy z plikiem tekstur Generatora).

Jeżeli wybierzemy opcję pierwszą, to nazwa przez nas podana zostanie zapamiętana w pliku Log.dat i program będzie automatycznie dokonywał analogicznej zamiany przy następnych konwersjach. Plik ten można również modyfikować "ręcznie".

Co nowego w tej wersji?

Wersja 1.1

1. Inny sposób pomijania linii znacznika stacyjnego przy generowaniu tras dla pociągów pospiesznych.
2. Dopuszczalne stawianie semaforów i tablic "w27" pomiędzy znacznikami "w9".
3. Opcjonalne, a nie obligatoryjne stosowanie znaczników //*lim i //*rob

Wersja 1.2

1. Dopuszczalne stosowanie znacznika //*spsem przy kolejnych semaforach

Wersja 1.3

1. Nowe znaczniki predkosci szlaku, tarczy ostrzegawczej, semafora powtarzającego i sygnału zastępczego. Stare nadal działają.

Wersja 1.4

1. Obsługa znaczników semafora blokady odstępowej.

Wersje 1.5 - 1.6 - wersje testowe niepublikowane.

Wersja 1.7

1. Losowe dobieranie zestawu dźwięków.
2. Pełny zestaw sygnałów na semaforach
3. Wzbogacona obsługa semaforów blokady odstępowej
4. Poprawione błedy przy korekcji prędkości.

Wersja 1.8

1. Poprawiony błąd przy korekcji prędkości semafora w obrębie ograniczenia stałego.
2. Nie przepisywanie do pliku docelowego znaczników generatora.

Wersja 1.9

1. Opcjonalna obsługa dźwięku.

Wersja 1.91

1. Możliwość "wymuszania" ograniczenia przy pomocy tarcz ostrzegawczych i semaforów powtarzających.

Ostatnia aktualizacja: 19.09.99