Plik scenerii: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(event)
 
(Nie pokazano 27 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
 
[[Category:Formaty plików symulatora]]
 
[[Category:Formaty plików symulatora]]
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.
+
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 8: Linia 11:
 
     sceneryfile scene.scn  
 
     sceneryfile scene.scn  
  
Uwaga: Układ osi w symulatorze jest następujący:
+
Scenerie używają prawoskrętnego ukłądu współrzędnych:
  
 
[[Plik:Swspol.png]]
 
[[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 ==
+
== Składnia ==
Parametry obiektów w scenerii mogą być oddzielane
+
Scenerię konfiguruje się za pomocą dyrektyw i wpisów przedstawionych w poniższym rozdziale:
* spacjami,
 
* przecinkami,
 
* średnikami,
 
* tabulatorami
 
*końcami linii.
 
Jednak dla lepszej czytelności dla człowieka zaleca się oddzielanie ich wyłącznie spacją.
 
  
Można używać komentarzy liniowych:
+
=== Dyrektywy scenariusza ===
    <span style="color:gray">// komentarz liniowy</span>
+
* [[Dyrektywa_atmo|atmo]] - ustawienia mgły.
a także komentarzy blokowych:
+
* [[Dyrektywa_sky|sky]] - ustawienie modelu nieba.
    <span style="color:gray">
+
* [[Dyrektywa_time|time]] - ustawienie czasu symulacji.
    /* to jest
+
* [[Dyrektywa_FirstInit|FirstInit]] - polecenie inicjalizacji wczytanych obiektów.
    komentarz który
+
* [[Dyrektywa_trainset|trainset]] - definicja składu.
    zajmuje dużo
+
* [[Obiekt_event|event]] - zdarzenie, np. polecenie zmiany sygnału na semaforze.
    linii */
+
* [[Dyrektywa_include|include]] - dołączanie zawartości innych plików do pliku scenerii.
    </span>
+
* [[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
  
=== FirstInit ===
+
Wycofane:
Słowo kluczowe oznaczające początek sekcji w pliku z definicjami składów.
+
* <s>[[Dyrektywa_description|description]] - opis scenerii na potrzeby starterów.</s>
    <span style="color:blue;font-weight:bold">FirstInit</span>
+
* <s>[[Dyrektywa_light|light]] - ustawienie źródła oświetlenia scenerii.</s>
    ''definicje_pojazdow''
+
* <s>[[Dyrektywa_test|test]] - testowanie poprawności dyrektyw.</s>        
  
{| class="wikitable"
+
=== Dyrektywy startera ===
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| definicje_pojazdow
 
| Dowolna ilość definicji pojazdów.
 
| Wpisy '''[[Plik scenerii#trainset|trainset]]''' lub [[Obiekt node#dynamic|'''node::dynamic''']]
 
|-
 
|}
 
  
=== include ===
+
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.
Dołącza do scenerii obiekty z podanego pliku. Może przyjmować opcjonalne parametry.
+
Nie mają wpływu na działanie symulacji!
    <span style="color:tomato;font-weight:bold">include</span> ''plik parametry'' <span style="color:tomato;font-weight:bold">end</span>
 
  
{| class="wikitable"
+
:'''//$n''' – nazwa scenerii:
|+ Opis parametrów
+
::*Rainsted.exe wyświetlana w głównym oknie wyboru scenerii w polu z żółtym tłem;
! Nazwa parametru
+
::*Starter.exe wyświetlana w głównym oknie wyboru scenerii w zakładce ''Opis służby'';
! Znaczenie parametru
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
! Typ wartości
 
|-
 
| plik
 
| Ścieżka do pliku, którego zawartość ma być dołączona do scenerii (relatywna względem folderu ''scenery'').
 
| Tekst
 
|-
 
| parametry
 
| ''N'' wartości, które zostaną podstawione w miejsce zmiennych (p1) - (p''N'') w pliku INC.
 
| Zależny od miejsca występowania zmiennych
 
|}
 
  
=== light ===
+
:'''//$d''' – opis scenerii:
Definiuje parametry oświetlenia scenerii.
+
::*Rainsted.exe wyświetlany w głównym oknie wyboru scenerii obok wybranego składu/scenariusza;
    <span style="color:tomato;font-weight:bold">light</span> ''x y z ambient diffuse specular'' <span style="color:tomato;font-weight:bold">endlight</span>
+
::*Starter.exe wyświetlany w głównym oknie wyboru scenerii w zakładce ''Opis służby'';
 +
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
  
{| class="wikitable"
+
:'''//$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):
|+ Opis parametrów
+
::*Rainsted.exe wyświetla do trzech przycisków tego typu w głównym oknie wyboru scenerii;
! Nazwa parametru
+
::*Starter.exe wyświetla przyciski tego typu w głównym oknie wyboru scenerii w zakładce ''Rozkład jazdy'';
! Znaczenie parametru
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
! Typ wartości
 
|-
 
| x y z
 
| Współrzędne światła.
 
| Liczby
 
|-
 
| ambient
 
| ?
 
| 3 liczby z zakresu <0;1> (RGB)
 
|-
 
| diffuse
 
| ?
 
| 3 liczby z zakresu <0;1> (RGB)
 
|-
 
| specular
 
| ?
 
| 3 liczby z zakresu <0;1> (RGB)
 
|}
 
  
=== lua ===
+
:'''//$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'''.
Umożliwia dołączenie skryptu LUA sterującego przebiegiem scenariusza.
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
Uwaga! Skrypty LUA są w fazie eksperymentów!
 
[[Luascenery|Przeczytaj dokumentację API]]
 
    <span style="color:tomato;font-weight:bold">lua</span> plik
 
{| class="wikitable"
 
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| plik
 
| Ścieżka do pliku ze skryptem.
 
| Tekst
 
|}
 
  
=== node ===
+
:'''//$i''' – nazwa obrazka wyświetlanego przez dany starter w głównym oknie (miniaturka scenerii)
Definiuje obiekty różnych typów.
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
[[Obiekt node|Dowiedz się więcej]]
 
  
=== origin ===
+
:'''//$it''' – definicja indywidualnego obrazka mini z katalogu scenery/images dla danego składu - deklaracja obrazka - nazwa bez rozszerzenia!
Przesuwa obiekty o wektor.
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:tomato;font-weight:bold">origin</span> ''x y z''
 
    ''wpisy''  
 
    <span style="color:tomato;font-weight:bold">endorigin</span>
 
  
{| class="wikitable"
+
:'''//$it''' – definicja indywidualnego logo startowego dla składu z katalogu textures/logo - deklaracja obrazka - nazwa bez rozszerzenia!
|+ Opis parametrów
+
:::''Rozpoznawana przez: Starter.exe''
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| x y z
 
| Współrzędne wektora przesunięcia.
 
| Liczby
 
|-  
 
| wpisy
 
| Wpisy definiujące np. modele, części scenerii, które zostaną przesunięte o podany wektor.
 
| Dowolny typ wpisu.
 
|}
 
  
=== rotate ===
+
:'''//$decor''' – pomijanie składów dekoracyjnych tj. nie wykonujących zadań scenariusza.
Obraca obiekty.
+
:::''Rozpoznawana przez: Starter.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
 
  
{| class="wikitable"
+
:'''//$a''' – oznaczenie scenerii jako archiwalna. Nie wyświetla się domyślnie w głównym oknie Startera.
|+ Opis parametrów
+
:::''Rozpoznawana przez: Starter.exe''
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| rx ry rz
 
| Opisuje rotację w trzech osiach.
 
| Liczby
 
|-
 
| wpisy
 
| Wpisy definiujące np. modele, części scenerii, które zostaną obrócone.
 
| Dowolny typ wpisu.
 
|}
 
  
=== sky ===
+
:'''//$l''' – kategoria scenerii pozwalająca zwinąć wszystkie scenariusze do jednej grupie.
Definiuje model nieba w scenerii.
+
:::''Rozpoznawana przez: Starter.exe''
    <span style="color:tomato;font-weight:bold">sky</span> ''model_nieba'' <span style="color:tomato;font-weight:bold">endsky</span>
 
  
{| class="wikitable"
+
:'''//$e''' – opis błędu
|+ Opis parametrów
+
:::''Rozpoznawana przez: Rainsted.exe''
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| model_nieba
 
| Ścieżka do pliku modelu nieba (relatywna względem folderu ''models'').
 
| Tekst
 
|}
 
  
=== test ===
+
:'''//$g''' – odnośnik do mapy
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.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <span style="color:tomato;font-weight:bold">test</span>
 
    ''wpisy''
 
    <span style="color:tomato;font-weight:bold">endtest</span>
 
  
{| class="wikitable"
+
:'''//$r''' – plik odniesienia
|+ Opis parametrów
+
:::''Rozpoznawana przez: Rainsted.exe''
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| wpisy
 
| Wpisy definiujące np. modele, części scenerii, które mają zostać poddane testom.
 
| Dowolny typ wpisu.
 
|}
 
  
=== time ===
+
:'''//$t''' – regeneracja plików terenu
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_starcie czas_wschodu czas_zachodu'' <span style="color:tomato;font-weight:bold">endtime</span>
 
  
{| class="wikitable"
+
:'''//$w''' – parametry składu
|+ Opis parametrów
+
:::'''type''' - Rodzaj pociągu: p - pasażerski, t - towarowy, m - towarowo-osobowy;
! Nazwa parametru
+
:::'''lmax''' - Maksymalna długość składu;
! Znaczenie parametru
+
:::'''vmin''' - Minimalna prędkość pojazdów w składzie;
! Typ wartości
+
:::'''vmax''' - Maksymalna prędkość, jaką można rozwinąć na trasie przejazdu;
! Uwagi
+
:::'''d''' - Rozstaw toru. Domyślnie normalny (1435m).  
|-  
+
:::''Rozpoznawana przez: Rainsted.exe''
| czas_na_starcie
 
| Czas symulacji w momencie jej startu.
 
| Czas w formacie ''hh:mm''
 
|
 
|-  
 
| czas_wschodu
 
| Godzina wschodu słońca.
 
| Czas w formacie ''hh:mm''
 
| Parametr ignorowany
 
|-  
 
| czas_zachodu
 
| Godzina zachodu słońca.
 
| Czas w formacie ''hh:mm''
 
| Parametr ignorowany
 
|}
 
  
=== trainset ===
+
:'''//$x''' – wymagana wersja pliku eu07.exe
Definiuje skład jako zbiór obiektów '''[[Obiekt node#dynamic|node::dynamic]]'''.
+
:::''Rozpoznawana przez: Rainsted.exe''
    <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>
 
  
{| class="wikitable"
+
[[Kategoria:Scenerie]]
|+ Opis parametrów
 
! Nazwa parametru
 
! Znaczenie parametru
 
! Typ wartości
 
|-
 
| rozklad
 
| Ścieżka do pliku z rozkładem (relatywna względem folderu ''scenery'').
 
| Tekst
 
|-
 
| nazwa_toru
 
| Nazwa obiektu '''[[Obiekt node#track|node::track]]''' na którym ma stanąć skład.
 
| Tekst
 
|-
 
| odleglosc
 
| Odległość składu od punktu 1 toru, na którym stoi [m].
 
| Liczba
 
|-
 
| wpisy_dynamic
 
| Dowolna liczba wpisów definiujących pojazd.
 
| Wpisy '''[[Obiekt node#dynamic|node::dynamic]]'''
 
|}
 

Aktualna wersja na dzień 07: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