Plik scenerii: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(line_strip)
 
(Nie pokazano 138 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:
 
    node ''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.
 
 
 
==== eventlauncher ====
 
Definiuje wyzwalacz zdarzeń.
 
 
 
==== lines ====
 
Definiuje linię.
 
 
 
==== line_strip ====
 
Definiuje linię łamaną.
 
    node -1 0 none line_strip ''kolor grubosc''
 
    ''x y z''
 
    ...
 
    endlines
 
* '''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ę zamkniętą.
 
  
==== memcell ====
+
== Składnia ==
Definiuje komórkę pamięci.
+
Scenerię konfiguruje się za pomocą dyrektyw i wpisów przedstawionych w poniższym rozdziale:
  
==== model ====
+
=== Dyrektywy scenariusza ===
Wstawia do scenerii model w formacie t3d.
+
* [[Dyrektywa_atmo|atmo]] - ustawienia mgły.
    node -1 0 none model ''x y z rz plik_modelu tekstura_wymienna'' lights ''stany_swiatel'' endmodel
+
* [[Dyrektywa_sky|sky]] - ustawienie modelu nieba.
* '''x, y, z''' - współrzędne modelu w przestrzeni 3D.
+
* [[Dyrektywa_time|time]] - ustawienie czasu symulacji.
* '''rz''' - rotacja w osi Z.
+
* [[Dyrektywa_FirstInit|FirstInit]] - polecenie inicjalizacji wczytanych obiektów.
* '''plik_modelu''' - ścieżka do modelu w formacie T3D, relatywna względem folderu ''models''.
+
* [[Dyrektywa_trainset|trainset]] - definicja składu.
* '''tekstura_wymienna''' - ścieżka do tekstury, którą ma być oteksturowany submodel ze zdefiniowaną teksturą wymienną. Ścieżka relatywna względem folderu ''textures''.
+
* [[Obiekt_event|event]] - zdarzenie, np. polecenie zmiany sygnału na semaforze.
* '''stany_swiatel''' - w zależności od ilości zdefiniowanych świateł w modelu, znaleźć tu się muszą liczby opisujące ich stan:
+
* [[Dyrektywa_include|include]] - dołączanie zawartości innych plików do pliku scenerii.
** 0 - zgaszone
+
* [[Dyrektywa_camera|camera]] - ustawienia predefiniowanych pozycji kamer w trybie ''freefly''.
** 1 - zapalone
+
* [[Dyrektywa_config|config]] - ustawienia aplikacji specyficzne dla scenerii.
** 2 - pulsujące
+
* [[Dyrektywa_lua|lua]] - dołączenie skryptu sterującego scenariuszem w języku LUA.
** 3 - zapalone tylko w nocy
+
* [[Obiekt_node|node]] - definicja obiektów widocznych: tory, rzeki, modele.
W przypadku braku zdefiniowanych świateł, należy pominąć słowo kluczowe '''lights'''.
+
* [[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
  
==== track ====
+
Wycofane:
Definiuje odcinek trajektorii ruchu: drogi, tory, rzeki...
+
* <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>       
  
==== traction ====
+
=== Dyrektywy startera ===
Definiuje odcinek sieci trakcyjnej.
 
  
==== tractionpowersource ====
+
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 źródło zasilania sieci trakcyjnej.
+
Nie mają wpływu na działanie symulacji!
  
==== triangles ====
+
:'''//$n''' – nazwa scenerii:
Definiuje trójkąt terenu.
+
::*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_strip ====
+
:'''//$d''' – opis scenerii:
Definiuje siatkę trójkątów.
+
::*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''
  
==== triangle_fan ====
+
:'''//$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 siatkę trójkątów.
+
::*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''
    atmo ''kolor_nieba poczatek_mgly koniec_mgly kolor_mgly'' endatmo
 
* '''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''
    camera ''x y z rx ry rz numer'' endcamera
 
* '''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''
    config ''opcja wartosc'' ... endconfig
 
* '''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''
    description ''opis_scenerii'' enddescription
 
* '''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''
    FirstInit
 
    ''wpisy_trainset''
 
    ...
 
* '''wpisy_trainset''' - dowolna ilość wpisów '''[[Plik scenerii#trainset|trainset]]'''.
 
  
=== 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''
    include ''plik parametry'' end
 
* '''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''
    light x y z ambient diffuse specular endlight
 
* '''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''
    origin ''x y z''
 
    ''wpisy''
 
    endorigin
 
* '''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''
    rotate ''rx ry rz''
 
    ''wpisy''
 
    rotate 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''
    sky ''model_nieba'' endsky
 
* '''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;
    test
+
:::'''lmax''' - Maksymalna długość składu;
    ''wpisy''
+
:::'''vmin''' - Minimalna prędkość pojazdów w składzie;
    endtest
+
:::'''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''
    time ''czas_na_starce czas_wschodu czas_zachodu'' endtime
 
* '''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]]'''.
 
    trainset ''rozklad nazwa_toru odleglosc predkosc''
 
    ''wpisy_dynamic''
 
    endtrainset
 
* '''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ń 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