Plik konfiguracyjny EU07.INI
Jest to plik tekstowy, w którym umieszczone są parametry uruchomieniowe Symulatora MaSzyna. Ponieważ nie ma możliwości zmieniania ich z poziomu symulacji, używany w tym celu jest specjalny program, tzw. Starter. Niektóre parametry są modyfikowane na tyle rzadko, że można je zmienić jednie przez ręczną edycję pliku.
W nawiasie podana jest wartość domyślna, ustawiana przy braku wpisu (albo gdy będzie poprzedzony znakami komentarza //).
Spis treści
- 1 Parametry użytkowe
- 2 Parametry scenerii
- 3 Parametry wydajnościowe
- 3.1 adjustscreenfreq (no)
- 3.2 vsync (no)
- 3.3 convertmodels (6)
- 3.4 decompressdds (no)
- 3.5 defaultext (dds)
- 3.6 enabletraction (yes)
- 3.7 fpsaverage (20.0)
- 3.8 fpsdeviation (5.0)
- 3.9 fpsradiusmax (3000.0)
- 3.10 glutfont (no)
- 3.11 loadtraction (yes)
- 3.12 modifytga (7)
- 3.13 maxtexturesize (16384)
- 3.14 multisampling (2)
- 3.15 anisotropicfiltering (8)
- 3.16 smoothtraction (no)
- 3.17 usevbo (yes)
- 3.18 pyscreenrendererpriority (normal)
- 3.19 dynamiclights (3)
- 3.20 shadows (yes)
- 3.21 shadowtune (4096 250 400 300)
- 3.22 gfxrenderer simple
- 3.23 splinefidelity (1)
- 3.24 fullphysics no
- 4 Parametry testowe
- 5 Parametry przejściowe
Parametry użytkowe
Służą do ustalenia sposobu pracy Symulatora zależnie od preferencji użytkownika.
feedbackmode (1)
Służy do włączenia informacji zwrotnych, wysyłanych przez Symulator. Domyślnie zapalane są kontrolki na klawiaturze.
fullscreen (no)
Po włączeniu symulacja będzie wyświetlana na pełnym ekranie. Normalnie wyświetlana jest w oknie Windows.
inactivepause (yes)
Określa, czy symulacja ma się automatycznie zatrzymywać, jeśli okno Symulatora jest nieaktywne (przełączone w tło). Wyłączenie automatycznego pauzowania umożliwia korzystanie z innych programów np. podczas oczekiwania na wolną drogę. Po przełączeniu okna innego programu na pierwszy plan należy je zmniejszyć tak, by pozostawić sobie podgląd na okno symulacji. Nadal możliwe jest zatrzymanie programu klawiszem [Pause], jednak symulacja będzie kontynuowana po przełączeniu jej okna na pierwszy plan.
Funkcja automatycznej pauzy przy nieaktywności okna jest wyłączana przez ustawienie multiplayer z wartością różną od zera.
lang (pl)
Ustawia język wyświetlania napisów. Domyślnie język polski (pl), przy wybraniu innego języka, który nie byłby obsługiwany, wyświetlane będą komunikaty w języku angielskim. Dodatkowo parametr ten ustawia końcówkę nazwy plików dla napisów powiązanych z dźwiękami. Przykładowo, przy odtwarzaniu dźwięku radio25.wav wyświetlona zostanie zawartość pliku radio25-pl.txt dla języka polskiego, radio25-en.txt dla angielskiego, radio25-cz.txt dla czeskiego, a radio25-hu.txt dla węgierskiego.
pause (no)
Umożliwia zamrożenie symulacji zaraz po wczytaniu scenerii. Może być przydatne, jeśli podczas wczytywania wykonuje się inne czynności poza komputerem. Nie ma wpływu na późniejszy przebieg symulacji. Działa od wersji 382.
width (800)
Szerokość okna albo rozmiar pełnego ekranu.
height (600)
Wysokość okna albo rozmiar pełnego ekranu.
sceneryfile (td.scn)
Nazwa scenerii do uruchomienia, jeśli nie została podana jako parametr (-s). Rainsted używany jako starter podaje jako parametr.
humanctrlvehicle (EU07-424)
Nazwa pojazdu prowadzonego przez użytkownika, jeśli nie została podana jako parametr (-v).
fieldofview (45)
Kąt widzenia w pionie (wartość pozioma jest dopasowywana na podstawie stosunku szerokości/wysokości okna) Standardową wartością w symulatorze jest 45 stopni, wpisem można to zmienić w zakresie 15-75 stopni. Aktualna wartość kąta widzenia podana jest na ekranie F8 w trybie Debugmode.
uitextcolor (255, 255, 255)
Kolor napisów interfejsu w formacie R, G, B w zakresie 0-255.
input.gamepad (yes)
Obsługa gamepada. Należy wyłączyć w przypadku podłączonego PoKeys lub nieużywanego kontrolera gier.
Parametry scenerii
Przeznaczone są raczej do umieszczenia w scenerii, pomiędzy config a endconfig. Służą do nadania scenerii specyficznego charakteru.
joinduplicetedevents (no)
Grupowanie eventów o identycznych nazwach. Standardowo nazwy eventów powinny być unikalne w skali scenerii, inaczej sceneria może błędnie działać. Niemniej możliwe jest też umyślne nadawanie tych samych nazw, aby uprościć niektóre operacje wykonywane przez eventy. Używanie tego parametru leży wyłącznie w gestii autora scenerii/scenariusza. Działa od wersji 382.
latitude (52)
Szerokość geograficzna środka scenerii, używana dla wyliczenia kąta padania promieni słonecznych po włączeniu movelight. Domyślnie 52°N. Docelowo szerokość będzie zapisana w scenerii.
movelight (-1)
Włącza zależność kierunku padania światła od godziny oraz daty. Dla wartości od 1 do 365 wyliczana jest wysokość Słońca nad horyzontem w danym dniu (na szerokości określonej parametrem latitude, domyślnie 52°N). Dla wartości 0 dzień jest pobierany z kalendarza komputera. Aby w nocy uzyskać ciemność, należy również ustawić doubleambient no. Działa od wersji 162.
multiplayer (0)
Wartość 1 włącza obsługę komunikacji z innym programem. Ma też pewien wpływ na symulację, np. wyłącza możliwość chwilowego zatrzymania klawiszem [Pause]. Zewnętrzny program może służyć do sterowania ruchem na scenerii, albo umożliwiać synchronizację jazdy wieloosobowej przez sieć komputerową.
Aktualnie współpraca działa tylko z programem Rainsted.
Parametry wydajnościowe
Zmieniając te parametry można zwiększyć wydajność symulacji kosztem jakości. Zalecane jest pozostawienie wartości domyślnych, chyba że występują problemy z wydajnością (niski FPS).
adjustscreenfreq (no)
Synchronizacja częstotliwości ramek z częstotliwością monitora. Ma zastosowanie tylko na pełnym ekranie. Powinna zostać włączona, jeśli występują problemy. FPS zostanie ograniczony do częstotliwości odświeżania monitora.
vsync (no)
Ogranicznik klatek do 60 fps.
convertmodels (6)
Opcje dla tworzenia plików modeli E3D z T3D. Modele E3D wczytują się szybciej, dzięki temu skraca się czas uruchomienia scenerii. Wartość 0 wyłącza automatyczną konwersję (istniejące pliki E3D będą wczytywane zamiast T3D, ale nie będą tworzone nowe). Wartość +1 włącza konwersję bez optymalizacji (optymalizacja potrafi czasem uszkodzić pewne własności modeli, np. podświetlenia mierników, ale zwiększa FPS). Wartość +2 włącza konwersję z optymalizacją. Wartość +4 spowoduje wygenerowanie automatycznych bananów dla modeli związanych z pojazdami (pudła, kabiny, ładunki).
Pliki E3D jak również już przekonwertowane pliki T3D można usunąć za pomocą Rainsted.
decompressdds (no)
Wartość yes włącza programową (tzn. poza OpenGL) dekompresję tekstur DDS. Automatycznie zmieniany na yes, jeśli OpenGL nie obsługuje dekompresji S3TC (brak GL_EXT_texture_compression_s3tc). Programowa dekompresja DDS może wydłużyć wczytywanie, zalecane jest użycie tekstur TGA w takim przypadku. Parametr wprowadzony w 2009 roku, ale aż do wersji 372 włącznie nie był obsługiwany poprawnie. Programowa dekompresja jest jednak uszkodzona i powoduje wyświetlenie tekstur z poziomymi liniami.
defaultext (dds)
Określa, jakie tekstury będą poszukiwane w pierwszej kolejności, jeśli rozszerzenie tekstury nie zostało podane jawnie. Przed wersją 150 używane do kategorycznego określenia rozszerzenia dla takich plików, w późniejszych wersjach jako sprawdzanie plików w pierwszej kolejności. Opcja dodana w Paczce Całościowej 2009, wcześniej tekstury bez rozszerzenia nazwy pliku zawsze były rozumiane jako BMP.
enabletraction (yes)
Do wersji 411: włącza poszukiwanie sieci trakcyjnej, co przekłada się na animację odbieraków. Wyłączenie powoduje, że odbieraki są podnoszone na stałą wysokość, co może poprawić FPS.
Od wersji 412 zostało zoptymalizowane poszukiwanie sieci trakcyjnej i nie ma już potrzeby wyłączania go ze względu na wydajność. Parametr odpowiada teraz za możliwość połamania pantografu, jeśli drut jezdny znajdzie się poniżej ślizgu. Ze względu na niedoskonałość scenerii może być konieczne zablokowanie możliwości połamania pantografu (enabletraction no) do czasu ulepszenia sieci trakcyjnej.
fpsaverage (20.0)
Średnia wartość FPS dla regulacji promienia scenerii. Im większa wartość, tym promień będzie mniejszy. Na słabym sprzęcie nie da żadnego efektu (promień scenerii będzie zawsze minimalny). Działa od wersji 351.
fpsdeviation (5.0)
Dopuszczalne odchylenie FPS od wartości średniej (histereza) dla regulacji promienia scenerii. Im większa wartość, tym wahania FPS będą większe. Zbyt mała wartość spowoduje zauważalne migotanie oddalonych obiektów, zbyt duża trwale ograniczy promień scenerii. Działa od wersji 351.
fpsradiusmax (3000.0)
Maksymalny promień renderowania scenerii [m]. Regulacja promienia scenerii nie przekroczy podanej wartości, dzięki czemu FPS będzie mógł być większy niż podana średnia. Na słabym sprzęcie nie da żadnego efektu (promień scenerii będzie zawsze minimalny). Działa od wersji 351.
glutfont (no)
Włącza alternatywny sposób renderowania napisów 2D (te 3 linijki u góry) dla starszych kart graficznych, które nie potrafią wyświetlać standardowych napisów. Wymagane jest znalezienie w systemie albo lokalnym katalogu biblioteki GLUT32.DLL. Jeśli biblioteka nie zostanie znaleziona, włączane jest wyświetlanie standardowe z zapisaniem informacji w log.txt. Działa od wersji 157.
loadtraction (yes)
Umożliwia całkowite wyłączenie sieci trakcyjnej, łącznie z wczytywaniem modeli słupów oraz znaków związanych z siecią (We). Działa poprzez pominięcie wszelkich modeli (dokładniej plików INC) z podkatalogów scenery/tr/ oraz scenery/tra/.
modifytga (7)
Wartości niezerowe włączają możliwość modyfikacji plików TGA w celu zwiększenia prędkości ich wczytywania. Modyfikowanie plików TGA powinno być wykonywane przede wszystkim na etapie tworzenia paczki całościowej oraz dodatków. Poszczególne opcje mają postać flag bitowych.
- +1 plik zostanie zapisany bez kompresji, jeśli po skompresowaniu jest dłuższy
- +2 zostaną obcięte niepotrzebne bajty na końcu pliku (zwykle napis "TRUEVISION-XFILE.")
- +4 końcówka pliku (do 128 pikseli) zostanie zapisana bez kompresji, aby nie dochodziło do przepełnienia bufora
Kompresja zastosowana dla TGA jest wydajna przede wszystkim, jeśli występują linie poziome pikseli o identycznym kolorze. Ma to rzadko miejsce w przypadku tekstur fotorealistycznych. Zalecane jest używanie tekstur DDS, jednak są osoby, które cenią sobie jakość obecną w TGA, a usuwaną przez kompresję DDS. Optymalizacja plików TGA zwiększa efektywność ich wczytywania bez utraty jakości.
Specjalna wartość parametru modifytga -1 uruchomi (zamiast symulacji) tryb optymalizacji wszystkich znalezionych plików TGA. Ten sam efekt można uzyskać podając parametr -modifytga przy uruchomieniu EU07.EXE.
maxtexturesize (16384)
Zmniejszanie rozmiarów tekstur DDS i TGA do kwadratu o podanym boku. Może zwiększyć wydajność kosztem jakości. Niezależnie od tego parametru zbyt duże tekstury DDS i TGA są automatycznie skalowane do maksymalnego rozmiaru obsługiwanego przez kartę graficzną (najczęściej 2048). Na niektórych starszych kartach graficznych zauważalny jest znaczny wzrost wydajności po ustawieniu wartości 512.
multisampling (2)
Wartość różna od zera włącza zwiększenie rozmiarów renderowanego okna, które jest następnie skalowane do rozmiaru użytkowego, co poprawia rozmycie krawędzi. Wartość 1 zwiększa dwukrotnie, 2 - czterokrotnie, 3 - ośmiokrotnie. W przypadku znacznego spadku FPS wskazane jest wypróbowanie innych rozmiarów okna oraz wyświetlania na pełnym ekranie. Funkcja jest automatycznie wyłączana w przypadku wykrycia spadku FPS (slowmotion 1).
Od wersji 408 również automatycznie wyłączana po wykryciu karty Intel.
anisotropicfiltering (8)
Próbowanie filtrowania anizotropowego. Dopuszczalne wartości 1, 2, 4, 8 lub 16.
smoothtraction (no)
Prymitywna metoda wygładzania drutów. Rysuje je grubsze, a na niektórych kartach graficznych błędnie (są ciensze z jednego końca). Na OpenGL 1.3 lub nowszym zalecane używanie multisampling.
usevbo (yes)
Parametr włącza tryb wyświetlania VBO zamiast starszego trybu Display Lists. Ponieważ tryb VBO jest z reguły bardziej wydajny niż Display Lists, jest on trybem domyślnym. Tryb Display List może być przydatny na przedpotopowych sterownikach, nie radzących sobie z VBO.
pyscreenrendererpriority (normal)
Priorytet wątku pythonowego renderera ekranów w kabinach względem głównego wątku symulatora. Zwiększa płynność symulacji, zmniejszając częstotliwość odświeżania ekranu. Akceptowane parametry: normal, lower, lowest, idle. Dostępne od wersji 475.
dynamiclights (3)
Ilość świateł OpenGL przypisywana pojazdom. Dopuszczalny zakres wartości to 1-7. W miarę współczesne karty graficzne nie powinny mieć specjalnych kłopotów z obsługa 7 źródeł, ale jest to kwestia indywidualnych testów.
shadows (yes)
Włączenie cieni od światła słonecznego.
shadowtune (4096 250 400 300)
Parametry jakości cieni. Gdzie: <rozdzielczość> - Szerokość i wysokość tekstury na jaką renderuje się shadowmapa. Domyślnie 4096. (to zajmuje sporo vramu, np. 2048 to 16MiB, 4096 to 64MiB, 8192 to 256MiB). <promień projekcji> - Jak szeroka ma być projekcja przez którą rzucane jest światło. Poza obszarem projekcji cienie nie są rzucane. Oczywiście żeby zwiększyć projekcję bez utraty jakości należy też zwiększyć rozdzielczość shadowmapy. Domyślnie 250. <głębokość projekcji> - Tutaj można sobie ustawić dużo, jednym ograniczeniem jest dokładność shadowmapy czyli 32bitowego floata. Jeżeli będzie za mało to obiekty które są niżej nie będą rzucać cienia, widoczne przy wylatywaniu kamerą w górę. Domyślnie 400. <odległość od obserwatora> - Odległość punktu projekcji światła od obserwatora w kierunku słońca. Jeżeli jest za mało to obiekty które są niżej nie będą rzucać cienia, a przy wysokich kątach padania światła projekcja będzie się wrzynać w teren i ograniczać efektywny promień projekcji. Żeby miało sens to musi być mniejsze od głębokości projekcji. Domyślnie 300.
gfxrenderer simple
!! Domyślna wartość to brak całego wpisu! Wpis włącza uproszczoną wersje generowania grafiki - Dla słabych komputerów! Jedny wpis to "simple"
splinefidelity (1)
Parametr służy do zaokrąglania torów na łukach. Domyślna wartość (1), oznacza że łuk jest rysowany z prostych kawałków o długości 2m. Maksymalna wartość to 4, gdzie długość prostej to 0.5m.
fullphysics no
!! Domyślna wartość to brak całego wpisu! Wpis używa prostego systemu obliczania fizyki. Dla słabszych komputerów
Parametry testowe
Parametry te służą do testowania scenerii lub pewnych warunków symulacji. Przy normalnym użytkowaniu powinno się pozostawić wartości domyślne.
debugmode (no)
Specjalny tryb do testowania scenerii. Wyłącza możliwość wykolejenia przy zbyt dużej prędkości oraz uszkodzenia lokomotywy. Wyłącza ograniczenie przestrzeni kabiny. Zmienia działanie niektórych klawiszy.
Od wersji 390 automatycznie uruchamia AI w pojeździe wybranym do jazdy, co usprawnia testowania scenerii.
debuglog (3)
Wyświetlanie i zapisywanie do pliku log.txt informacji o działaniu programu. Plik ten zawiera konfigurację komputera, prawidłowość wczytania modeli i tekstur, listę wykonanych eventów. Zapisują się również pojawiające się błędy. Plik ten jest podstawą do rozwiązywania problemów z uruchomieniem i działaniem symulacji.
Od wersji 351 parametr ustawia się liczbą będącą maską bitową. Wartość +1 oznacza zapis do pliku, a +2 - wyświetlanie w oknie logu. Dotychczasowe wartości yes oraz no są traktowane odpowiednio jako 3 oraz 0. Wartość +4 włącza logowanie nazw wczytywanych torów, co pomaga odnaleźć wadliwe odcinki. Wartość +8 włącza logowanie zmian w tabelkach skanowania pojazdów. (Od wersji 477, w 473-476 włączone cały czas, wcześniej brak.)
multiplelogs (no)
Zapisywanie plików log i errors do osobnego katalogu pod unikalnymi nazwami. Do porównań logów podczas testów.
livetraction (yes)
Uwzględnienie (spadków) napięcia w sieci.
physicslog (no)
Służy do testowania pojazdów oraz AI. Może być również używane do zapisu przebiegu jazdy w celu wygenerowania obrazu "taśmy Haslera". Zapis nie działał od wersji 236 do 350 włącznie z powodu przepisania kodu AI na inny język.
soundenabled (yes)
Włącza dźwięki przestrzenne.
Parametry przejściowe
Niektóre parametry były używane we wcześniejszych wersjach i nie są już stosowane. Nie ma potrzeby jawnego ustawiania tych wartości.
bpp (32)
Ilość bitów na kolor piksela. Dostępne są wartości 32 i 16. Większość obecnych kart pracuje na kolorze 32-bitowym. Podanie wartości 16 może uniemożliwić uruchomienie. Parametr zostanie najprawdopodobniej usunięty.
doubleambient (no)
Podwójna jasność światła. W dotychczasowych EU07.EXE (do wersji 120) były ustawiane dwa światła ambient (oświetlenie "w cieniu"): GL_LIGHT0 oraz GL_LIGHT_MODEL_AMBIENT. W efekcie prawie wszystko było maksymalnie oświetlone, a efekty związane ze światłem diffuse (oświetlenie kierunkowe "w słońcu") były praktycznie niezauważalne. Ponieważ używanie dwóch świateł w ten sposób sprawia problemy, w nowszych wersjach planowane jest użycie tylko jednego światła (GL_LIGHT0). Aby jednak na sceneriach nie było zbyt ciemno przy starych wpisach light, należy użyć doubleambient yes. Od wersji 324 wartością domyślną jest no, a w przyszłych wersjach możliwość ustawienia obu świateł naraz zostanie usunięta. Paczka Całościowa 2011 ma parametry światła dostosowane do doubleambient no.
freefly (no 0 0 0)
Pierwsza wartość yes teoretycznie powinna ustawić tryb swobodnego latania, jednak obsługa tego jest wyłączona. Kolejne trzy liczby używane są do ustalenia współrzędnych kamery numer 0 i są używane jako początkowa pozycja kamery w trybie ghostview (gdy zostanie wybrany "pojazd" o takiej nazwie). Parametr pochodzi z czasów, gdy była tylko jedna sceneria i nie dało się wyjść z pojazdu. Obecnie jego przydatność jest znikoma i najpewniej zostanie usunięty.
newaircouplers (yes)
Włączenie nowych węży powietrznych. Stare modele miały inne nazwy węży w modelach i występowały problemy z ich dopasowaniem. Obecnie większość taboru posiada już nowe węże. Parametr może być usunięty w przyszłych wersjach.
renderalpha (yes)
Włączenie osobnej fazy renderowania dla obiektów z przezroczystymi teksturami (z kanałem alfa). Obiekty przezroczyste muszą być renderowane osobno (później), aby nie zasłaniały znajdujących się za nimi obiektów nieprzezroczystych. Parametr był używany w początkowej fazie rozwoju Symulatora i w przypadku błędnego działania drugiej fazy można renderować wszystkie obiekty w jednej. Obsługa tego parametru została całkowicie usunięta od wersji 200, ponieważ ilość i zakres zastosowania tekstur z przezroczystością praktycznie uniemożliwiają używanie programu przy wyłączonych przezroczystościach. Dwie fazy renderowania (nieprzezroczyste, przezroczyste) działają zawsze, dodatkowo podzielone są na pod-fazy (np. druty i linie renderowane są na samym końcu fazy przezroczystych).
skyenabled (yes)
Włącza niebo 3D.
timeatmolight (yes)
Włącznie zmiany światła i mgły w zależności od czasu. Mechanizm nie działał zadowalająco i został całkowicie wyłączony w wersji 135. Zastąpił go tryb movelight (od wersji 162), który ustawia kierunek padania promieni Słońca zależnie od podanego dnia roku oraz godziny.
wireframe (no)
Włączenie powoduje wyświetlanie linii zamiast trójkątów terenu. Być może kiedyś było przydatne przy testowaniu powstających scenerii.
scalespeculars (yes)
Skalowanie parametru siły odblasków światła (specular highlights) dla modeli 3d. Ponieważ parametr poprzednio obsługiwany nie był, większość modeli ma go ustawiony na coś w stylu (150, 150, 150) wartość ta jest zazwyczaj zbyt wysoka dla materiałów innych niż takie, które światło odbijają doskonale (szyby, wypolerowany metal) W związku z tym domyślnie exe modyfikuje podana wartość parametru specular do 25% wartości dla geometrii nieprzezroczystej, i 150% podanej wartości dla geometrii półprzezroczystej, która w założeniu powinny być wyłącznie szyby itp.
soundstopmode (queue)
Jak zachowuje się dzwięk podczas zatrzymania w środku nagrania złożonego: "queue" Zaraz po końcu odtwarzania startu, odtwarza stop; "playstop" Od razu zaczyna odtwarzać dźwięk stopu; "stop" Natychmiastowo przestaje odtwarzać dźwięk.
soundgainmode (linear)
Sposób przeliczania głośności; "linear" Skala liniowa od 0 do 1; "scaled" linear podzielony przez 1.75 w celu dopasowania punktu połowy głośności z dawną skalą logarytymiczną; skala logarytmiczna stosowana przez stary kod directsound. 0 odpowiada -50dBFS, a 1 odpowiada 0dBFS
soundpitchmode (linear)
Sposób przelicznia modulacji dzwięku. "linear" przyjmuje właściwy samplerate z pliku; "compat" przyjmuje samplerate jako 22kHz, jak w starym kodzie z directsound