Plik multimediów (mmd): Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Sekcja internaldata)
(Specyfikacja pliku MMD)
Linia 1: Linia 1:
== Specyfikacja pliku MMD ==
+
== Funkcje czytające ==
=== Funkcje czytające ===
 
 
Sekcje <tt>models</tt> i <tt>sounds</tt> oraz definicje kabin są czytane w <tt>TDynamicObject::LoadMMediaFile(AnsiString BaseDir, AnsiString TypeName,AnsiString ReplacableSkin)</tt><br/>
 
Sekcje <tt>models</tt> i <tt>sounds</tt> oraz definicje kabin są czytane w <tt>TDynamicObject::LoadMMediaFile(AnsiString BaseDir, AnsiString TypeName,AnsiString ReplacableSkin)</tt><br/>
 
Sekcja <tt>internaldata</tt> oprócz definicji kabin czytana jest w <tt>TTrain::LoadMMediaFile(AnsiString asFileName)</tt><br/>
 
Sekcja <tt>internaldata</tt> oprócz definicji kabin czytana jest w <tt>TTrain::LoadMMediaFile(AnsiString asFileName)</tt><br/>
 
Definicja kabin czytana jst w <tt>TTrain::InitializeCab(int NewCabNo, AnsiString asFileName)</tt>
 
Definicja kabin czytana jst w <tt>TTrain::InitializeCab(int NewCabNo, AnsiString asFileName)</tt>
  
=== Sekcja models ===
+
== Sekcja models ==
 
Kończy się słowem endmodels
 
Kończy się słowem endmodels
 
{| class="wikitable"
 
{| class="wikitable"
Linia 74: Linia 73:
 
Jeśli wykryje typ <tt>dt_EZT</tt> to automatycznie ładowany jest model z pliku <tt>przedsionki.t3d</tt>. Trzeba to zmienić na wpis żeby mógł sobie wybrać ten model sam, albo najlepiej usunąć i definiować w samym modelu.
 
Jeśli wykryje typ <tt>dt_EZT</tt> to automatycznie ładowany jest model z pliku <tt>przedsionki.t3d</tt>. Trzeba to zmienić na wpis żeby mógł sobie wybrać ten model sam, albo najlepiej usunąć i definiować w samym modelu.
  
=== Sekcja sounds ===
+
== Sekcja sounds ==
 
Kończy się słowem <tt>endsounds</tt>
 
Kończy się słowem <tt>endsounds</tt>
 
{| class="wikitable"
 
{| class="wikitable"
Linia 204: Linia 203:
 
|}
 
|}
  
=== Sekcja internaldata ===
+
== Sekcja internaldata ==
 
Musi koniecznie być na końcu pliku, gdyż nie ma słowa zakończenia
 
Musi koniecznie być na końcu pliku, gdyż nie ma słowa zakończenia
 
{| class="wikitable"
 
{| class="wikitable"
Linia 341: Linia 340:
 
Jeśli znajdzie <tt>couplerdetach</tt> ładuje także <tt>en57_bufferclamp.wav</tt>
 
Jeśli znajdzie <tt>couplerdetach</tt> ładuje także <tt>en57_bufferclamp.wav</tt>
  
=== Opis kabin ===
+
== Opis kabin ==
 
Własność Parametry po typie Opis Uwagi
 
Własność Parametry po typie Opis Uwagi
 
cab1definition1
 
cab1definition1
Linia 513: Linia 512:
 
4. Po słowie kluczowym analog są ładowane submodele z modelu kabiny o nazwach: ClockShand ClockMhand ClockHhand odpowiednio dla ramion sekund, minut i godzin
 
4. Po słowie kluczowym analog są ładowane submodele z modelu kabiny o nazwach: ClockShand ClockMhand ClockHhand odpowiednio dla ramion sekund, minut i godzin
 
5. Od i-maxft do i-cablight do nazwy submodelu dodawane są słowa "_on" i "_off" dla stanu zapalonego i zgaszonego.
 
5. Od i-maxft do i-cablight do nazwy submodelu dodawane są słowa "_on" i "_off" dla stanu zapalonego i zgaszonego.
=== Uwagi ===
+
 
 +
== Uwagi ==
 
W specyfikacji znajdują się wszystkie jawnie zdefiniowane przełączniki, przyciski i lampki. Nie ma tutaj żadnych danych na podstawie, których można robić ekrany LCD. Te dane znajdują się w [[Python|osobnym pliku]].
 
W specyfikacji znajdują się wszystkie jawnie zdefiniowane przełączniki, przyciski i lampki. Nie ma tutaj żadnych danych na podstawie, których można robić ekrany LCD. Te dane znajdują się w [[Python|osobnym pliku]].
 
Dokumentacja odnosi się do wersji exe_474.
 
Dokumentacja odnosi się do wersji exe_474.

Wersja z 11:11, 19 mar 2016

Funkcje czytające

Sekcje models i sounds oraz definicje kabin są czytane w TDynamicObject::LoadMMediaFile(AnsiString BaseDir, AnsiString TypeName,AnsiString ReplacableSkin)
Sekcja internaldata oprócz definicji kabin czytana jest w TTrain::LoadMMediaFile(AnsiString asFileName)
Definicja kabin czytana jst w TTrain::InitializeCab(int NewCabNo, AnsiString asFileName)

Sekcja models

Kończy się słowem endmodels

Własność Parametry po typie Opis Uwagi
models string Nazwa pliku modelu *.t3d Jeśli na końcu nazwy znajduje się # to ma więcej wymiennych tekstur definiowanych we wpisie w scenerii
animations int Liczba kół Spis kończy się wartością -1 po ostatniej definicji liczby animacji. Wartości w kolejności wpisanej do tabelki
int Liczba drzwi
int Liczba rot
int Liczba move
int Liczba wózków
int Liczba pantografów
int Liczba wiązarów
lowpolyinterior string Nazwa pliku modelu uproszczonej kabiny
brakemode string Gałka nastawy hamulca
loadmode string Gałka nastawy ładowny / próżny
animwheelprefix string Prefix dla wszystkich kręcących się kół Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
animpantprefix string Porzucone
Animpantrd1prefix string Nazwa ramienia dolnego pantografów 1 Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
Animpantrd2prefix string Nazwa ramienia dolnego pantografów 2 Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
Animpantrg1prefix string Nazwa ramienia górnego pantografów 1 Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
Animpantrg2prefix string Nazwa ramienia górnego pantografów 2 Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
animpantslprefix string Nazwa ślizgaczy Do nazwy będą dodawane kolejne cyfry w liczbie podanej w animations
pantfactors Float Pozycja w osi x pantografów 1
Float Pozycja w osi x pantografów 2
Float Wysokość ślizgacza pantografów 1
float Wysokość ślizgacza pantografów 2
animpistonprefix string Nazwa tłoków w cylindrach Nie używane
animconrodprefix string Nazwa korbowodów Nie używane
pistonfactors Parametry napędu Nie używane
animreturnprefix string Nazwa drążka mimośrodowego Nie używane
animexplinkprefix String Nazwa jarzma Nie używane
animpendulumprefix string Nazwa wahaczy
pendulumamplitude float Amplituda drgań Wymagane jeśli animpendulumprefix
engineer string Nazwa modelu mechanika
animdoorprefix string Nazwa drzwi

Jeśli wykryje typ dt_EZT to automatycznie ładowany jest model z pliku przedsionki.t3d. Trzeba to zmienić na wpis żeby mógł sobie wybrać ten model sam, albo najlepiej usunąć i definiować w samym modelu.

Sekcja sounds

Kończy się słowem endsounds

Własność Parametry po typie Opis Uwagi
wheel_clatter float Tłumienie dźwięku
float Pozycja osi w stosunku do środka pojazdu Pozycje powtarzające się tyle razy ile jest osi, na końcu słowo end
string Nazwa dźwięku
engine string Nazwa dźwięku silnika
float Tłumienie dźwięku
float Mnożnik amplitudy
float Offset amplitudy
float Mnożnik częstotliwości
float Offset częstotliwości
ventilator string Nazwa dźwięku wentylatorów
float Tłumienie dźwięku
float Mnożnik amplitudy
float Offset amplitudy
float Mnożnik częstotliwości
float Offset częstotliwości
transmission string Nazwa dźwięku przekładni
float Tłumienie dźwięku
brake string Nazwa dźwięku pisku hamulca
float Tłumienie dźwięku
float Mnożnik amplitudy
float Offset amplitudy
brakeacc string plik z przyspieszaczem (upust po zlapaniu hamowania)
unbrake string Plik z końcem hamowania
float Tłumienie dźwięku
derail string Plik z dźwiękiem wykolejenia
float Tłumienie dźwięku
dieselinc string Plik z dźwiękiem wchodzenia na obroty
float Tłumienie dźwięku
curve string Plik z dźwiękiem pisków na łukach
float Tłumienie dźwięku
horn1 string Dźwięk rozpoczęcia Syrena niska
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
Horn2 string Dźwięk rozpoczęcia Syrena wysoka
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
departuresignal string Dźwięk rozpoczęcia Sygnał odjazdu / zamykania drzwi
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
pantographup String Nazwa dźwięku Podnoszenie pantografu
pantographdown string Nazwa pliku Opuszczanie pantografu
compressor string Dźwięk rozpoczęcia Sprężarka
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
converter string Dźwięk rozpoczęcia Przetwornica
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
turbo string Dźwięk rozpoczęcia Praca turbo
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
small-compressor string Dźwięk rozpoczęcia Sprężarka pomocnicza
String Dźwięk trwania
String Dźwięk zakończenia
float Odległość tłumienia
dooropen string Nazwa dźwięku Otwieranie drzwi
doorclose string Nazwa dźwięku Zamykanie drzwi

Sekcja internaldata

Musi koniecznie być na końcu pliku, gdyż nie ma słowa zakończenia

Własność Parametry po typie Opis Uwagi
ctrl string Nazwa pliku Dźwięk Nastawnik
Ctrlscnd string Nazwa pliku Dźwięk Nastawnik bocznikowania
reverserkey string Nazwa pliku Dźwięk Nastawnik kierunku
buzzer string Nazwa pliku Dźwięk CA / SHP
slipalarm string Nazwa pliku Dźwięk Wykrycie poślizgu
tachoclock string Nazwa pliku Dźwięk Tykanie haslera
switch string Nazwa pliku Dźwięk Przełączniki
pneumaticswitch string Nazwa pliku Dźwięk Przełączniku elektropneumatyczne
wejscie_na_bezoporow string Nazwa pliku Dźwięk Wejście na pozycję bez oporową
wejscie_na_drugi_uklad string Nazwa pliku Dźwięk Wejście na drugi i trzeci układ
relay string Nazwa pliku Dźwięk Styczniki.
pneumaticrelay string Nazwa pliku Dźwięk Styczniki pneumatyczne
couplerattach string Nazwa pliku Dźwięk Połączenie sprzęgów
couplerdetach string Nazwa pliku Dźwięk Rozłączenie sprzęgów
ignition string Nazwa pliku Dźwięk Zapłon silnika
brakesound String Nazwa pliku Dźwięk Odgłos hamulca
Float Mnożnik amplitudy
Float Offset amplitudy
float Mnożnik częstotliwości
float Offset częstotliwości
slipperysound String Nazwa pliku Dźwięk Poślizg
Float Mnożnik amplitudy
Float Offset amplitudy
airsound String Nazwa pliku Dźwięk Syk kranu
Float Mnożnik amplitudy
Float Offset amplitudy
Airsound2 String Nazwa pliku Dźwięk Syk kranu
Float Mnożnik amplitudy
Float Offset amplitudy
Airsound3 String Nazwa pliku Dźwięk Syk kranu
Float Mnożnik amplitudy
Float Offset amplitudy
Airsound4 String Nazwa pliku Dźwięk Syk kranu
Float Mnożnik amplitudy
Float Offset amplitudy
Airsound5 String Nazwa pliku Dźwięk Syk kranu
Float Mnożnik amplitudy
Float Offset amplitudy
fadesound string Nazwa pliku Dźwięk Koniec syku
localbrakesound String Nazwa pliku Dźwięk Kran pomocniczy
Float Mnożnik amplitudy
Float Offset amplitudy
runningnoise String Nazwa pliku Dźwięk Stukot podczas jazdy
Float Mnożnik amplitudy
Float Offset amplitudy
float Mnożnik częstotliwości
float Offset częstotliwości
engageslippery String Nazwa pliku Dźwięk Tarcie sprzęgła
Float Mnożnik amplitudy
Float Offset amplitudy
float Mnożnik częstotliwości
float Offset częstotliwości
mechspring float Spring constant Bujanie kamerą w kabinie
Float Spring damping
Float Spring x
Float Spring y
Float Spring z
Float Max spring
Float Roll
float Pitch
pantographup string Nazwa pliku Dźwięk Podnoszenie pantografu
pantographdown string Nazwa pliku Dźwięk Opuszczanie pantografu
doorclose string Nazwa pliku Dźwięk Zamykanie drzwi
dooropen string Nazwa pliku Dźwięk Otwieranie drzwi

Jeśli wykryje wpis relay to ładuje bez pytania pliki wejscie_na_bezoporow.wav i wejscie_na_drugi_uklad.wav
Jeśli znajdzie couplerattach ładuje także en57_couplerstretch.wav
Jeśli znajdzie couplerdetach ładuje także en57_bufferclamp.wav

Opis kabin

Własność Parametry po typie Opis Uwagi cab1definition1

     cablight	float	Ciemny R	Parametr cablitght jest opcjonalny ale koniecznie musi być jako pierwszy parametr po cab(x)definition, inaczej będziemy mieli crash-a

float Ciemny G float Ciemny B float Jasny R float Jasny G float Jasny B float Przyciemniony R float Przyciemniony G float Przyciemniony B float X W kodzie opisane jako CabPos1, w plikach jako wymiar kabin float Y float Z float X W kodzie opisane jako CabPos2, w plikach jako wymiar kabin float Y float Z driver1pos float X Pozycja początkowa maszynisty float Y float Z driver1sitpos float X Pozycja siedząca maszynisty. Jeśli nie ma wpisu to przyjmowany jest driver1pos float Y float Z cab1model string Nazwa pliku Model kabiny, może być none mainctrl2 string Nazwa submodelu Główny nastawnik string Rodzaj animacji3 float Par animacji 1 Wartość końcowa Float Par animacji 2 Wartość poczatkowa float Par animacji 3 Hamowanie przy zbliżaniu się do wartości zadanej mainctrlact Ząbek pozycji aktualnej scndctrl Bocznik dirkey Nastawnik kierunku brakectrl Kran głowny localbrake Kran pomocniczy manualbrake Hamulec pomocniczny brakeprofile_sw Przełącznik tow/osob/posp brakeprofileg_sw Przełącznik tow/osob brakeprofiler_sw Przełącznik osob/posp maxcurrent_sw Rozruch wysoki / niski main_off_bt Wyłączenie (jeśli dwa rózne przyciski) main_on_bt Włączenie (j.w.) security_reset_bt Przycisk czuwaka / SHP releaser_bt Odluźniacz antislip_bt Piasek horn_bt Syrena fuse_bt Bezpiecznik nadmiarowy converterfuse_bt Przekaźnik nadmiarowy przetowrnicy i ogrzewania stlinoff_bt Styczniki liniowe door_left_sw Drzwi lewe door_right_sw Drzwi prawe departure_signal_bt Sygnał odjazdu upperlight_sw Światło białe przednie górne leftlight_sw Światło białe przednie lewe rightlight_sw Świato białe przednie prawe leftend_sw Światło czerwone przednie lewe rightend_sw ŚwiTŁO czerwone przednie prawe rearupperlight_sw Światło białe tylne górne rearleftlight_sw Światło biale tylne lewe rearrightlight_sw Światło białe tylne prawe rearleftend_sw Światło czerwone tylne lewe rearrightend_sw Światło czerwone tylne prawe compressor_sw Sprężarka converter_sw Przetwornica converteroff_sw Wyłącznik przetwornicy main_sw Wyłącznik szybki radio_sw Radio pantfront_sw Pantograf przedni pantrear_sw Pantograf tylni pantfrontoff_sw Pantograf przedni dół pantalloff_sw Pantograf tylni dół trainheating_sw Ogrzewanie składu signalling_sw Sygnalizacja hamowania door_signalling_sw Sygnalizacja blokady drzwi nextcurrent_sw Grzanie składu cablight_sw Oświetlenie kabiny pełne cablightdim_sw Oświetlenie kabiny przyciemnione universal1 universal2 universal3 universal4 tachometer tachometerb Prędkościomierz z szarpaniem tachometern Prędkościomierz bez szarpania tachometerd Prędkościomierz cyfrowy hvcurrent1 hvcurrent1b Amperomierz 1 hvcurrent2 hvcurrent2b Amperomierz 2 hvcurrent3b hvcurrent3b Amperomierz 3 hvcurrent hvcurrentb Amperomierz sumujący brakepress brakepressb Manometr cylindrów pipepress pipepressb Manometr przewodu głównego limpipepress Manometr zbiornika sterującego zaworu maszynisty cntrlpress Manometr zbiornika rozrządu compressor compressorb Manometr sprężarki / zbiornika głównego hvbcurrent1 Amperomierz 1 drugiego członu hvbcurrent2 Amperomierz 2 drugiego członyu hvbcurrent3 Amperomierz 3 drugiego członu hvbcurrent Amperomierz sumujący drugiego członu clock4 Opcjonalnie słowo "analog" Zegarek evoltage Woltomierz silników hvoltage Woltomierz napięcia w sieci lvoltage Woltomierz napięcia za przetwornicą enrot1m Obrotomierz 1 enrot2m Obrotomierz 2 enrot3m Obrotomierz 3 engageratio Ciśnienie sterownika sprzęgła maingearstatus Ciśnienie sterownika skrzyni biegów ignitionkey Włącznik zapłonu distcounter Licznik kilometrów i-maxft5 string Nazwa submodelu lampki Maksymalna siła pociągowa i-maxftt Przekroczenie maksymalnej siły pociągowej i-radio Radio i-manual_brake Działanie hamulca ręcznego i-door_blocked Blokada drzwi i-slippery Sygnalizacja poślizgu i-contactors Działanie styczników liniowych i-conv_ovld Zadziałanie przekaźnika nadmiarowego przetwornicy i-converter Działanie przetwornicy i-diff_relay Zadziałanie przekaźnika różnicowo-prądowego i-diff_relay2 Zadziałanie przekaźnika różnicowo-prądowego pomocniczego i-motor_ovld Zadziałanie przekaźnika nadmiarowego silników i-train_controll Tabor w ukrotnieniu i-brake_delay_r Hamulec ustawiony na pospieszny i-mainbreaker Zadziałanie wyłącznika szybkiego i-vent_ovld Zadziałanie przekaźnika nadmiarowego wentylatorów i-comp_ovld Przekaźnik nadmiarowy sprężarki i-resistors Jazda na oporach i-no_resistors Jazda bez oporów i-no_resistors_b Jazda bez oporów B i-highcurrent Ustawiony wysoki rozruch i-universal3 Podłączenie do przycisku uniwersal3 i-universal3_M Uniwersal3 działa tylko na włączonym układzie głownym i-universal3_C Uniwersal3 działa tylko przy włączonej przetwornicy i-vent_trim Żaluzje silników i-trainheating Ogrzewanie składu i-security_aware Lampka czuwaka i-security_cabsignal Lampka SHP i-door_left Otwarte drzwi lewe i-door_right Otwarte drzwi prawe i-departure_signal Działanie sygnału odjazdu i-reserve Rezerwa i-scnd Lampka działania boczników i-scnd1 Bocznik 1 i-scnd2 Bocznik 2 i-scnd3 Bocznik 3 i-scnd4 Bocznik 4 i-braking Hamowanie (hamienie) i-braking-ezt Hamowanie zespolone i-braking-ezt2 Hamowanie zespolone 2 i-compressor Działanie sprężarki i-compressorb Sprężarka pomocnicza i-voltbrake Lampka napięcia nastawy hamulca i-mainbreakerb Wyłącznik szybki B i-resistorsb Jazda na oporach B i-contactorsb Styczniki liniowe B i-conv_ovldb Przekaźnik nadmiarowy przetwornicy B i-converterb Przetwornica B i-forward Jazda do przodu i-backward Jazda do tyłu i-cablight Oświetlenie kabiny 1. cab1definition tak naprawdę jest cab(x)definition wraz z wszystkimi potomnymi. Kabiny dostępne od 0 do 2, przy czym 0 jest korytarzem a 1 i 2 kabinami odpowiednio A (headdriver) i B (reardriver). 2. od mainctrl do distcounter wszystkie pozostałe parametry są te same. Podane tylko w mainctrl a w reszcie tylko jako odnośniki do poszczególnych gałek 3. Rodzaje animacji: rot (domyślny), mov, wip, dgt 4. Po słowie kluczowym analog są ładowane submodele z modelu kabiny o nazwach: ClockShand ClockMhand ClockHhand odpowiednio dla ramion sekund, minut i godzin 5. Od i-maxft do i-cablight do nazwy submodelu dodawane są słowa "_on" i "_off" dla stanu zapalonego i zgaszonego.

Uwagi

W specyfikacji znajdują się wszystkie jawnie zdefiniowane przełączniki, przyciski i lampki. Nie ma tutaj żadnych danych na podstawie, których można robić ekrany LCD. Te dane znajdują się w osobnym pliku. Dokumentacja odnosi się do wersji exe_474.