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 strin 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.