Plik multimediów (mmd)
Spis treści
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
Cabdeficnition
Po słowie kluczowym cab<x>definition1 gdzie <x> oznacza numer opisywanej kabiny:
Własność | Parametry po typie | Opis | Uwagi |
---|---|---|---|
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 |
Gałki, mierniki, krany
Następnie definicja wszelakich gałek, kranów, mierników. Wszystkie elementy mają takie same parametry:
Parametry po typie | Opis | Uwagi |
---|---|---|
string | Nazwa submodelu | |
string | Rodzaj animacji | rot, mov, wip, dgt |
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 |
Dostępne są:
- mainctrl2 Główny nastawnik
- 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
Lampki
string Nazwa submodelu lampki
- i-maxft5 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.