Plik scenerii: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
 
(Nie pokazano 74 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 7: Linia 11:
 
     sceneryfile scene.scn  
 
     sceneryfile scene.scn  
  
Uwaga: Układ osi w symulatorze różni się od tego używanego we wielu programach graficznych.  
+
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.
 +
 
 +
== Składnia ==
 +
Scenerię konfiguruje się za pomocą dyrektyw i wpisów przedstawionych w poniższym rozdziale:
 +
 
 +
=== Dyrektywy scenariusza ===
 +
* [[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
 +
 
 +
Wycofane:
 +
* <s>[[Dyrektywa_description|description]] - opis scenerii na potrzeby starterów.</s>
 +
* <s>[[Dyrektywa_light|light]] - ustawienie źródła oświetlenia scenerii.</s>
 +
* <s>[[Dyrektywa_test|test]] - testowanie poprawności dyrektyw.</s>       
 +
 
 +
=== 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''
  
== Rodzaje wpisów ==
+
:'''//$d''' – opis scenerii:
Parametry obiektów w scenerii mogą być oddzielane
+
::*Rainsted.exe wyświetlany w głównym oknie wyboru scenerii obok wybranego składu/scenariusza;
* spacjami,
+
::*Starter.exe wyświetlany w głównym oknie wyboru scenerii w zakładce ''Opis służby'';
* przecinkami,  
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
* średnikami,
 
* tabulatorami
 
*końcami linii.
 
Jednak dla lepszej czytelności dla człowieka zaleca się oddzielanie ich wyłącznie spacją.
 
  
=== atmo ===
+
:'''//$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):
Definiuje kolor tła scenerii i parametry mgły.
+
::*Rainsted.exe wyświetla do trzech przycisków tego typu w głównym oknie wyboru scenerii;
    <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>
+
::*Starter.exe wyświetla przyciski tego typu w głównym oknie wyboru scenerii w zakładce ''Rozkład jazdy'';
* '''kolor_nieba''' - 3 wartości RGB z zakresu <0;1> określające kolor nieba.
+
:::''Rozpoznawana przez: Starter.exe, Rainsted.exe''
* '''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 ===
+
:'''//$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 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 ===
+
:'''//$i''' – nazwa obrazka wyświetlanego przez dany starter w głównym oknie (miniaturka scenerii)
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, Rainsted.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 obrazka mini z katalogu scenery/images dla danego składu - 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 ===
+
:'''//$it''' – definicja indywidualnego logo startowego dla składu z katalogu textures/logo - deklaracja obrazka - nazwa bez rozszerzenia!
Definiuje zdarzenia które służą do sterowania obiektami, np. sygnałem na semaforze lub przełożeniem zwrotnicy.
+
:::''Rozpoznawana przez: Starter.exe''
  
=== FirstInit ===
+
:'''//$decor''' – pomijanie składów dekoracyjnych tj. nie wykonujących zadań scenariusza.
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 [[Obiekt node#dynamic|'''node::dynamic''']].
 
  
=== include ===
+
:'''//$a''' – oznaczenie scenerii jako archiwalna. Nie wyświetla się domyślnie w głównym oknie Startera.
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 ===
+
:'''//$l''' – kategoria scenerii pozwalająca zwinąć wszystkie scenariusze do jednej grupie.
Definiuje parametry oświetlenia scenerii.
+
:::''Rozpoznawana przez: Starter.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>
 
  
=== node ===
+
:'''//$e''' – opis błędu
Definiuje obiekty różnych typów.
+
:::''Rozpoznawana przez: Rainsted.exe''
[[Obiekt node|Dowiedz się więcej]]
 
  
=== 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 '''[[Obiekt node#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 '''[[Obiekt node#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 '''[[Obiekt node#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