Plik scenerii: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(triangles)
 
(Nie pokazano 86 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
Plik scenerii jest plikiem tekstowym, zawierającym definicje obiektów, zdarzeń, pojazdów znajdujących się w scenerii. Aby plik scenerii mógł zostać uruchomiony przez symulator, należy umieścić go bezpośrednio w folderze ''scenery''. Scenerię można uruchomić za pomocą startera, wiersza poleceń lub bezpośrednio przez plik wykonywalny symulatora.
+
[[Category:Formaty plików symulatora]]
 +
Plik scenerii jest [[Plik_tekstowy|plikiem tekstowym]], zawierającym definicje obiektów, zdarzeń, pojazdów znajdujących się w scenerii. Aby plik scenerii mógł zostać uruchomiony przez symulator, należy umieścić go bezpośrednio w folderze ''scenery''.  
 +
 
 +
== Przygotowanie ==
 +
Scenerię można uruchomić za pomocą startera, wiersza poleceń lub bezpośrednio przez plik wykonywalny symulatora.
  
 
* Komenda wiersza poleceń, uruchamiająca scenerię scene.scn:
 
* Komenda wiersza poleceń, uruchamiająca scenerię scene.scn:
Linia 6: Linia 10:
 
* Wpis w eu07.ini, powodujący uruchomienie scene.scn przez plik wykonywalny
 
* Wpis w eu07.ini, powodujący uruchomienie scene.scn przez plik wykonywalny
 
     sceneryfile scene.scn  
 
     sceneryfile scene.scn  
 +
 +
Scenerie używają prawoskrętnego ukłądu współrzędnych:
 +
 +
[[Plik:Swspol.png]]
  
 
== Rodzaje plików składowych scenerii ==
 
== Rodzaje plików składowych scenerii ==
Poniższe rodzaje plików nie różnią się składnią, a jedynie pomagają zachować ład w plikach wchodzących w skład scenerii.
+
Poniższe rodzaje plików nie różnią się składnią, a jedynie pomagają zachować ład w plikach wchodzących w skład scenerii. Są one dołączane do głównego pliku scenerii za pomocą dyrektywy [[Dyrektywa_include|include]].
* SCN - główny plik scenerii, zawiera zazwyczaj definicje składów i polecenia include, dołączające obiekty z innego pliku do scenerii.
+
* SCN - główny plik scenerii, zawiera zazwyczaj [[Dyrektywa_trainset|definicje składów]] i polecenia [[Dyrektywa_include|include]], dołączające obiekty z innego pliku do scenerii.
 
* SCM - plik z elementami składowymi scenerii. Zazwyczaj używa się tych plików do podziału obiektów scenerii na tory, drogi, drzewa, wskaźniki...
 
* SCM - plik z elementami składowymi scenerii. Zazwyczaj używa się tych plików do podziału obiektów scenerii na tory, drogi, drzewa, wskaźniki...
 
* CTR - plik ze zdarzeniami tworzącymi scenariusz
 
* CTR - plik ze zdarzeniami tworzącymi scenariusz
* INC - plik pozwalający na wstawienie obiektu z parametrami (tekstura wymienna, rotacja w 3 osiach)
+
* [[Plik_INC|INC]] - plik pozwalający na wstawienie parametryzowanego zbioru obiektów scenerii.
 
 
= Rodzaje wpisów =
 
Parametry obiektów w scenerii mogą być oddzielane
 
* spacjami,
 
* przecinkami,
 
* średnikami,
 
* tabulatorami
 
*końcami linii.
 
Jednak dla lepszej czytelności dla człowieka zaleca się oddzielanie ich wyłącznie spacją.
 
 
 
=== node ===
 
Definiuje obiekty różnych typów.
 
Każdy wpis node zaczyna się od preambuły:
 
    <span style="color:green;font-weight:bold;">node</span> ''max_distance min_distance nazwa typ''
 
* '''max_distance''' - liczba określająca maksymalną odległość, z jakiej obiekt jest widoczny (-1 oznacza brak ograniczenia widoczności).
 
* '''min_distance''' - liczba określająca minimalną odległość, z jakiej obiekt jest widoczny.
 
* '''nazwa''' - nazwa obiektu, służy do identyfikacji konkretnego obiektu w scenerii, np. przy wstawianiu składu na tor.
 
* '''typ''' - typ obiektu. Dostępne typy opisane są poniżej.
 
 
 
==== dynamic ====
 
Wstawia do scenerii pojazd.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">dynamic</span> ''folder tekstura fizyka tor odleglosc obsada predkosc sprzeg ilosc_ladunku ladunek'' <span style="color:orange;font-weight:bold">destination</span> ''miejsce_docelowe'' <span style="color:tomato;font-weight:bold">enddynamic</span>
 
* '''folder''' - ścieżka do katalogu zawierającego model pojazdu do wstawienia, relatywna względem folderu ''dynamic''.
 
* '''tekstura''' - plik tekstury z katalogu ''folder'', którym ma być oteksturowany model (bez rozszerzenia).
 
* '''fizyka''' - [[Plik charakterystyki|plik charakterystyki]] z katalogu ''folder'' (bez rozszerzenia). Określa jaki model pojazdu zostanie użyty (np. 303E).
 
* '''tor''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Należy wpisać nazwę obiektu [[Plik scenerii#track|'''node::track''']], na którym ma stanąć pojazd.
 
* '''odleglosc''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Należy podać odległość pojazdu od punktu 1 obiektu [[Plik scenerii#track|'''node::track''']] [m].
 
* '''obsada''' - stan obsadzenia pojazdu. Dostępne typy:
 
** headdriver - obsada w kabinie nr 1.
 
** reardriver - obsada w kabinie nr 2.
 
** nobody - brak obsady.
 
** passenger - jazda w wagonie jako pasażer. Uwaga! Nie każdy wagon posiada taką możliwość!
 
** connected
 
* '''predkosc''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Określa prędkość początkową pojazdu [km/h].
 
* '''sprzęg''' - <u>tylko jeśli wpis JEST częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Określa flagę sprzęgu łączącego z następnikiem.
 
** 1 - hak
 
** 2 - przewód hamulcowy
 
** 4 - przewód ukrotnienia
 
** 8 - przewód wysokiego napięcia
 
** 16 - mostek przejściowy
 
** 32 - przewód powietrzny 8 atmosfer
 
** 64 - przewód ogrzewania
 
** 128 - blokada
 
Aby otrzymać liczbę reprezentującą określony sposób sprzęgnięcia, należy zsumować liczby symbolizujące podłączenie interesujących nas elementów. Dla przykładu, aby otrzymać liczbę oznaczającą podłączenie haka, przewodu hamulcowego i ogrzewania dodajemy do siebie liczby 1 (podpięty hak), 2 (podpięty przewód hamulcowy) i 64 (podpięty przewód ogrzewania). Daje to liczbę 67.
 
* '''ilosc_ladunku''' - ilość ładunku w pojeździe. [jednostka zależna od wpisu w [[Plik charakterystyki|pliku charakterystyki]]]
 
* '''ladunek''' - <u>tylko jeśli ''ilosc_ladunku'' > 0.</u> Określa nazwę ładunku.
 
* '''miejsce_docelowe''' - dla wagonów jest to stacja docelowa. Informacja taka umożliwi wykonywanie automatycznych manewrów przez AI (łączenie i rozłączanie składów, obsługa górki rozrządowej). Jeśli nie zostanie to wyszczególnione we wpisie, miejsce docelowe zostanie określone po przypisaniu rozkładu jazdy.
 
 
 
==== eventlauncher ====
 
Definiuje wyzwalacz zdarzeń.
 
 
 
==== lines ====
 
Definiuje linię.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">lines</span> ''kolor grubosc''
 
    ''px py pz kx ky kz''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''px py pz kx ky kz''' - współrzędne początku i końca linii w przestrzeni 3D. Może wystąpić ich dowolna parzysta ilość.
 
 
 
==== line_strip ====
 
Definiuje linię łamaną.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">line_strip</span> ''kolor grubosc''
 
    ''x y z''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''x y z''' - współrzędne linii w przestrzeni 3D. Może wystąpić ich dowolna ilość.
 
 
 
==== line_loop ====
 
Definiuje linię łamaną zamkniętą.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">line_loop</span> ''kolor grubosc''
 
    ''x y z''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''x y z''' - współrzędne linii w przestrzeni 3D. Może wystąpić ich dowolna ilość.
 
 
 
==== memcell ====
 
Definiuje komórkę pamięci.
 
  
==== model ====
+
== Składnia ==
Wstawia do scenerii model w formacie t3d.
+
Scenerię konfiguruje się za pomocą dyrektyw i wpisów przedstawionych w poniższym rozdziale:
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">model</span> ''x y z rz plik_modelu tekstura_wymienna'' <span style="color:orange;font-weight:bold">lights</span> ''stany_swiatel'' <span style="color:tomato;font-weight:bold">endmodel</span>
 
* '''x, y, z''' - współrzędne modelu w przestrzeni 3D.
 
* '''rz''' - rotacja w osi Z.
 
* '''plik_modelu''' - ścieżka do modelu w formacie T3D, relatywna względem folderu ''models''.
 
* '''tekstura_wymienna''' - ścieżka do tekstury, którą ma być oteksturowany submodel ze zdefiniowaną teksturą wymienną. Ścieżka relatywna względem folderu ''textures''.
 
* '''stany_swiatel''' - w zależności od ilości zdefiniowanych świateł w modelu, znaleźć tu się muszą liczby opisujące ich stan:
 
** 0 - zgaszone
 
** 1 - zapalone
 
** 2 - pulsujące
 
** 3 - zapalone tylko w nocy
 
W przypadku braku zdefiniowanych świateł, należy pominąć słowo kluczowe '''lights'''.
 
  
==== track ====
+
=== Dyrektywy scenariusza ===
Definiuje odcinek trajektorii ruchu: drogi, tory, rzeki...
+
* [[Dyrektywa_atmo|atmo]] - ustawienia mgły.
 +
* [[Dyrektywa_sky|sky]] - ustawienie modelu nieba.
 +
* [[Dyrektywa_time|time]] - ustawienie czasu symulacji.
 +
* [[Dyrektywa_FirstInit|FirstInit]] - polecenie inicjalizacji wczytanych obiektów.
 +
* [[Dyrektywa_trainset|trainset]] - definicja składu.
 +
* [[Obiekt_event|event]] - zdarzenie, np. polecenie zmiany sygnału na semaforze.
 +
* [[Dyrektywa_include|include]] - dołączanie zawartości innych plików do pliku scenerii.
 +
* [[Dyrektywa_camera|camera]] - ustawienia predefiniowanych pozycji kamer w trybie ''freefly''.
 +
* [[Dyrektywa_config|config]] - ustawienia aplikacji specyficzne dla scenerii.
 +
* [[Dyrektywa_lua|lua]] - dołączenie skryptu sterującego scenariuszem w języku LUA.
 +
* [[Obiekt_node|node]] - definicja obiektów widocznych: tory, rzeki, modele.
 +
* [[Dyrektywa_origin|origin]] - polecenie przesunięcia obiektów o wektor.
 +
* [[Dyrektywa_rotate|rotate]] - polecenie obrotu obiektów o kąty.
 +
* [[Dyrektywa_group|group]] - grupowanie obiektów
 +
* [[Dyrektywa_isolated|isolated]] - definiowanie odcinków izolowanych
 +
* [[Dyrektywa_area|area]] - grupowanie odcinków izolowanych
  
==== traction ====
+
Wycofane:
Definiuje odcinek drutu sieci trakcyjnej.
+
* <s>[[Dyrektywa_description|description]] - opis scenerii na potrzeby starterów.</s>
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">traction</span> ''zrodlo_zasilania napiecie napiecie_max opor material grubosc uszkodzenia''
+
* <s>[[Dyrektywa_light|light]] - ustawienie źródła oświetlenia scenerii.</s>
    ''p1x p1y p1z''
+
* <s>[[Dyrektywa_test|test]] - testowanie poprawności dyrektyw.</s>       
    ''p2x p2y p2z''
 
    ''p3x p3y p3z''
 
    ''p4x p4y p4z''
 
    ''wysokosc_min odstep_wieszakow ilosc_przewodow odstep_przewodow widocznosc''
 
    ''zdarzenie''
 
    <span style="color:tomato;font-weight:bold">endtraction</span>
 
* '''zrodlo_zasilania''' - nazwa obiektu [[Plik scenerii#tractionpowersource|'''node::tractionpowersource''']], który ma zasilać ten odcinek sieci.
 
* '''napiecie''' - napięcie sieci trakcyjnej bez obciążenia.
 
* '''napiecie_max''' - prąd przy którym napięcie w sieci spadłoby o połowę.
 
* '''opor''' - rezystancja styku ślizgacz-przewód.
 
* '''material''' - materiał, z jakiego wykonany jest drut:
 
** Cu - miedź
 
** Al - aluminium
 
* '''grubosc''' - grubość drutu [mm].
 
* '''uszkodzenia''' - flaga bitowa uszkodzeń:
 
** 1 - patyna
 
** 128 - zerwanie
 
* '''p1x, p1y, p1z''' - współrzędne punktu będącego początkiem przewodu jezdnego.
 
* '''p2x, p2y, p2z''' - współrzędne punktu będącego końcem przewodu jezdnego.
 
* '''p3x, p3y, p3z''' - współrzędne punktu będącego początkiem przewodu nośnego.
 
* '''p4x, p4y, p4z''' - współrzędne punktu będącego końcem przewodu nośnego.
 
* '''wysokosc_min''' - najniższa wysokość górnego przewodu nad dolnym.
 
* '''odstep_wieszakow''' - odstęp pomiędzy kolejnymi wieszakami.
 
* '''ilosc_przewodow''' - ilość przewodów jezdnych (0,1,2,3).
 
* '''odstep_przewodow''' - odstęp między przewodami jezdnymi gdy ''ilosc_przewodow'' = 3.
 
* '''widocznosc''' - widoczność trakcji:
 
** unvis/novis - niewidoczna
 
** vis - widoczna
 
* '''zdarzenie''' - opcjonalne zdarzenie [[Plik scenerii#event|'''event''']], które zostanie uruchomione gdy [[Plik scenerii#dynamic|'''node::dynamic''']] pobiera prąd z sieci.
 
  
==== tractionpowersource ====
+
=== Dyrektywy startera ===
Definiuje źródło zasilania sieci trakcyjnej.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">tractionpowersource</span> ''x y z napiecie czestotliwosc opor napiecie_max czas_restartu1 ilosc_prob_restartu czas_restartu2 rekuperacja'' <span style="color:tomato;font-weight:bold">end</span>
 
* '''x, y, z''' – położenie źródła prądu w przestrzeni 3D.
 
* '''napiecie''' – napięcie w sieci trakcyjnej bez obciążenia.
 
* '''czestotliwosc''' – częstotliwość prądu.
 
* '''opor''' – rezystancja wewnętrzna podstacji.
 
* '''napiecie_max''' – prąd przy którym uruchamia się bezpiecznik nadmiarowy szybki.
 
* '''czas_restartu1''' – czas po którym obwód się uruchamia ponownie po przeciążeniu.
 
* '''ilosc_prob_restaru''' – ilość prób wznowienia pracy obwodu.
 
* '''czas_restartu2''' – czas po jakim zostanie uruchomiony obwód jeśli zostanie przekroczona ilość wznowień (załączeń bezpiecznika szybkiego).
 
* '''rekuperacja''' – czy jest odzysk prądu z sieci:
 
** recuperation - tak
 
** norecuperation - nie
 
  
==== triangles ====
+
Dyrektywy startera to zestaw parametrów (według składni komentarzy) pełniących rolę wprowadzenia do danego startera symulatora MaSzyna dodatkowych informacji oraz konfiguracji.
Definiuje trójkąt terenu.
+
Nie mają wpływu na działanie symulacji!
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">triangles</span> <span style="color:tomato;font-weight:bold">material</span> <span style="color:orange;font-weight:bold">ambient:</span> ''ambient'' <span style="color:orange;font-weight:bold">diffuse:</span> ''diffuse'' <span style="color:orange;font-weight:bold">specular:</span> ''specular'' <span style="color:tomato;font-weight:bold">endmaterial</span> ''tekstura''
 
    ''x y z nx ny nz u v'' <span style="color:tomato;font-weight:bold">end</span>
 
    ...
 
    <span style="color:tomato;font-weight:bold">endtri</span>
 
* '''ambient''' - 3 wartości RGB z zakresu <0;255>, określające kolor materiału.
 
* '''diffuse''' - 3 wartości RGB z zakresu <0;255>
 
* '''specular''' - 3 wartości RGB z zakresu <0;255>, określające siłę odbłyskiwania światła na trójkącie.
 
* '''tekstura''' - ścieżka do pliku tekstury (bez rozszerzenia) relatywna względem folderu ''textures''.
 
* '''x, y, z''' - współrzędnie wierzchołka w przestrzeni 3D.
 
* '''nx, ny, nz''' - współrzędne wektora normalnego.
 
* '''u, v''' - współrzędnie wierzchołka UV w przestrzeni 2D. Określają układ tekstury.
 
Ilość wierzchołków w tym obiekcie jest nieograniczona, ale musi być wielokrotnością liczby 3.
 
  
==== triangle_strip ====
+
:'''//$n''' – nazwa scenerii:
Definiuje siatkę trójkątów. Rzadko spotykany, częściej w jego miejsce używany jest lepiej zoptymalizowany [[Plik scenerii#triangles|'''node::triangles''']]
+
::*Rainsted.exe wyświetlana w głównym oknie wyboru scenerii w polu z żółtym tłem;
 +
::*Starter.exe wyświetlana w głównym oknie wyboru scenerii w zakładce ''Opis służby'';
 +
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
  
==== triangle_fan ====
+
:'''//$d''' – opis scenerii:
Definiuje siatkę trójkątów. Rzadko spotykany, częściej w jego miejsce używany jest lepiej zoptymalizowany [[Plik scenerii#triangles|'''node::triangles''']]
+
::*Rainsted.exe wyświetlany w głównym oknie wyboru scenerii obok wybranego składu/scenariusza;
 +
::*Starter.exe wyświetlany w głównym oknie wyboru scenerii w zakładce ''Opis służby'';
 +
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
  
----
+
:'''//$f''' – link do zewnętrznego pliku lub strony internetowej dotyczący scenerii albo pojedynczego scenariusza, możliwy do otwarcia z poziomu startera (wyświetlany jako dedykowany przycisk):
 +
::*Rainsted.exe wyświetla do trzech przycisków tego typu w głównym oknie wyboru scenerii;
 +
::*Starter.exe wyświetla przyciski tego typu w głównym oknie wyboru scenerii w zakładce ''Rozkład jazdy'';
 +
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
  
=== atmo ===
+
:'''//$o''' – opis składu, pokazywany przez dany starter. Jeśli skład ma być ukryty, przed pierwszym znakiem opisu powinien znaleźć się znak minus '''-'''. Dyrektywa ta musi zostać wprowadzona do pliku po dyrektywie scenariusza '''FirstInit'''.
Definiuje kolor tła scenerii i parametry mgły.
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
    <span style="color:tomato;font-weight:bold">atmo</span> ''kolor_nieba poczatek_mgly koniec_mgly kolor_mgly'' <span style="color:tomato;font-weight:bold">endatmo</span>
 
* '''kolor_nieba''' - 3 wartości RGB z zakresu <0;1> określające kolor nieba.
 
* '''poczatek_mgly''' - odległość początku mgły od kamery [m].
 
* '''koniec_mgly''' - odległość końca mgły od kamery [m].
 
* '''kolor_mgly''' - 3 wartości RGB z zakresu <0;1> określające kolor mgły.
 
  
=== camera ===
+
:'''//$i''' – nazwa obrazka wyświetlanego przez dany starter w głównym oknie (miniaturka scenerii)
Definiuje kamerę, do której można się przemieszczać klawiszami numerycznymi.
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
    <span style="color:tomato;font-weight:bold">camera</span> ''x y z rx ry rz numer'' <span style="color:tomato;font-weight:bold">endcamera</span>
 
* '''x, y, z''' - współrzędne kamery w przestrzeni 3D.
 
* '''rx, ry, rz''' - obrót kamery w trzech osiach.
 
* '''numer''' - po kliknięciu jakiego klawisza (numerycznego) ma nastąpić teleportacja do kamery.
 
  
=== config ===
+
:'''//$it''' – definicja indywidualnego obrazka mini z katalogu scenery/images dla danego składu - deklaracja obrazka - nazwa bez rozszerzenia!
Definiuje ustawienia ''eu07.ini'' specyficzne dla scenerii. Można ustawić dowolną ilość par opcja-wartość. Uwaga! Nie wszystkie opcje są możliwe do ustawienia za pomocą tego wpisu!
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:tomato;font-weight:bold">config</span> ''opcja wartosc'' ... <span style="color:tomato;font-weight:bold">endconfig</span>
 
* '''opcja''' - jedna z [[Plik konfiguracyjny EU07.INI#Parametry_scenerii|opcji eu07.ini]].
 
* '''wartosc''' - wartość dla opcji.
 
  
=== description ===
+
:'''//$it''' – definicja indywidualnego logo startowego dla składu z katalogu textures/logo - deklaracja obrazka - nazwa bez rozszerzenia!
Definiuje opis scenerii. Wpis stworzony z myślą o starterach, ale nie jest przez nie interpretowany.
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:tomato;font-weight:bold">description</span> ''opis_scenerii'' <span style="color:tomato;font-weight:bold">enddescription</span>
 
* '''opis_scenerii''' - opis scenerii.
 
  
=== event ===
+
:'''//$decor''' – pomijanie składów dekoracyjnych tj. nie wykonujących zadań scenariusza.
Definiuje zdarzenia które służą do sterowania obiektami, np. sygnałem na semaforze lub przełożeniem zwrotnicy.
+
:::''Rozpoznawana przez: Starter.exe''
  
=== FirstInit ===
+
:'''//$a''' – oznaczenie scenerii jako archiwalna. Nie wyświetla się domyślnie w głównym oknie Startera.
Słowo kluczowe oznaczające początek sekcji w pliku z definicjami składów.
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:blue;font-weight:bold">FirstInit</span>
 
    ''wpisy_trainset''
 
    ...
 
* '''wpisy_trainset''' - dowolna ilość wpisów '''[[Plik scenerii#trainset|trainset]]''' lub [[Plik scenerii#dynamic|'''dynamic''']].
 
  
=== include ===
+
:'''//$l''' – kategoria scenerii pozwalająca zwinąć wszystkie scenariusze do jednej grupie.
Dołącza do scenerii obiekty z podanego pliku. Może przyjmować opcjonalne parametry.
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:tomato;font-weight:bold">include</span> ''plik parametry'' <span style="color:tomato;font-weight:bold">end</span>
 
* '''plik''' - ścieżka do pliku, którego zawartość ma być dołączona. Ścieżka relatywna względem folderu ''scenery''.
 
* '''parametry''' - opcjonalne ''N'' parametrów, których wartości podstawione będą w miejsce zmiennych (p1) - (p''N'') w pliku.
 
  
=== light ===
+
:'''//$e''' – opis błędu
Definiuje parametry oświetlenia scenerii.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">light</span> ''x y z ambient diffuse specular'' <span style="color:tomato;font-weight:bold">endlight</span>
 
* '''x, y, z''' - współrzędne światła w przestrzeni 3D.
 
* '''ambient''' - 3 wartości RGB z zakresu <0;1>
 
* '''diffuse''' - 3 wartości RGB z zakresu <0;1>
 
* '''specular''' - 3 wartości RGB z zakresu <0;1>
 
  
=== origin ===
+
:'''//$g''' – odnośnik do mapy
Przesuwa obiekty o wektor.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">origin</span> ''x y z''
 
    ''wpisy''  
 
    <span style="color:tomato;font-weight:bold">endorigin</span>
 
* '''x, y, z''' - współrzędne wektora przesunięcia w przestrzeni 3D.
 
* '''wpisy''' - wpisy definiujące np. modele, części scenerii, które zostaną przesunięte o podany wektor.
 
  
=== rotate ===
+
:'''//$r''' – plik odniesienia
Obraca obiekty.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">rotate</span> ''rx ry rz''
 
    ''wpisy''
 
    <span style="color:tomato;font-weight:bold">rotate</span> 0 0 0
 
* '''rx, ry, rz''' - rotacja w trzech osiach.
 
* '''wpisy''' - wpisy definiujące np. modele, części scenerii, które zostaną obrócone.
 
  
=== sky ===
+
:'''//$t''' – regeneracja plików terenu
Definiuje model nieba w scenerii.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">sky</span> ''model_nieba'' <span style="color:tomato;font-weight:bold">endsky</span>
 
* '''model_nieba''' - ścieżka do pliku modelu nieba w formacie T3D, relatywna względem folderu ''models''.
 
  
=== test ===
+
:'''//$w''' – parametry składu
Służy do testowania poprawności wpisów. Wpisy obiektów otoczone tokenami test i endtest nie będą widoczne w scenerii, ale będą kopiowane do logu.
+
:::'''type''' - Rodzaj pociągu: p - pasażerski, t - towarowy, m - towarowo-osobowy;
    <span style="color:tomato;font-weight:bold">test</span>
+
:::'''lmax''' - Maksymalna długość składu;
    ''wpisy''
+
:::'''vmin''' - Minimalna prędkość pojazdów w składzie;
    <span style="color:tomato;font-weight:bold">endtest</span>
+
:::'''vmax''' - Maksymalna prędkość, jaką można rozwinąć na trasie przejazdu;
* '''wpisy''' - dowolne rodzaje wpisów SCN do przetestowania.
+
:::'''d''' - Rozstaw toru. Domyślnie normalny (1435m).
 +
:::''Rozpoznawana przez: Rainsted.exe''
  
=== time ===
+
:'''//$x''' – wymagana wersja pliku eu07.exe
Ustawia czas rozpoczęcia symulacji oraz czas wschodu i zachodu słońca.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">time</span> ''czas_na_starce czas_wschodu czas_zachodu'' <span style="color:tomato;font-weight:bold">endtime</span>
 
* '''czas_na_starcie''' - czas symulacji w momencie jej startu w formacie ''hh:mm''
 
* '''czas_wschodu''' - godzina wschodu słońca w formacie ''hh:mm''
 
* '''czas_zachodu''' - godzina zachodu słońca w formacie ''hh:mm''
 
  
=== trainset ===
+
[[Kategoria:Scenerie]]
Definiuje skład jako zbiór obiektów '''[[Plik scenerii#dynamic|node::dynamic]]'''.
 
    <span style="color:tomato;font-weight:bold">trainset</span> ''rozklad nazwa_toru odleglosc predkosc''
 
    ''wpisy_dynamic''
 
    <span style="color:tomato;font-weight:bold">endtrainset</span>
 
* '''rozklad''' - ścieżka do pliku z rozkładem, relatywna względem folderu ''scenery''.
 
* '''nazwa_toru''' - nazwa obiektu '''[[Plik scenerii#track|node::track]]''' na którym ma stanąć skład.
 
* '''odległość''' - odległość składu od punktu 1 toru, na którym stoi [m].
 
* '''predkosc''' - prędkość początkowa składu [km/h].
 
* '''wpisy_dynamic''' - dowolna liczba wpisów '''[[Plik scenerii#dynamic|node::dynamic]]'''.
 

Aktualna wersja na dzień 06:55, 6 lip 2022

Plik scenerii jest plikiem tekstowym, zawierającym definicje obiektów, zdarzeń, pojazdów znajdujących się w scenerii. Aby plik scenerii mógł zostać uruchomiony przez symulator, należy umieścić go bezpośrednio w folderze scenery.

Przygotowanie

Scenerię można uruchomić za pomocą startera, wiersza poleceń lub bezpośrednio przez plik wykonywalny symulatora.

  • Komenda wiersza poleceń, uruchamiająca scenerię scene.scn:
   eu07.exe –s scenery/scene.scn
  • Wpis w eu07.ini, powodujący uruchomienie scene.scn przez plik wykonywalny
   sceneryfile scene.scn 

Scenerie używają prawoskrętnego ukłądu współrzędnych:

Swspol.png

Rodzaje plików składowych scenerii

Poniższe rodzaje plików nie różnią się składnią, a jedynie pomagają zachować ład w plikach wchodzących w skład scenerii. Są one dołączane do głównego pliku scenerii za pomocą dyrektywy include.

  • SCN - główny plik scenerii, zawiera zazwyczaj definicje składów i polecenia include, dołączające obiekty z innego pliku do scenerii.
  • SCM - plik z elementami składowymi scenerii. Zazwyczaj używa się tych plików do podziału obiektów scenerii na tory, drogi, drzewa, wskaźniki...
  • CTR - plik ze zdarzeniami tworzącymi scenariusz
  • INC - plik pozwalający na wstawienie parametryzowanego zbioru obiektów scenerii.

Składnia

Scenerię konfiguruje się za pomocą dyrektyw i wpisów przedstawionych w poniższym rozdziale:

Dyrektywy scenariusza

  • atmo - ustawienia mgły.
  • sky - ustawienie modelu nieba.
  • time - ustawienie czasu symulacji.
  • FirstInit - polecenie inicjalizacji wczytanych obiektów.
  • trainset - definicja składu.
  • event - zdarzenie, np. polecenie zmiany sygnału na semaforze.
  • include - dołączanie zawartości innych plików do pliku scenerii.
  • camera - ustawienia predefiniowanych pozycji kamer w trybie freefly.
  • config - ustawienia aplikacji specyficzne dla scenerii.
  • lua - dołączenie skryptu sterującego scenariuszem w języku LUA.
  • node - definicja obiektów widocznych: tory, rzeki, modele.
  • origin - polecenie przesunięcia obiektów o wektor.
  • rotate - polecenie obrotu obiektów o kąty.
  • group - grupowanie obiektów
  • isolated - definiowanie odcinków izolowanych
  • area - grupowanie odcinków izolowanych

Wycofane:

  • description - opis scenerii na potrzeby starterów.
  • light - ustawienie źródła oświetlenia scenerii.
  • test - testowanie poprawności dyrektyw.

Dyrektywy startera

Dyrektywy startera to zestaw parametrów (według składni komentarzy) pełniących rolę wprowadzenia do danego startera symulatora MaSzyna dodatkowych informacji oraz konfiguracji. Nie mają wpływu na działanie symulacji!

//$n – nazwa scenerii:
  • Rainsted.exe wyświetlana w głównym oknie wyboru scenerii w polu z żółtym tłem;
  • Starter.exe wyświetlana w głównym oknie wyboru scenerii w zakładce Opis służby;
Rozpoznawana przez: Starter.exe, Rainsted.exe
//$d – opis scenerii:
  • Rainsted.exe wyświetlany w głównym oknie wyboru scenerii obok wybranego składu/scenariusza;
  • Starter.exe wyświetlany w głównym oknie wyboru scenerii w zakładce Opis służby;
Rozpoznawana przez: Starter.exe, Rainsted.exe
//$f – link do zewnętrznego pliku lub strony internetowej dotyczący scenerii albo pojedynczego scenariusza, możliwy do otwarcia z poziomu startera (wyświetlany jako dedykowany przycisk):
  • Rainsted.exe wyświetla do trzech przycisków tego typu w głównym oknie wyboru scenerii;
  • Starter.exe wyświetla przyciski tego typu w głównym oknie wyboru scenerii w zakładce Rozkład jazdy;
Rozpoznawana przez: Starter.exe, Rainsted.exe
//$o – opis składu, pokazywany przez dany starter. Jeśli skład ma być ukryty, przed pierwszym znakiem opisu powinien znaleźć się znak minus -. Dyrektywa ta musi zostać wprowadzona do pliku po dyrektywie scenariusza FirstInit.
Rozpoznawana przez: Starter.exe, Rainsted.exe
//$i – nazwa obrazka wyświetlanego przez dany starter w głównym oknie (miniaturka scenerii)
Rozpoznawana przez: Starter.exe, Rainsted.exe
//$it – definicja indywidualnego obrazka mini z katalogu scenery/images dla danego składu - deklaracja obrazka - nazwa bez rozszerzenia!
Rozpoznawana przez: Starter.exe
//$it – definicja indywidualnego logo startowego dla składu z katalogu textures/logo - deklaracja obrazka - nazwa bez rozszerzenia!
Rozpoznawana przez: Starter.exe
//$decor – pomijanie składów dekoracyjnych tj. nie wykonujących zadań scenariusza.
Rozpoznawana przez: Starter.exe
//$a – oznaczenie scenerii jako archiwalna. Nie wyświetla się domyślnie w głównym oknie Startera.
Rozpoznawana przez: Starter.exe
//$l – kategoria scenerii pozwalająca zwinąć wszystkie scenariusze do jednej grupie.
Rozpoznawana przez: Starter.exe
//$e – opis błędu
Rozpoznawana przez: Rainsted.exe
//$g – odnośnik do mapy
Rozpoznawana przez: Rainsted.exe
//$r – plik odniesienia
Rozpoznawana przez: Rainsted.exe
//$t – regeneracja plików terenu
Rozpoznawana przez: Rainsted.exe
//$w – parametry składu
type - Rodzaj pociągu: p - pasażerski, t - towarowy, m - towarowo-osobowy;
lmax - Maksymalna długość składu;
vmin - Minimalna prędkość pojazdów w składzie;
vmax - Maksymalna prędkość, jaką można rozwinąć na trasie przejazdu;
d - Rozstaw toru. Domyślnie normalny (1435m).
Rozpoznawana przez: Rainsted.exe
//$x – wymagana wersja pliku eu07.exe
Rozpoznawana przez: Rainsted.exe