Plik multimediów (mmd)
Spis treści
Specyfikacja pliku MMD
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.