Autor Wątek:  Exe c++ aktualnosci, changelog itp  (Przeczytany 73279 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Exe c++ aktualnosci, changelog itp
« dnia: 10 Marca 2017, 17:26:38 »
Wątek tylko dla ogłoszeń deweloperów. Dyskusje i problemy z instalacją w oddzielnych tematach.
Dobra, nikomu innemu sie nie chcialo, to zrobie :P  Dla uproszczenia zycia, podsumowanie zmian w exe konwertowanym na c++ i aktualna paczka instalacyjna.

Instalacja

sciagnac aktualna wersje exe z zalacznika, i umiescic w katalogu symulatora

Zmiany i nowe funkcje

Cytuj
* parser obsluguje cudzyslowy tzn np "foo bar" jest traktowane przy pobieraniu jako jedno slowo

* przy podawaniu nazw tekstur w plikach konfiguracyjnych moga tez byc podane parametry kontrolne dla tekstury, w formacie:
texturename.ext:traits
gdzie .ext to opcjonalne rozszerzenie nazwy pliku, a :traits to zdefiniowane opcjonalne parametry:
 s (wylacza zawijanie tekstury w 'poziomie')
 t (wylacza zawijanie tekstury w 'pionie')
 # (odpowiednik obecnego # na poczatku nazwy)

* poprawione filtrowanie tekstur. O jakosci filtrowania decyduje wpis w pliku .ini
anisotropicfiltering X
gdzie X to 1, 2, 4, 8 lub 16. domyslnie przyjmowana jest wartosc 8

* odwrocone klawisze sterowania stanem tylnych swiatel. Teraz ten sam klawisz obsluguje przednie i tylne swiatlo po jednej stronie

* chodzenie w kabinie dziala teraz tak samo jak wszedzie indziej, czyli na podstawie kata obrotu kamery

* dodana funkcja powiekszenia/przyblizenia widoku, dostepna poprzez przytrzymanie srodkowego klawisza myszy

* dodana mozliwosc zmiany obszaru obejmowanego przez kamere symulatora. Regulacja odbywa sie poprzez wpis w .ini
fieldofview X
gdzie X jest katem widzenia w pionie (wartosc pozioma jest dopasowywana na podstawie stosunku szerokosci/wysokosci okna) Standardowa wartoscia w symulatorze jest 45 stopni, wpisem w .ini mozna to zmienic w zakresie 15-75 stopni.

* w trybie debug regulacji kata widzenia kamery moze tez byc wykonana przy uzyciu klawisza Ctrl i kolka myszki. Aktualna wartosc kata widzenia podana jest na ekranie F8

* bardziej poprawnie kalkulowane oswietlenie cyklu dobowego, i kolorow nieba

* gwiazdy sa standardowym elementem sceny, pojawiaja sie gdy zrobi sie dostatecznie ciemno, nie trzeba wiec ich recznie dokladac do sceny

( dla autorow scenerii: w zwiazku ze zmianami w rysowaniu nieba zalecana jest wymiana w sceneriach obiektu sky_dynamic_stratus na skydome_clouds )

* rozbudowana kontrola uplywu czasu w trybie debug:
 f6: standardowa skala uplywu czasu
 shift+f6: 1 min = 5 min
 ctrl+f6: 1 min = 20 min
 shift+ctrl+f6: 1 min = 1 godz.

 shift + f1: przesuniecie zegara o 5 min
 ctrl + f1: przesuniecie zegara o 20 min

* dodany pod Ctrl+F7 przelacznik w trybie debug, pomiedzy swiatlem kalkulowanym na podstawie aktualnego czasu scenariusza, a stalym swiatlem dziennym

* zmieniona wizualizacja sceny w trybie wireframe (przelaczanym klawiszem F7 w trybie debug)

* dynamiczne oswietlenie sceny przez swiatla lokomotyw, na podstawie odleglosci do kamery i/lub ilosci zapalonych lamp. Ilosc obslugiwanych swiatel jest kontrolowana wpisem w .ini
dynamiclights X
wartoscia domyslna jest 3, dopuszczalny zakres wartosci to 1-7  W miare wspolczesne karty graficzne nie powinny miec specjalnych klopotow z obsluga 7 zrodel, ale jest to kwestia indywidualnych testow

* zmiana funkcji klawisza F4: teraz po nacisnieciu F4 ladujemy na zewnatrz lokomotywy, mniej wiecej w okolicy drzwi do kabiny ktora zajmowalismy. Do obserwacji scenicznych przejazdow z dystansu jest teraz shift + F4.

* opcja w .ini umozliwiajaca synchronizacje wyswietlania z czestotliwoscia odswiezania monitora
vsync yes
domyslnie ustawiona na 'no', dla wiekszej czestotliwosci odswiezania w sytuacji gdy generowanych jest mniej niz 60 klatek/sek

* dodany now przelacznik, przygaszanie swiatel lokomotywy. Uaktywniany przez Ctrl+Shift+L, deaktywowany przez Ctrl+L. Nazwa przelacznika w pliku .mmd to dimheadlights_sw

* poszerzony system dynamicznego zwiekszania/zmniejszania detali. Przy fps > 65 symulator stopniowo zwieksza zakres widocznosci obiektow, maksymalnie do 3x wartosci standardowej. Czyli obiekty ze zdefiniowanym zakresem widocznosci do 1km moga byc teraz widoczne z maks. ~3 km, a teoretyczny maksymalny zakres widocznosci to 7.5km

* dodany pasek postepu operacji podczas wczytywania scenariusza

* Dodane nowe parametry dostepne dla modulu pythona:
linebreaker (stan wylacznika szybkiego)
mainctrl_pos (zazadane ustawienie dla nastawnika glownego)
scndctrl_pos (zadane ustawienie nastawnika dodatkowego)
traction_voltage (wartosc napiecia na pantografach)

* dodana mozliwosc zmiany koloru tekstow interfejsu uzytkownika. Odbywa sie to wpisem w .ini
uitextcolor R, G, B
gdzie R, G, B to skladowe koloru, w zakresie 0-255

* przekonstruowany nieco rzeczony interfejs uzytkownika. Klawisze F1, F2, F3 maja teraz dwa tryby, orientacyjny i poszerzony, przelaczane kolejnymi nacisnieciami klawisza. W trybach tych podawane sa:
f1: stan nastawnikow i hamulcow, w trybie poszerzonym takze predkosc, ograniczenia i cisnienie hamulcow
f2: nastepna stacja, w trybie poszerzonym takze rozklad (dotychczas dostepne pod f3)
f3: wszystkie "flaki" pojazdu, w trybie poszerzonym takze tablica skanowania (dotychczas dostepne pod f2)

* dodane aureole dla punktow swietlnych

* dodany parametr zachmurzenia sceny. Na chwile obecna jest to opcjonalny parameter typu float w sekcji atmo pliku .scn, o wartosci miedzy 0 i 1  Niebo 'zachmurzone' jest bardziej monochromatyczne, i redukuje efekt jaki w oswietleniu ma slonce -- swiatlo sceny jest rozlozone bardziej rownomiernie

* przeorganizowane troche klawisze obslugi hamulcow:
- hamulec lokomotywy jest teraz w calosci na lewej kolumnie klawiatury numerycznej (7 zmniejszenie, 1 zwiekszenie, 4 odluzniacz)
- hamulec pociagu jest podobnie na jednej kolumnie klawiatury numerycznej (9 zmniejszenie, 3 zwiekszenie, 6 pozycja jazdy)
- poniewaz te dwie kolumny maja organizacje 'gorny klawisz = mniejsza sila hamowania, dolny klawisz = wieksza sila' kolumna srodkowa dziala teraz podobnie, tzn sila hamowania zwieksza sie idac po kolei klawiszami 8 -> 5 -> 2

* przeorganizowane troche klawisze obslugi swiatel:
- swiatla glowne na obsadzonym koncu lokomotywy przelaczane sa klawiszami Y, U, I
- swiatla czerwone na obsadzonym koncu lokomotywy przelaczane sa kombinacja Shift+Y i Shift+I
- aby przelaczyc swiatla na drugim koncu lokomotywy uzywamy powyzszych kombinacji lacznie z klawiszem Ctrl

* oprocz klawiatury symulator obsluguje tez gamepad. Jak na razie kontrola gamepadem jest tylko dla funkcji najbardziej podstawowych:
-- prawy drazek do rozgladania sie
-- lewy drazek ma dwie funkcje. W trybie podstawowym sluzy do chodzenia. Natomiast przy wcisnietym jednym z podstawowych klawiszy, sluzy do kontroli podstawowych urzadzen:
--- przycisk A + gora/dol: kontrola glownego nastawnike (gora: zwiekszenie, dol: zmniejszenie)
--- przycisk B + gora/dol: kontrola hamulca pociagu (dol: zwiekszenie sily hamowania, gora: zmniejszenie)
--- przycisk Y + gora/dol: hamulec lokomotywy (dol: zwiekszenie sily hamowania, gora: zmniejszenie)
--- przycisk X + gora/dol: nastawnik boczny (gora: zwiekszenie wartosci, dol: zmniejszenie)

* obsluge gamepada mozna wylaczyc poprzez wpis w pliku .ini
input.gamepad no
moze to byc konieczne w przypadku konfiguracji z podlaczonym kontrolerem PoKeys (przynajmniej dopoki w exe nie ma pelnej konfiguracji dla gamepada)

* poruszanie sie ma tylko dwie predkosci, normalna (klawisze kursora) i "bieg" (shift + klawisze kursora)

* w trybie debug poruszanie jest przyspieszone: normalne odpowiada predkosci 'bieg' z trybu zwyklego, a bieg w trybie debug jest... szybszy.

* dodano obsluge dla wiecej niz jednego pliku logowania. Uaktywniana jest wpisem w .ini
multiplelogs yes
Jesli opcja jest aktywna, symulator zamiast plikow log.txt i errors.txt tworzy w katalogu logs odrebne pliki dla kazdego uruchomienia/scenariusza, nie nadpisujac starych.

* dodana obsluga przycisku opuszczenia wszystkich pantografow (w kabinach wyposazonych w taki wihajster, czyli wpis pantalloff_sw w pliku .mmd z przypisanym sub-modelem), na ta chwile pod kombinacja Ctrl + P

* dodana obsluga dedykowanego przycisku opuszczania tylnego pantografu, pantrearoff_sw do pary z juz istniejacym wylacznikiem pantografu przedniego.

* dodana obsluga przyciskow podnoszacych/opuszczajacych pantografy wybrane przy pomocy odrebnego przelacznika/zaworu, pantselected_sw: i pantselectedoff_sw:  Wspomniany odrebny przelacznik nie jest jeszcze zaimplementowany, tymczasowo obsluga kabiny z nowym typem przyciskow odbywa sie uzywajac standardowych kombinacji klawiszy obslugi pantografow.

* rozszerzona obsluga tekstur wymiennych: dla modeli uzywajacych kilku tekstur wymiennych (uaktywnianych dodaniem znaku # po nazwie modelu w pliku .mmd) przy umieszczaniu modelu w scenie zamiast nazwy tekstury bazowej mozna tez podac liste nazw tekstur, rozdzielonych znakiem "|" Czyli np zamiast wpisu
node -1 0 nazwa_pojazdu dynamic katalog nazwa_tekstury (...)
ktory instruuje exe by szukac tekstur "nazwa_textury,1" "nazwa_tekstury,2" "nazwa_tekstury,3" itp mozna podac wpis
node -1 0 nazwa_pojazdu dynamic katalog teksturaA|teksturaB|teksturaC|teksturaD (...)
co spowoduje przypisanie do modelu tekstur "teksturaA", "teksturaB", "teksturaC" itd. Mozna definiowac w ten sposob do czterech tekstur (trzech, jesli model ma obslugiwac takze wymienna teksture tablic rozkladu)

* dodana obsluga konfiguracji klawiszy

na razie obejmuje tylko obsluge pojazdu, bo reszta nie jest jeszcze podpieta pod nowy system. Przypisania klawiszy przechowywane sa w pliku "eu07_input-keyboard.ini" (plik tekstowy, moze byc edytowany np. notatnikiem) Kazda linia pliku definiuje jeden klawisz, np
pantographlowerall ctrl p // opuszczenie wszystkich pantografow
pierwsze slowo to nazwa komendy i tego nie ruszamy; nastepnie podany jest klawisz do ktorego ma byc przypisana, i opcjonalne modyfikatory shift i/lub ctrl  Komentarze tlumacza, ktora komenda jest do czego, zeby latwiej sie bylo polapac.

* obsluga odrebnych przyciskow aktywacji tonow syreny, hornlow_bt i hornhigh_bt Zalaczane sa tymi samymi klawiszami co zwykla dzwignia. Uwaga: oba przyciski maja zakres animacji (0, 1) w odroznieniu od 'starej' dzwigni gdzie animacja niskiego tonu miala zakres (0, -1)

* rozdzielone dzialanie przyciskow kontroli syreny, aktywacja tonu wysokiego nie wylacza niskiego, i odwrotnie. Aby uniknac blednego zapetlania sie dzwiekow aktywacja tonu wysokiego zostala przeniesiona domyslnie pod klawisz S (kontrola piasecznicy jest teraz domyslnie pod Shift+S, a przelacznik blokady drzwi pod Ctrl+S)

* dodane do .fiz: parametr AirLeakRate w sekcji Brakes: definiuje predkosc wycieku powietrza z ukladu hamulcowego. Wartosc nominalna to 1.0 wiec np wartosc 1.5 spowoduje 50% szybszy wyciek. Nie nalezy przesadzac ze zwiekszeniem parametru, bo wartosci rzedu 5+ moga doprowadzic do sytuacji gdzie sprezarka lokomotywy nie nadazy z produkcja. Przy standardowej wartosci 1.0 wycieki sa na poziomie zalaczania sprezarki co 5-15 min czasu symulacji, zaleznie od rodzaju i dlugosci skladu.

* dodane do .fiz: parametr ConverterStart w sekcji Cntrl: okreslajacy metode obslugi przetwornicy -- domyslnie (wartosc Manual) przetwornica sterowana jest recznie. Jesli wartosc parametru ustawiona jest na Automatic przetwornica wlacza sie automatycznie po zamknieciu wylacznika szybkiego.

* dodane do .fiz: parameter ConverterStartDelay w sekcji Cntrl: okreslajacy (w sekundach) opoznienie, z jakim uruchamia sie przetwornica po zamknieciu wylacznika szybkiego. wartosc domyslna to 0, czyli brak opoznienia.

* dodany nowe przelaczniki, kontrolujace prace przetwornicy i sprezarki tylko dla obsadzonego czlonu. Uaktywniane przez Shift+X (przetwornica) i Shift+C (sprezarka). Nazwa przelacznikow w pliku .mmd to converterlocal_sw i compressorlocal_sw

* wylacznik stycznikow liniowych moze byc obslugiwany jako bistabilny, a nie tylko impulsowy jak dotychczas. Tryb bistabilny uaktywnia sie wpisem MotorConnectors=Toggle w sekcji Switches: pliku .fiz

* zmiana w systemie wizualizacji, eliminujaca z-fighting i inne nieciekawe efekty zbyt niskiej precyzji liczb zmiennoprzecinkowych pojawiajace sie w miare oddalania od "srodka" mapy

* po zatrzymaniu sygnalem radio-stop AI potrafi teraz skasowac otrzymany sygnal poprzez wylaczenie/zalaczenie radia, zamiast stac w polu i tylko bezskutecznie dusic odluzniacz

* uruchomiona obsluga parametru grubosci linii dla elementow scenerii typu "lines" itp

* indywidualne oswietlenie dla sekcji modelu uproszczonego wnetrza. Submodele z nazwami w formacie corridorXX lub korytarzXX (gdzie XX to liczba of 00 do 99, czyli np korytarz00) sa klasyfikowane jako korytarze/przedsionki. Submodele z nazwami w formacie compartmentXX lub przedzialXX sa klasyfikowane jako przedzialy. Oswietlenie w sekcji jest zalaczane gdy spelnione sa wszystkie ponizsze warunki:
- na zewnatrz jest dostatecznie ciemno (definiowane jak dotychczas parametrem self illum)
- pojazd jest w skladzie z pojazdem prowadzacym, ktory ma zalaczony akumulator (co jest uproszczona metoda sprawdzenia, czy pojazd prowadzacy jest aktywny)
- dla przedzialow oswietlenie zalaczane jest z 75% szansa, okreslana w momencie spelnienia poprzednich warunkow, dla korytarzy oswietlenie zalaczane jest z szansa 100%

* aktywowana obsluga parametru sily odblaskow swiatla (specular highlights) dla modeli 3d. Poniewaz parametr poprzednio obslugiwany nie byl, wiekszosc modeli ma go ustawiony na cos w stylu (150, 150, 150) wartosc ta jest zazwyczaj zbyt wysoka dla materialow innych niz takie, ktore swiatlo odbijaja doskonale (szyby, wypolerowany metal)  W zwiazku z tym domyslnie exe modyfikuje podana wartosc parametru specular do 25% wartosci dla geometrii nieprzezroczystej, i 150% podanej wartosci dla geometrii polprzezroczystej, ktora w zalozeniu powinny byc wylacznie szyby itp. Mechanizm skalowania kontrolowany jest wpisem w ini
scalespeculars (yes)/no

* dodana obsluga urzadzen kabiny przy uzyciu myszy. Do przelaczenia trybu pracy uzywany jest klawisz Alt. W trybie obslugi mysza kamera pozostaje nieruchoma a zamiast niej porusza sie kursor, ktorym mozna aktywowac urzadzenia. Dla wiekszosci urzadzen do aktywacji sluzy lewy przycisk, w przypadku urzadzen jak nastawnik, hamulec lub wielopozycyjne pokretla lewy przycisk przestawia urzadzenie 'do przodu' zas prawy 'do tylu'. Operowanie mysza elementami takimi jak nastawnik i hamulec odbywa sie tym szybciej, im dalej odsuniemy mysz od punktu w ktorym byla w momencie wcisniecia. W standardowym trybie pracy symulatora kursor myszy podswietla jedynie urzadzenia zdefiniowane w pliku .mmd, podajac ich ujednolicone nazwy. W trybie debug podswietlane sa wszystkie czesci kabiny, a zamiast nazw ujednoliconych wyswietlane sa nazwy submodeli.

* w trybie ruchu poza kabina pojazdu, gdy wlaczony jest debug mode i aktywowany jest tryb obslugi mysza, symulator wyswietla nazwy obiektow scenerii wskazanych mysza, o ile dany obiekt ma nazwe zdefiniowana w pliku .scn.

* liczba elementow typu "universal" zostala zwiekszona do 10. Definiowane sa w pliku .mmd jak dotychczas wpisami "universal0:", "universal1:" itp. az do "universal9:" Obsluga tych elementow zostala zunifikowana I uproszczona do przelaczania miedzy dwoma stanami, i wywolywana jest za posrednictwem myszy, lub klawiszami 0-9

* dodane przelacznik oswietlenia urzadzen jako dedykowany element kabiny. Definiowany jest wpisem instrumentlight_sw: a element 'oswietlajacy' ma definicje i-instrumentlight: i-instrumentlight_M: lub i-instrumentlight_C: zaleznie od typu zasilania.

* rozszerzona obsluga definiowania dzwiekow aktywacji urzadzen w kabinie pojazdu. nowa skladnia wyglada tak:
mainctrl: { nastawnikpodst rot -0.02 0.0 0.15 soundinc: nastawnikdoprzodu.wav, sounddec: nastawnikdotylu.wav, sound17: nastawnikpozycja17.wav }
parametry dzwieku podawane sa w formacie klucz: nazwadzwieku.wav
rozpoznawane klucze to:
- soundinc: dzwiek odgrywany gdy urzadzenie przestawiane jest na pozycje 'nastepna' czyli np przestawienie nastawnika do przodu, zalaczenie przycisku, otwarcie szafki itp
- sounddec: dzwiek odgrywany gdy urzadzenie przestawiane jest na pozycje 'poprzednia' czyli np przestawienie nastawnika do tylu, puszczenie grzyba, zamkniecie okna itp.
- soundX: dzwiek odgrywany gdy urzadzenie ustawione jest na konkretna pozycje X wiekszosc przyciskow ma tylko dwie pozycje, "0" i "1" ale np nastawniki maja tyle pozycji, ile pozycji ma nastawnik Ilosc wpisow soundX dla danego elementu jest w zasadzie dowolna

* dzwieki moga byc tez przypisane do kontrolek. skladnia jest taka sama jak dla przelacznikow, ale jako ze lampki maja tylko stan zalaczony i wylaczony, rozpoznawane sa tylko klucze soundinc: i sounddec:

* dodane generowanie cieni obiektow na podstawie biezacej pozycji Slonca. Funkcja domyslnie wylaczona wlaczona, uaktywniana jest wpisem w .ini
shadows yes

* jakosc generowanych cieni moze byc regulowana wpisem w .ini
shadowtune 2048 250 250 500
gdzie poszczegolne wartosci to: rozdzielczosc generowanych cieni (wartosci rozsadne to 1024-4096), parametr (tymczasowo) nieuzywany, wielkosc obejmowanego cieniami obszaru (w metrach) i kolejny parametr (tymczasowo) nieuzywany

* kraglosc generowanych torow i drog mozna teraz zwiekszyc wpisem w .ini
splinefidelity X
gdzie X to wartosc w przedziale 1-4. domyslnie przyjmowana jest wartosc 1, wartosci wyzsze zwiekszaja 'jakosc' generowanej geometrii

* poniewaz rozbudowany w exe silnik graficzny moze miec zbyt wysokie wymagania jak na mozliwosci starszych komputerow, istnieje mozliwosc wymuszenia uzycia dotychczasowego, uproszczonego silnika. Odbywa sie to przez wpis w .ini
gfxrenderer simple

* dodana funkcja "recznego" uruchomienia procedury radiostopu w obsadzonym pojezdzie; domyslnie wywolywana kombinacja Shift+Ctrl+R
« Ostatnia zmiana: 05 Września 2021, 21:02:17 wysłana przez tmj »

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5925
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 443
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #1 dnia: 12 Marca 2017, 12:22:45 »
Wtrącę się, bo miałem takie zapytanie. W paczuszce nie było vcredist 2008 i 2013 na systemy 64bitowe. Wystawiam je:

http://eu07.pl/userfiles/1234/bugs-Visual_studio_64bit.7z

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #2 dnia: 15 Marca 2017, 19:04:31 »
Skoro jestesmy przy wersji 64bit, to wymaga ona tez nieco innej wersji bibliotek, i odrebnego pakietu python. Calosc jest do pobrania tutaj:

http://eu07.pl/userfiles/24014/bugs-eu07cplusplus64_libraries.rar
« Ostatnia zmiana: 15 Marca 2017, 19:06:37 wysłana przez tmj »

Offline Milek7

  • Administrator
  • Wiadomości: 1047
    • Zobacz profil
  • Otrzymane polubienia: 902
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #3 dnia: 24 Marca 2017, 22:12:35 »
W moich buildach jest podstawowa obsługa Lua do eventów: https://wiki.eu07.pl/index.php/Luascenery, obsługa plików Ogg/Vorbis, zapisywanie zrzutów pod F11 do katalogu screenshots, obsługa wczytywania tekstur w png, nowy moduł do komunikacji z pulpitami, pozostawiona możliwość użycia glut do napisów, płynne sterowanie hamulcem.

Dla przypomnienia wymagane liby (z wyjątkiem folderu z libami pythona i redistów msvc 2008, 2015, 2017, czy co tam jeszcze):
x32: https://milek7.pl/.stuff/eu07exe/libs32.zip
x64: https://milek7.pl/.stuff/eu07exe/libs64.zip

stąd pobrać odpowiednie exe: https://ci.appveyor.com/project/Milek7/maszyna/build/artifacts
Nowy serwis kompilujący w chmurze: https://dev.azure.com/milek7/maszyna/_build?definitionId=1

w przypadku linuxa należy zbudować samemu branch master z https://github.com/eu07/maszyna/
do budowania używany jest cmake.
dodatkowo w katalogu z paczkąnależy przygotować katalogi linuxpython(64):
virtualenv2 linuxpython64
source linuxpython64/bin/activate
pip2 install pillow
deactivate
cp -r python/local linuxpython64/
« Ostatnia zmiana: 25 Sierpnia 2019, 11:54:11 wysłana przez Stele »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #4 dnia: 24 Lipca 2017, 17:22:24 »
To jeszcze moja gałązka:

1. Nowa sposób generowania i aktualizacji tabelki bazujący na odległości przejechanej
2. Przewijanie rozkładu jazdy jak stacja jest w rozkładzie ale nie na aktualnej pozycji

Bazuje na wersji @tmj.

Changelog:
2017-08-04 - poprawka błędu sortowania tabeli prędkości - wersja bazowa 20170725
« Ostatnia zmiana: 04 Sierpnia 2017, 20:29:53 wysłana przez firleju »
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #5 dnia: 31 Sierpnia 2017, 18:49:04 »
Skonczylo sie miejsce w pierwszym poscie, wiec ciag dalszy patch notes bedzie tutaj ;/

Cytuj
* dodane nowe urzadzenie kabinowe, hamulec bezpieczenstwa ("klapa Ackermana"). Stan urzadzenia domyslnie przelaczany jest kombinacja Shift+Ctrl+B. Nazwa urzadzenia w pliku .mmd to alarmchain

* dodana obsluga modeli dla urzadzen kabinowych: przelacznika sprezarki pantografow, definiowanego w .mmd jako pantcompressor_sw: i zaworu przelaczajacego polaczenie pantografow ze zbiornikiem glownym lub sprezarka pomocnicza, definiowanego w .mmd jako pantcompressorvalve_sw:

* obliczenia fizyki sa teraz domyslnie przeprowadzane z pelna dokladnoscia dla kazdego kroku. Przywrocenie starego trybu obliczen, ktory moze byc latwiejszy do zniesienia dla starych/slabych komputerow, dokonuje sie wpisem w .ini
fullphysics no

* aktualna pozycja w kabinie jest zapamietywana przy wyjsciu na zewnatrz i przywracana po powrocie, aby nie trzeba bylo za kazdym razem poprawiac sie recznie w fotelu; pozycja standardowa przywracana jest przy zmianie pomieszczenia/pojazdu

* event whois moze byc wykorzystany do sprawdzenia biezacego poziom zahamowania skladu, do ktorego nalezy badany pojazd. Poziom podawany jest jako pierwsza wartosc liczbowa przy wywolaniu eventu z parametrem 31

* event whois moze byc uzyty by uzyskac informacje na temat odleglosci skladu do najblizszego pojazdu na drodze biezacego kierunku jazdy. Odleglosc podawana jest jako druga wartosc liczbowa przy wywolaniu eventu z parametrem 31

* zmieniona nieco kolorystyka trakcji w trybie debug: zasilanie jednokierunkowe sygnalizowane jest kolorem niebieskim lub zoltym zaleznie od kierunku, zasilanie dwustronne to kolor zielony, odcinek polaczony z innymi jednostronnie/izolowany to kolor czerwony; przesla z bezposrednim podpieciem zasilania sa biale, a te bez zasilania w ogole czarne

* w plikach .inc mozna teraz uzywac wiecej niz tylko jednego parametru na token, dopuszczalne jest tez ich zagniezdzanie. Jesli zdefiniujemy np.

include foo.inc param1_i_(p3) param2 param3

to parser przy odczytywaniu takiego include i napotkaniu tokena "wstaw_tutaj_(p1)_oraz_(p2)" wyprodukuje:
wstaw_tutaj_param1_i_param3_oraz_param2

* mozliwosc przypisania do geometrii dodatkowej tekstury/tekstur, ktore moga byc wykorzystane do generowania bardziej zaawansowanych efektow graficznych.

- w miejsce dotychczasowych wpisow sciezki/nazwy tekstury w plikach .scn itp. podajemy sciezke/nazwe pliku tekstowego z rozszerzeniem .mat  Dopiero w tym pliku podane sa sciezki/nazwy tekstur w postaci:
texture1: nazwa_dotychczasowej_tekstury
texture2: nazwa_tekstury_dodatkowej
- jesli symulator nie znajdzie pliku .mat o podanej nazwie, automatycznie probuje on wczytac wskazany plik jako podstawowa teksture.

- sila 'odbic otoczenia' definiowana jest w kanale alfa tekstury dodatkowej; uklad UV jest taki sam jak dla tekstury podstawowej, kolor bialy odpowiada maksymalnej sile odbic. Tutaj uwaga, z sila nie nalezy przesadzac; wystarczajace sa wartosci w granicach 5-20% w zaleznosci od materialu

* w plikach .mat mozna teraz opcjonalnie definiowac zestawy tekstur dla wybranych por roku. Definicja ma postac dodatkowych blokow
poraroku: { texture1: nazwa_tekstury_glownej texture2: nazwa_tekstury_dodatkowej }
np plik .mat dla standardowej trawy rozszerzony o wersje "zimowa" i bez zdefiniowanych tekstur dodatkowych wyglada tak:
winter: { texture1: snow_grass }
texture1: grass
rozpoznawane pory roku to spring: summer: autumn: i winter:  Pora roku okreslana jest na podstawie wpisu daylight lub w przypadku ustawienia daylight na 0 aktualnej daty pobranej z zegara/kalendarza komputera.

* Dodane nowe parametry dostepne dla modulu pythona:
epfuse (stan zalacznika hamulca elektropneumatycznego)
sanding (stan piasecznicy)
slip_X (informacja o poslizgu dla czlonu X, gdzie X to liczba w zakresie 1-20)

* wprowadzony pierwszy etap zapisu scenariuszy z poziomu symulatora; na razie ograniczony do zapisu geometrii terenu -- plik z rozszerzeniem .sbt tworzony jest automatycznie po zaladowaniu scenariusza, i rownie automatycznie wykorzystywany przy ladowaniu, o ile wystepuje. Przechowywane sa w nim dane wszystkich node triangles i lines jak rowniez zawartosc ewentualnych modeli 3d terenu.

* dodane nowe urzadzenia kabinowe, lampki kontrolne dla aktualnie aktywnych swiatel. Nazwy urzadzen w pliku .mmd to i-upperlight: i-leftlight: i-rightlight: i-leftend: i-rightend: i-rearupperlight: i-rearleftlight: i-rearrightlight: i-rearleftend: i-rearrightend:

* przy probie wczytania modelu ladunku dla danego pojazdu exe szuka najpierw specjalizowanego modelu nazwatypupojazdu_nazwaladunku.t3d Jesli taki model nie zostanie znaleziony, ladowany jest dotychczasowy model nazwaladunku.t3d

* wprowadzona obsluga pozycjonowania 3d dzwiekow, w oparciu o biblioteke OpenAL. Pozycjonowane sa w miare mozliwosci wszystkie dzwieki pojazdow, na podstawie polozenia przyciskow w kabinach jak i elementow ruchomych (wozki, drzwi, pantografy, sprzegi) "na zewnatrz"

* wprowadzone kategorie "polozenia" dzwiekow -- zrodlo dzwieku moze znajdowac sie w kabinie pojazdu, w przedziale silnikowym, "na zewnatrz" lub "miedzy wnetrzem i zewnetrzem". Glosnosc dzwiekow zmienia sie na podstawie polozenia tak dzwieku jak i uzytkownika

* wszystkie dzwieki dla ktorych mialo to sens zostaly przeniesione z kabiny do obiektu pojazdu

* wyboru implementacji openAL ktora powinna byc wykorzystana dokonuje sie przez wpis w .ini
sound.openal.renderer devicename

* ogolny poziom glosnosc odtwarzanych dzwiekow mozna modyfikowac wpisem w .ini
sound.volume X
gdzie X to wartosc w zakresie 1-4 (takze z ulamkiem) Domyslnie ustawiana jest wartosc 2.0

* w sekcji sounds pliku .mmd mozna zdefiniowac wpisem outernoise: dzwiek odtwarzany podczas ruchu danego pojazdu, slyszalny na zewnatrz pojazdu (parametry sa takie same jak dla runningnoise: )

* wszedzie, gdzie podawane sa nazwy plikow dzwiekowych mozna zamiast nazwy pojedynczego pliku podac ich 'zestaw', dowolna ilosc dzwiekow w formacie:
Kod: [Zaznacz]
[ dzwiek innydzwiek jeszczeinnydzwiek ]
przy ladowaniu scenariusza exe wybierze z takiego zestawu jeden dzwiek losowo.

* oprocz dotychczasowego sposobu definiowania dzwiekow i ich atrybutow, dostepny jest tez sposob alternatywny, umozliwiajacy modyfikacje domyslnych wartosci nowo wprowadzonych parametrow. Skladnia nowego sposobu definicji jest nastepujaca:
identyfikator: { atrybut: wartosc atrybut: wartosc atrybut: wartosc itp }
identyfikator: to do tej pory uzywane nazwy dzwiekow, np compressor: lub runningnoise:
rozpoznawane atrybuty to:
soundbegin: (dzwiek poczatkowy. wartosc to nazwa pliku dzwiekowego, lub zbior plikow zamkniety w nawiasach [ ] dla dzwieku wybieranego losowo)

soundmain: (dzwiek glowny. wartosc j.w.)

soundend: (dzwiek koncowy. wartosc j.w)

placement: (pomieszczenie, w ktorym znajduje sie dzwiek. parametr ten decyduje kiedy sila dzwieku jest tlumiona. dopuszczalne wartosci to:
internal (dzwiek umieszczony jest w kabinie pojazdu)
engine (dzwiek umieszczony jest w przedziale silnikowym)
external (dzwiek umieszczony jest 'na zewnatrz', np. syrena lub przetwornica w EN57)
general (dzwiek slyszalny jest tak samo w kabinie i na zewnatrz, zazwyczaj sa to drzwi itp)

offset: ( polozenie dzwieku wzgledem punktu centralnego pojazdu lub scenerii. wartosc to lokacja 3d podana w postaci [ X, Y, Z ] Dla pojazdow +X polozona jest po ich lewej stronie, +Y wskazuje gore, a +Z przod pojazdu)

range: (nominalny zasieg dzwieku, w metrach)

frequencyfactor: (mnoznik czestotliwosci, wartosc to liczba zmiennoprzecinkowa)

frequencyoffset: (dodawana do czestotliwosci, wartosc j.w.)

amplitudefactor: (mnoznik amplitudy, wartosc j.w.)

amplitudeoffset: (dodawana do czestotliwosci, wartosc j.w.)

* w nowej wersji definiowania dzwiekow obslugiwany jest parametr
soundset: "start.wav main.wav stop.wav"
lub
soundset: start.wav|main.wav|stop.wav
pozwala on zdefiniowac jednym wpisem dzwiek inicjujacy, glowny i konczacy (w miejsce indywidualnych definicji soundbegin: soundmain: i soundend: ) Podobnie jak w przypadku przypisywania pojedynczych dzwiekow, mozna podac wieksza ilosc zestawow, sposrod ktorych zostanie wylosowany i przypisany jeden:
soundset: [ "start.wav main.wav stop.wav", "innystart.wav innymain.wav innystop.wav" ]

* ujednolicone definiowanie dzwiekow wydawanych przez uklad napedowy. Dla wszystkich typow lokomotyw definicje sa teraz nastepujace

engine: definiuje dzwieki 'glownego' silnika pojazdu, zazwyczaj bedzie to silnik diesla. lokomotywy elektryczne nie potrzebuja tej definicji. przy dzwiekach skladanych aktywacja poszczegolnych elementow nastepuje na podstawie aktualnych obrotow silnika
tractionmotor: definiuje dzwieki motorow trakcyjnych. przy dzwiekach skladanych aktywacja poszczegolnych elementow nastepuje na podstawie aktualnych obrotow motorow
converter: definiuje dzwiek przetwornicy. lokomotyw bez przetwornicy nie potrzebuja tej definicji.

* ujednolicona obsluga dzwiekow wydawanych przez uklad napedowy:

tractionmotor: dziala takze w lokomotywach spalinowo-elektrycznych (w polaczeniu z silnikiem diesla)
ignition: dziala takze w lokomotywach spalinowo-elektrycznych
dieselinc: dziala takze w lokomotywach spalinowych

* przy definiowaniu progu zalaczenie 'oswietlonych' submodeli wpisem node poziom zapamietywany jest indywidualnie dla kazdego submodelu; pozwala to na aktywacje oswietlonych elementow etapami, zamiast wszystkich naraz

* dzwiek turbo silnika obsluguje parametry czestotliwosci i amplitudy

* w sekcji sounds pliku .mmd mozna zdefiniowac wpisem wheelflat: dzwiek podkucia kol danego pojazdu; czestotliwosc odtwarzania dzwieku bazowana jest na predkosci obrotowej kol pojazdu i uwzglednia wartosc mnoznika czestotliwosci.

* dzwiek wywolywany eventem moze byc odtwarzany z pozycji radia w kabinie obsadzonego pojazdu, na okreslonym kanale. Kanal radia podawany jest jako dodatkowy parametr przy definiowaniu eventu:
event nazwa_eventu sound opoznienie nazwa_dzwieku 1 numer_kanalu endevent

* dodane nowe urzadzenia kabinowe

i-mainbreakeroff: (lampka jest aktywna gdy wylacznik szybki nie jest zamkniety)
i-mainbreakerboff: (odpowiednik i-mainbreakeroff: w czlonie B)
i-converteroff: (lampka jest aktywna gdy przetwornica nie jest zalaczona)
i-converterboff: (odpowiednik i-converteroff: w czlonie B)
i-compressoroff: (lampka jest aktywna gdy sprezarka w pojezdzie nie pracuje)
i-compressorboff: (odpowiednik i-compressoroff: w czlonie B)
i-brakingoff: (lampka jest aktywna gdy cisnienie hamulca pojazdu jest ponizej 10 kPa)
« Ostatnia zmiana: 01 Stycznia 2018, 10:14:05 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #6 dnia: 13 Stycznia 2018, 15:56:32 »
Nowy kawalek logu na nowy rok, zwlaszcza ze poprzedni znowu robil sie pelny
Cytuj
* zamiast pojedynczego dzwieku aktywacji stycznikow mozna teraz definiowac odrebny dzwiek dla kazdej pozycji, wykorzystujac format dzwiekow skladanych (czyli wpisy soundX: i opcjonalnie pitchX:) Dzwiek zalaczenia stycznikow umieszczony jest na pozycji sound1: natomiast ich rozlaczenia na pozycji sound0:

* dzwiek zalaczania bocznikow ma teraz swoj wlasnie wpis, shuntfield: w sekcji internaldata: Konfigurowany jest tak samo jak dotychczasowy relay: i podobnie jak on umozliwia teraz podanie odrebnych dzwiekow dla kazdej pozycji bocznikow.

* dodane nowe urzadzenia kabinowe, lampki kontrolne dla aktualnie aktywnej nastawy predkosci dzialania hamulca. Nazwy urzadzen w pliku .mmd to i-brakeprofileg: i-brakeprofilep: oraz i-brakeprofiler:

* dzwiek dieselinc: moze byc definiowany jako dzwiek skladany, podobnie jak glowny dzwiek silnika. W przypadku takiej definicji gdy silnik zwieksza obroty zostaje odtworzona przypisana dla danego przedzialu probka z dieselinc: a 'glowny' dzwiek silnika zostaje na ten czas wyciszony, zamiast zwyklego miksowania jak ma to miejsce przy pojedynczym dzwieku dieselinc:

* dzwiek falownikow zostal rozdzielony od dzwieku wentylatorow i otrzymal wlasny wpis inverter: w sekcji sounds: pliku mmd.

* usuwanie nieuzywanych tekstur z pamieci karty graficznej mozna wylaczyc wpisem w .ini
gfx.resource.sweep no

* tryb konserwacji pamieci przy usuwaniu nieuzywanych tekstur z pamieci karty graficznej mozna wlaczyc wpisem w .ini
gfx.resource.move yes
nalezy zwrocic uwage ze tryb ten moze (prawdopodobine) powodowac na niektorych kartach graficznych problemy z ponownym wyswietlaniem usunietych tekstur

* dodany nowe parametr dostepny dla modulu pythona:
radio_channel (aktualnie wybrany kanal radia)

* dodana obsluga pokretla wyboru kanalu radia, oraz przyciskow wyboru poprzedniego i kolejnego kanalu. Nazwy przelacznikow w pliku .mmd to radiochannel_sw: radiochannelprev_sw: i radiochannelnext_sw:

* dodana obsluga przycisku testu radiostopu, radiotest_sw: przycisku faktycznego radiostopu radiostop_sw: lampki kontrolnej otrzymanego radiostopu i-radiostop: oraz dzwiek radiostop w sekcji internaldata wydawany po otrzymaniu sygnalu radiostopu

* dodany parametr zmiany predkosci obrotowej wentylatorow oporow rozruchowych w pliku .fiz (zmienna RVentSpeed o domyslnej wartosci 0.5)

* wprowadzona obsluga nowego typu pojazdow, dmu czyli spalinowych zespolow trakcyjnych. Typ definiowany jest w kategorii Param. pliku .fiz wpisem
Type=dmu

* dla tekstur w formacie tga przy ladowaniu uwzgledniany jest parametr orientacji tekstury

* zmiana komunikacji z pulpitami sterowania opartymi na kontrolerze arduino. Wiaze sie z tym zmiana definicji parametrow wspolpracy w pliku .ini -- w miejsce dotychczasowych parametrow "mwd" rozpoznawane sa:
//uart <nazwa portu> <nie zmieniać> <częstość wysyłania danych (czas)>
uart COM3 500000 0.1 0.05
//uarttune <ham. zespolony min> <max> <ham. dodatkowy min> <max> <ciśnienie max w zbiorniku gł.> <max wartość dla PWM> (to samo dla przewodu gł i cylindrów hamulcowych)
uarttune 46.0 943.0 175.0 874.0 0.9 1023.0 0.7 1023.0 0.5 1023.0 4000.0 1023.0 800.0 1023.0
//uartfeature <nastawnik> <bocznik> <hamulec> <hamulec lokomotywy>
uartfeature no no yes yes
//uartdebug <wyświetlanie danych debugowania w konsoli>
uartdebug no

* definiujac kombinacje klawiszy sterujacych mozna uzywajac klucza none wylaczyc aktywacje danej komendy

* dodano mozliwosc konfiguracji funkcji aktywowanych przez urzadzenia zewnetrzne podpiete przez port szeregowy. Konfiguracja umieszczona jest w pliku eu07_input-uart.ini w katalogu symulatora. Definicja funkcji konkretnych bitow/pinow umieszczana jest linia po linii, wg skladni
numer_bitu typ_kontrolki funkcja_1 funkcja_2
rozpoznawane typy urzadzen kontrolnych to toggle (przelacznik bistabilny) i impulse (przycisk lub przelacznik impulsowy)
funkcja_1 i funkcja_2 to komendy, ktorych liste mozna znalezc w pliku konfiguracji klawiatury.
Przelaczniki impulsowe obsluguja jedna funkcje, aktywowana gdy dany bit/pin generuje sygnal. Przelaczniki bistabilne obsluguja dwie funkcje, z ktorych pierwsza jest aktywowana gdy dany bit/pin generuje sygnal, a druga gdy sygnalu nie ma.

* wprowadzona mozliwosc definiowania tekstur, ktore ladowane sa przy okreslonych warunkach pogodowych. Tymczasowo pogoda okreslana jest na podstawie parametru zachmurzenia dla danej scenerii, i ustawionej pory roku:
- przy zachmurzeniu ponizej 0.25 preferencje otrzymuja tekstury z kategorii clear:
- przy zachmurzeniu miedzy 0.25-1.0 preferencje otrzymuja tekstury z kategorii cloudy:
- przy zachmurzeniu miedzy 1.0-2.0 preferencje otrzymuja tekstury z kategorii rain: lub, w okresie zimowym, snow:
priorytety przy wyborze tekstury to: wariant dla pogody+pory roku > wariant dla pogody > wariant dla pory roku > tekstura podstawowa

* wprowadzona automatyczna zmiana ilosci pasazerow w wagonach po zatrzymaniu sie na przystanku. Liczba pasazerow wsiadajacych i wysiadajacych wplywa na wymagany czas postoju, a aktualne oblozenie wagonu jest mniej wiecej wizualizowane, przez wyswietlanie odpowiedniej czesci ze zdefiniowanych submodeli w modelu ladunku. Na ostatnim przystanku wymienionym w rozkladzie wagony sa oprozniane.

* dodana mozliwosc konfigurowania dla danego pojazdu wielkosci podkucia kol. dokonyuje sie podobnie jak konfiguracje parametrow hamulca wpisem w trainset, z nastepujaca skladnia
WFxRyPz
gdzie parametry to:
- x: "gwarantowana" wielkosc podkucia w mm
- Ry: opcjonalnie, losowe zwiekszenie podkucia o 0-y mm
- Pz: opcjonalnie, prawdopobienstwo podkucia pojazdu wynosi z%

* dodana parametryzacja rzucania pojazdem przez pracujacy silnik diesla. Dokonywana przez opcjonalny wpis .mmd:
enginespring: 2.0 1.5 0.3 10.0 0.5 // wartosci domyslne
gdzie parametry to:
- modyfikator sily rzucania
- obroty silnika / sekunde, od ktorych zaczyna sie efekt rzucania pojazdem
- predkosc narastania sily rzucania
- obroty silnika / sekunde, od ktorych efekt rzucania zaczyna zanikac
- predkosc wygasania efektu

* wsiadanie i wysiadanie pasazerow na przystankach odbywa sie z predkoscia zdefiniowana w pliku .fiz dla danego pojazdu (lub dwukrotnie szybciej, gdy uzywane sa perony po obu stronach)

* istnieje mozliwosc zdefiniowania dzwiekow odtwarzanych gdy nastepuje wyladunek lub zaladunek. Dzwieki definiowane sa w sekcji sounds pliku .mmd jako
unloading: (przy wysiadaniu/wyladunku)
loading: (przy wsiadaniu/zaladunku)

- przy definiowaniu typu obslugi drzwi pojadu w pliku .fiz wpisami OpenCtrl i CloseCtrl rozpoznawane sa nastepujace typy
Passenger (typ domyslny przy braku definicji; drzwi sa otwierane/zamykane recznie, ignoruja ewentualne zdalne komendy)
AutomaticCtrl (drzwi dzialaja automatycznie; uwaga: ta odmiana nie jest zaimplementowana w pelni)
DriverCtrl (drzwi kontrolowane sa przez mechanika prowadzacego sklad, i reaguja tylko na zdalne komendy)
Conductor (drzwi kontrolowane sa przez kierownika pociagu, reaguja tylko na zdalne komendy)
Mixed (drzwi moga byc otwierane/zamykane zarowno recznie, jak i zdalnie)

* sprzetowa kompresje tekstur tga mozna wylaczyc wpisem w .ini
compresstex no // domyslnie yes

* rozbudowana wersja ekranu informacyjnego F1 wyswietla czas postoju potrzebny do zakonczenia operacji wsiadania/wysiadania lub zmiany ladunku

* dodana mozliwosc definiowania polozenia zrodel dzwieku wozkow, motorow trakcyjnych i drzwi. Lokacje podawane sa w nowej sekcji pliku .mmd, locations: ktora powinna byc umieszczona przed sekcjami definiujacymi same dzwieki.
przykladowy wpis:
locations:
 doors: -2.0 both 3.5 left end // para drzwi 2m od punkty srodkowego w strone czola pojazdu, pojedyncze drzwi po lewej stronie 3.5m za punktem srodkowym pojazdu
 tractionmotors: -4.0 4.0 end // lacznie 2 motory, zlokalizowane 4m przed i za punktem srodkowym pojazdu
 bogies: -4.5 4.5 end // dwa wozki, zlokalizowane 4.5m przed i za punktem srodkowym pojazdu
endlocations
- polozenie poszczegolnych drzwi okreslane jest przez pare parametrow: przesuniecie od centralnego punktu modelu, i klucz definiujacy czy drzwi wystepuja po lewej ("left"), prawej ("right") lub obu ("both") stronach pojazdu.
- dla wozkow i motorow trakcyjnych podawane jest tylko przesuniecie od centralnego punktu modelu; ewentualne przesuniecia wzdluz osi X i Y sa pobierane, razem z innymi parametrami, z definicji dzwiekow w sekcji sounds:
(w przypadku motorow sensownie jest ograniczyc sie do definicji nie wiecej niz jednego zrodla na wozek, nawet jesli w obrebie danego wozka napedzanych jest wiecej osi; dla wozkow wspoldzielonych przez sasiednie czlony dobrze jest ograniczyc wpis dla wozka tylko dla jednego z czlonow)

* dodana mozliwosc rzucania kamera wskutek wezykowania obsadzonego pojazdu. Parametry zjawiska konfigurowane sa w pliku .mmd wpisem
huntingspring: modyfikator_sily modyfikator_czestotliwosci predkosc_poczatkowa predkosc_pelna
gdzie
- modyfikator sily: mnoznik domyslnej sily z jaka rzucana jest kamera
- modyfikator_czestotliwosci: mnoznik domyslnej czestotliwosci z jaka rzucana jest kamera (czestotliwosc do pewnego stopnia zalezy od ksztaltu i stopnia zuzycia zestawow kolowych)
- predkosc_poczatkowa: predkosc w km/h powyzej ktorej zaczyna sie wezykowanie
- predkosc_pelna: predkosc w km/h powyzej ktorej pojazd rzucany jest z pelna sila

* dodana mozliwosc konfigurowania dla danego pojazdu prawdopodobienstwa wystapienia wezykowania. Prawdopodobienstwo definiowane jest w sekcji W wpisu w trainset, z nastepujaca skladnia
Hx
gdzie x: prawdopobienstwo wezykowania pojazdu wynosi x%

* dodana pompa paliwa dla silnikow spalinowych. Przelacznik stanu pompy definiowany jest w pliku .mmd jako fuelpump_sw: a jego polozenie domyslnie przelaczane jest klawiszem F (przelacznik miedzy rozruchem niskim/wysokim przeniesiony zostal pod ctrl+F)

* dodane do .fiz: parametr FuelStart w sekcji Cntrl. okreslajacy metode obslugi pompy paliwa -- domyslnie (wartosc Manual) pompa sterowana jest recznie. Jesli wartosc parametru ustawiona jest na Automatic pompa wlacza sie automatycznie przy rozruchu silnika.

* kazdy z definiowanych dzwiekow stukotu kol wheel_clatter: moze byc opcjonalnie dzwiekiem skladanym, uwzgledniajacym aktualna predkosc pojazdu

* dodana obsluga dedykowanych wariantow dzwiekow rozciagania sprzegow i zderzania sie buforow odtwarzane przy wiekszych silach, couplerstretch_loud: i bufferclamp_loud:

* dodane nowe urzadzenie kabinowe, lampka i-fuelpumpoff: ktora aktywuje sie, gdy pompa paliwa nie jest zalaczona

* dodana mozliwosc przesuniecia czasu scenariusza; przesuniecie definiowane jest wpisem w eu07.ini
scenario.time.offset X
gdzie X okresla, o ile godzin powinna zostac przesunieta domyslna godzina rozpoczecia scenariusza i zdefiniowane rozklady jazdy (dopuszczalne sa takze wartosci z ulamkiem np 3.5 i/lub przesuniecie wstecz, np. -2.0)

* dodana opcja automatycznego ustawiania czasu rozpoczecia scenariusza na zgodny z czasem wskazywanym przez zegar komputera; funkcja aktywowana jest wpisem w eu07.ini
scenario.time.current yes

* dodana obsluga pompy oleju w lokomotywach spalinowych i spalinowo-elektrycznych.
- stan pompy domyslnie przelaczany jest kombinacja shift+f
- przelacznik stanu definiowany jest w pliku .mmd jako oilpump_sw:
- wskazowka poziomu cisnienia definiowana jest w pliku .mmd jako oilpress:
- dzwiek pracujacej pompy definiowany jest w sekcji sounds pliku .mmd jako oilpump:
- metoda zalaczania definiowana jest w sekcji Cntrl. pliku .fiz jako OilStart (rozpoznawane wartosci to Manual, Automatic i Mixed)
- opcjonalnie minimalne cisnienie oleju przy ktorym uruchomi sie silnik definiowane jest w sekcji Engine: pliku .fiz jako OilMinPressure (podana wartosc odpowiada wymaganej wartosci cisnienia)
- aktualna wartosc cisnienia oleju mozna sprawdzic na ekranie F1 w trybie debug, wpis OilP

* dodana mozliwosc wstawienia pojazdu do scenariusza w stanie "zimnym", poprzez dodanie klucza .TA do wartosci sprzegu pojazdu we wpisie node w pliku .scn

* dodane urzadzenia kabinowe, definiowane w pliku .mmd:
waterpump_sw: (przelacznik stanu pompy wody, domyslnie obslugiwany przez klawisz W)
waterpumpbreaker_sw: (wylacznik samoczynny pompy wody w szafie NN, domyslnie obslugiwany kombinacja Ctrl + W)
waterheater_sw: (przelacznik stanu podgrzewacza wody, domyslnie obslugiwany kombinacja Shift + W)
waterheaterbreaker_sw: (wylacznik samoczynny podgrzewacza wody w szafie NN, domyslnie obslugiwany kombinacja Shift + Ctrl + W)
watercircuitslink_sw: (zawor laczacy obiegi wody, domyslnie obslugiwany kombinacja Shift + H)

* dodane wskazniki kabinowe, definiowane w pliku .mmd:
oiltemp: (wskaznik temperatury oleju)
water1temp: (wskaznik temperatury wody w obiegu glownym)
water2temp: (wskaznik temperatury wody w obiegu pomocniczym)

* dodane kontrolki kabinowe, defniowane w pliku .mmd:
i-motorblowers: (kontrolka pracy wentylatorow motorow trakcyjnych)
i-malfunction: (kontrolka awarii)

* dodane parametry konfiguracyjne ukladu chlodzenia silnikow spalinowych:
- w sekcji Cntrl.
WaterStart (okresla metode uruchomienia pompy wody; rozpoznawane opcje to Manual czyli reczna i Battery czyli urzadzenie jest stale aktywne przy zalaczonej baterii)
- w sekcji Engine:
WaterMinTemperature (minimalna temperatura wody, przy ktorej mozna uruchomic silnik)
WaterMaxTemperature (maksymalna dopuszczalna temperatura wody)
WaterCoolingTemperature (temperatura przy ktorej rozpoczyna sie jego aktywne chlodzenie -- zalaczany jest wentylator chlodnicy i ew. otwierane sa zaluzje)
WaterFlowTemperature (temperatura, przy ktorej uruchamiany jest obieg wody w ukladzie)
WaterShutters (flaga definiujaca obecnosc zaluzji)

WaterAuxCircuit (flaga definiujaca obecnosc pomocniczego obiegu wody)
WaterAuxMinTemperature (minimalna temperatura wody w obiegu pomocniczym, przy ktorej mozna uruchomic silnik)
WaterAuxMaxTemperature (maksymalna dopuszczalna temperatura wody w obiegu pomocniczym)
WaterAuxCoolingTemperature (temperatura w obiegu pomocniczym przy ktorej rozpoczyna sie jego aktywne chlodzenie -- zalaczany jest wentylator chlodnicy i ew. otwierane sa zaluzje)
WaterAuxShutters (flaga definiujaca obecnosc zaluzji dla obiegu pomocniczego)

OilMinTemperature (minimalna temperatura oleju, przy ktorej mozna uruchomic silnik)
OilMaxTemperature (maksymalna dopuszczalna temperatura oleju

HeaterMinTemperature (temperatura wody ponizej ktorej uruchamia sie zalaczony ogrzewacz)
HeaterMaxTemperature (temperatura wody powyzej ktorej przestaje pracowac zalaczony ogrzewacz)

HeatKW (modyfikator wplywu wentylatorow chlodzacych na zmiane temperatury)
HeatKV (modyfikator wplywu predkosci pojazdu na zmiane temperatury)
HeatKFE (modyfikator wymiany ciepla miedzy silnikiem i otoczeniem)
HeatKFS (modyfikator wymiany ciepla miedzy silnikiem i woda chlodzaca)
HeatKFO (modyfikator wymiany ciepla miedzy silnikiem i olejem)
HeatKFO2 (modyfikator wymiany ciepla miedzy olejem i woda)
(w przypadku niepodania danego parametru temperatury jest on nieaktywny, tzn przy braku np minimalnej temperatury oleju nie ma ona wplywu na mozliwosc uruchomienia silnika. Pewnym wyjatkiem jest tutaj temperatura obiegu wody -- jesli ten parametr nie jest podany, to obieg jest aktywny bez wzgledu na temperature)

* przy pomocy dzwigni bocznikowania mozna modyfikowac predkosc, ktora powinien utrzymywac tempomat w lokomotywach z napedem asynchronicznym

* dodane nowe urzadzenie kabinowe:
i-malfunctionb: (lampka awarii dla lokomotywy pracujacej w ukrotnieniu)
shuntmodepower: (pokretlo kontroli predkosci/mocy w trybie manewrowym)

* urzadzenia kabinowe obsluguja dodatkowe tryby animacji:
rotvar submodel krok_poczatkowy offset opoznienie wartosc_koncowa krok_koncowy
movvar submodel krok_poczatkowy offset opoznienie wartosc_koncowa krok_koncowy
tryby te sa wariantami istniejacych trybow rot i mov ale krok, o jaki wykonywany jest obrot/przesuniecie submodelu nie jest staly, a zmienia sie zaleznie od wskazywanej wartosci -- dla wartosci 0 uzywany jest krok_poczatkowy, dla wartosci rownej parametrowi wartosc_koncowa (lub wyzszej) uzywany jest krok_koncowy, a dla wartosci posrednich proporcjonalna wartosc posrednia miedzy krokiem poczatkowym i koncowym.

* dodana obsluga przelaczania miedzy trybami pracy hamulca pociagu; do przelaczania miedzy trybami standardowo uzywane sa kombinacje Shift+Ctrl+Num9 i Shift+Ctrl+Num3 (uwaga: do dzialania kombinacji Shift+klawiatura numeryczna musi byc wylaczony Num Lock)

* dodana mozliwosc okreslenia metody uruchomienia sprezarki pojazdu, wpisem CompressorStart w sekcji Ctrl. w pliku .fiz, rozpoznawane wartosci to Manual i Automatic

* dodana obsluga submodeli stanu zaluzji w glownym modelu pojazdu; submodele powinny miec nazwy shutters1_on i shutters1_off (zaluzje obiegu glownego w stanie zamknietym i otwartym) oraz shutters2_on i shutters2_off (zaluzje obiegu pomocniczego w stanie zamknietym i otwartym)

* dodana obsluga dzwieku wentylatora chlodnicy dla obiegu glownego, radiatorfan1: i pomocniczego, radiatorfan2: Wpisy umieszczane sa w sekcji sounds: Przy definicji dzwieku "stara metoda" wystarczy podac sama nazwe sampla, przy uzyciu "nowego" formatu definiowac mozna tez pozostale parametry
« Ostatnia zmiana: 19 Kwietnia 2018, 23:15:14 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #7 dnia: 23 Kwietnia 2018, 21:50:50 »
Wincyj zmian; WINCYJ

Cytuj
* dodana sekcja Blending: w pliku .fiz umozliwiajaca definicje parametrow laczenia trybow hamowania. Rozpoznawane parametry to:
MED_Vmax (predkosc maksymalna dla obliczen chwilowej sily hamowania EP w MED)
MED_Vmin (predkosc minimalna dla obliczen chwilowej sily hamowania EP w MED)
MED_Vref (predkosc referencyjna dla obliczen dostepnej sily hamowania EP w MED)
MED_amax (maksymalne opoznienie hamowania sluzbowego MED)
MED_EPVC (czy korekcja sily hamowania EP, gdy nie ma dostepnego ED)
MED_Ncor (czy korekcja sily hamowania z uwzglednieniem nacisku)

* dzwiek tachometer: moze byc rowniez dzwiekiem skladanym

* uruchomiona animacja schodka drzwi pojazdu. Ilosc animowanych stopni podawana jest jako 8-my parametr we wpisie animations: (w takiej sytuacji poprzedzajacy parametr powinien miec wartosc 0 zamiast standardowego -1)  Obslugiwane dla animacji parametry:
w pliku .mmd:
animstepprefix: (prefix nazwy submodeli animowanego stopnia. tak jak dla pozostalych elementow parzystosc liczby wystepujaca po nazwie okresla, po ktorej stronie pojazdu znajduje sie submodel)

w pliku .fiz:
PlatformMaxShift (wartosc przesuniecia lub kat obrotu dla calkowicie rozlozonego stopnia)
PlatformSpeed (predkosc animacji stopnia, gdzie 1.0 odpowiada animacji trwajacej jedna sekunde, wartosc 0.5 dwom sekundom, itp)
PlatformOpenMethod (typ animacji stopnia, rozpoznawane wartosci to Shift (przesuniecie) lub Rotate (obrot)

* uruchomiona animacja lusterek pojazdu. Ilosc animowanych lusterek podawana jest jako 9-ty parametr we wpisie animations: Obslugiwane dla animacji parametry:
w pliku .mmd:
animmirrorprefix: (prefix nazwy submodeli animowanych lusterek. tak jak dla pozostalych elementow parzystosc liczby wystepujaca po nazwie okresla, po ktorej stronie pojazdu znajduje sie submodel)

w pliku .fiz:
MirrorMaxShift (kat obrotu dla calkowicie rozlozonego lusterka)

* dodana trzecia syrena (albo gwizdek); dzwiek definiowany jest jako horn3: w sekcji sounds: pliku .mmd, przycisk aktywujacy dzwiek definiowany jest jako whistle_bt: Aktywacja domyslnie klawiszem Z

* dodane wskazniki kabinowe: cisnienie oleju w pojezdzie/czlonie ukrotnionym oilpressb: oraz temperatura wody obiegu glownego w pojezdzie/czlonie ukrotnionym water1tempb:

* poziom cisnienia oleju przy maksymalnych obrotach silnika moze byc konfigurowany wpisem OilMaxPressure w sekcji Engine: pliku .fiz

* animacja zamykania drzwi pojazdu moze byc opcjonalnie opozniona. Wielkosc opoznienia definiowana jest wpisem DoorCloseDelay w sekcji Doors: pliku .fiz  Pozwala to na w miare latwa implementacje drzwi, ktore wydaja przez chwile dzwiek ostrzegawczy zanim zaczna sie zamykac

* temperatura otoczenia moze byc definiowana wpisem scenario.weather.temperature w pliku .ini

* dodany podglad biezacej kolejki eventow, pod klawiszem F11

* mierniki w kabinie pojazdu moga generowac dzwieki na takich samych zasadach jak przelaczniki i lampki

* dodane dzwieki towarzyszace zmianie cisnienia w cylindrze hamulca, brakecylinderinc: i brakecylinderdec: definiowane w sekcji sounds:

* dodane dzwieki rozkladania i skladania stopnia drzwi doorstepopen: i doorstepclose: definiowane w sekcji sounds:

* predkosci przelaczenia wysokiego stopnia dla hamulca EstED moze byc konfigurowana wpisem RV w sekcji Brake: pliku .fiz

* dodatkowy parametr dostepny dla modulu pythona, air_temperature (aktualna temperatura otoczenia)

* rozklad jazdy pociagu dostepny dla modulu pythona; dostepne zmienne to:
train_stationindex (int, numer aktualnej stacji z rozkladu jazdy)
train_stationcount (int, ogolna liczba stacji w rozkladzie jazdy)
train_stationX_name (string, nazwa stacji z pozycji X rozkladu jazdy, gdzie X to liczba z zakresu 1-train_stationcount)
train_stationX_fclt (string, wyposazenie stacji z pozycji X rozkladu jazdy)
train_stationX_lctn (float, pozycja/kilometraz dla stacji z pozycji X rozkladu jazdy)
train_stationX_vmax (int, dopuszczalna predkosc jazdy na odcinku od stacji z pozycji X rozkladu jazdy)
train_stationX_ah (int, godzina przyjazdu dla stacji z pozycji X rozkladu jazdy, lub -1 dla stacji przelotowej)
train_stationX_am (int, minuta przyjazdu dla stacji z pozycji X rozkladu jazdy, lub -1 dla stacji przelotowej)
train_stationX_dh (int, godzina odjazdu dla stacji z pozycji X rozkladu jazdy)
train_stationX_dm (int, minuta odjazdu dla stacji z pozycji X rozkladu jazdy)

* animacje drzwi i stopnia sa w przypadku EZT i szynobusow synchronizowane, zaleznie od typu stopnia; stopien wysuwany jest przed otwarciem drzwi i chowany po ich zamknieciu, dla stopni obracanych "otwarcie" nastepuje razem z otwarciem drzwi, natomiast zlozenie po ich zamknieciu.

* zapis parametrow pojazdu aktywowany ustawieniem physicslog w ini obejmuje takze temperature silnika, oleju i wody

* aktualny kat kamery jest zapamietywany przy aktywacji widoku zewnetrznego i przywracany po powrocie do kabiny. Dodatkowo domyslny kat kamery w danej kabinie moze byc definiowany w pliku .mmd w sekcji cabXdefinition: wpisem
driverXangle: kat_poziomy kat_pionowy
gdzie X to numer kabiny. Dla zachowania zgodnosci wstecznej wpis kata kamery powinien byc umieszczony przed wpisami driverXpos: i/lub driverXsitpos:

* dodana interpolacja obrotu kamery

* predkosc krecenia sie wentylatorow chlodnicy moze byc konfigurowana w pliku .fiz wpisem WaterCoolingFanSpeed=X gdzie X to procent aktualnych obrotow silnika pojazdu lub, w przypadku wartosci ujemnej, okreslona stala ilosc obrotow/min

* dodana dedykowana komenda ustawienia nawrotnika na pozycje N2, reverserforwardhigh

* dzwiek zmiany stanu bocznikowania shuntfield: aktywowany jest rowniez dla pojazdow z napedem spalinowo-elektrycznym

* dzwieki urzadzen kabinowych uwzgledniaja zdefiniowany dla nich parametr offset:

* dodana obsluga 5-ciopozycyjnego manipulatora hamulca zespolonego Knorr, MHZ_K5P

* dla pojazdow z silnikiem spal-ele mozna zdefiniowac minimalny poziom obrotow/min utrzymywany przez silnik przy zalaczonym ogrzewaniu. Ilosc obrotow definiowana jest wpisem HeatingRPM w sekcji Engine: pliku .fiz

* w eventach typu multiple zniesiony zostal limit 8 eventow potomnych

* dla torow zniesiony zostal limit pojedynczych eventow typu eventX i eventallX

*  pod kombinacja shift+ctrl+F11 zostal umieszczony eksport aktualnego stanu scenerii; eksport generuje dwa pliki:
- nazwascenerii_eksport.ctr zawierajacy wszystkie zdefiniowane komorki pamieci i eventy
- nazwascenerii_eksport.scm zawierajacy wszystkie elementy typu node (tory, statyczne modele 3d, dzwieki itp)

eksport nie obejmuje danych geometrii (node triangles i lines ktore przechowywane sa w pliku. sbt) oraz definicji skladow i parametrow scenariusza (czas, pogoda, config) ktore powinny tak jak dotychczas znajdowac sie w 'glownym' pliku .scn, razem z dyrektywami include dla plikow generowanymi przez eksport:
// konfiguracja
config ... endconfig
time ... endtime
sky ... endsky
atmo ... endatmo

// include
include nazwascenerii_eksport.ctr
include nazwascenerii_eksport.scm
include geometria_dla_scenerii.scm

FirstInit

// sklady
trainset
...
endtrainset

* dodana obslugi/przestrzegania przez AI podanych parametrow okreslajacych wlasciwosci przystankow W4:
pierwszy parametr ujemny - preferowana odleglosc zatrzymania miedzy wskaznikiem i czołem składu (np. przed przejściem).
pierwszy parametr dodatni - preferowana odleglosc zatrzymania miedzy wskaznikiem i środkiem składu (np. przy wiacie, przejściu podziemnym).
drugi parametr ujemny - wskazanie zatrzymania dla krótszych składów (W32).
drugi paramer dodatni - długość peronu (W4).

* pulpity sterowania oparte na kontrolerze Arduino moga sterowac plynnie kranem hamulca dodatkowego

* w trybie ruchu na zewnatrz pojazdu wskazanie mysza i klikniecie na elemencie scenerii pozwala odczytac na panelu F11 podstawowe informacje na temat tego elementu

* panel F11 wyswietla odleglosc miedzy aktualna pozycja kamery i polozeniem ostatnio wybranego elementu scenerii

* w trybie edycji (aktywny panel F11) i przy zalaczonym trybie debug wyswietlane sa takze zdefiniowane w scenerii komorki pamieci

* AI powinno zwracac baczniejsza uwage na obciazenie sieci trakcyjnej, potencjalnie redukujac liczba przeciazen przy duzym ruchu

* dodatkowy tryb (4) aktywacji submodeli "swiatel" w obiektach; tryb ten konfigurowany jest i dziala tak samo jak tryb 3, ale dodatkowo gwarantuje wylaczenie swiatla w poznych godzinach nocnych, od 1-ej do 6-ej rano.

* w trybie edytora (F11) dostepne sa podstawowe operacje modyfikowania polozenia modeli 3d
- klikniecie/przytrzymanie LPM na obiekcie i przesuwanie myszy = zmiana polozenia; wcisniecie Ctrl przy zmianie polozenia = wyrownanie polozenia w pionie do wysokosci terenu
- klikniecie/przytrzymanie LPM na obiekcie i przesuwanie myszy gora/dol przy wcisnietym klawiszu Shift = zmiana polozenia w pionie
- klikniecie/przytrzymanie LPM na obiekcie i przesuwanie myszy lewo/prawo przy wcisnietym klawiszu Alt = obrot; wcisniecie Ctrl przy obrocie = zaokraglenie wartosci kata do najblizszej wielokrotnosci 15 stopni

* jesli w promieniu dzialania eventlaunchera znajduje sie model 3d o takiej samej nazwie, wskazanie modelu mysza w trybie freefly i klikniecie na nim lewym przyciskiem aktywuje rzeczony eventlauncher (jesli launcher ma zdefiniowane dwa eventy, drugi event uruchamiany jest przez klikniecie z wcisnietym Shift)

* rozszerzona wersja panelu F1 wyswietla rowniez nachylenie toru po ktorym porusza sie pojazd

* dodano mozliwosc konfiguracji funkcji aktywowanych kolkiem myszy. Konfiguracja umieszczona jest w pliku eu07_input-mouse.ini w katalogu symulatora. Funkcje przypisywane sa wg skladni
wheel funkcja_1 funkcja_2
gdzie funkcja_1 wywolywana jest przy kreceniu 'od siebie' zas funkcja_2 przy kreceniu 'do siebie'.

* dodane nowe urzadzenia kabinowe do obslugi drzwi:
doorleftoff_sw: // przycisk zamkniecia lewych drzwi
doorrightoff_sw: // przycisk zamkniecia prawych drzwi
dooralloff_sw: // przycisk zamkniecia wszystkich drzwi. domyslny skrot klawiszowy: Ctrl + /
doorlefton_sw: // impulsowy przycisk otwarcia lewych drzwi
doorrighton_sw: // impulsowy przycisk otwarcia prawych drzwi

* w przypadku umieszczenia w pliku .fiz w sekcji Doors wpisu
DoorClosureWarningAuto=Yes
przyciski zamykania drzwi po wcisnieciu uruchamiaja sygnal dzwiekowy; wylaczenie sygnalu i faktyczne zamkniecie drzwi nastepuje w takiej sytuacji po puszczeniu przycisku

* w pliku .mmd w sekcji internaldata: mozna zdefiniowac dodatkowe dzwieki:
linebreakerclose: // odgrywany przy zamknieciu wylacznika szybkiego
linebreakeropen: // odgrywany przy otwarciu wylacznika szybkiego

* AI prowadzaca sklad rozpoznaje dodatkowa komende:
SetLights czolo_skladu tyl_skladu
po otrzymaniu ktorej w trybie jazdy rozkladowej AI ustawia swiatla skladu wedlug podanej specyfikacji. Normalna obsluga swiatel zostaje przywrocona automatycznie przy zmianie trybu pracy, lub po otrzymaniu komendy SetLights -1 -1

specyfikacja zapalonych swiatel to suma wartosci przypisanych poszczegolnym swiatlom
1 // lewy reflektor
2 // lewe swiatlo czerwone
4 // gorny reflektor
16 // prawy reflektor
32 // prawe swiatlo czerwone
64 // tabliczki konca skladu
wartosc -1 oznacza domyslny uklad swiatel.

* przy wczytywaniu danych z pliku .scn obiekty zawarte w pliku .inc sa grupowane razem. Operacje przesuwania i/lub obracania elementow w edytorze dokonywana jest na calej grupie

* sterownik hamulca zmienia tryb pracy po okreslonym czasie od zaniku hamowania ED

* w pliku .mmd w sekcji sounds: zdefiniowac mozna dodatkowe dzwieki:
doorlock: // aktywacja blokady drzwi
doorunlock: // zwolnienie blokady drzwi

* w pliku .mmd w sekcji internaldata: zdefiniowac mozna wpisem huntingnoise: dzwiek odtwarzany w kabinie gdy dany pojazd wezykuje

* przy eksporcie scenerii z poziomu edytora elementy oryginalnie utworzone przez plik .inc grupowane sa razem. Zawartosc poszczegolnych grup w pliku .scn umieszczona jest miedzy identyfikatorami group i endgroup

* zastosowanie napelniania uderzeniowego przez AI uwzglednia typy hamulcow pojazdow w skladzie

* informacje dla developerow z ekranow f3, f8, f9 i f1 w trybie debug zostaly zebrane i przeniesione do nowego okna dostepnego pod klawiszem f12. Wyjscie z programu zostalo przeniesione do mini-menu otwieranego klawiszem Esc.

* stopien widocznosci paneli interfejsu uzytkownika mozna regulowac wpisem w pliku eu07.ini,
ui.bg.opacity X
gdzie X to wartosc w przedziale 0.0-1.0, domyslnie 0.65

* sterowanie przelaczenie kamer zostalo przeniesione pod kombinacje Ctrl+1-9

* wyswietlanie submodeli ladunku w zaleznosci od stopnia zaladowania pojazdu obejmuje rowniez ladunki wagonow towarowych. Wyswietlanie realizowane jest na zasadach podobnych do modeli pasazerow: w modelu glownym pojazdu (nie w lowpoly, bo tego wagony towarowe z reguly nie maja) sprawdzane jest wystepowanie submodeli (wystarczy ze jest to banan) o nazwie external_loadXX gdzie XX to kolejne liczby 00, 01 itp. Nastepnie w aktualnym modelu ladunku pojazdu dla kazdej tak utworzonej "sekcji" wyszukiwane sa submodele o takiej samej nazwie. Rowniez tutaj submodel moze byc bananem, jako ze faktyczne "sztuki" ladunku do wyswietlenia to submodele potomne. Utworzone "sekcje" submodeli wyswietlane sa losowo, zas submodele w obrebie sekcji aktywowane sa w kolejnosci wystepowania w pliku t3d

* pozycja w ktorej wyswietlany jest model ladunku moze zmieniac sie linearnie w zaleznosci od stopnia zaladowania pojazdu. Wielkosc przesuniecia okreslana jest w pliku .fiz pojazdu w sekcji Load: parametrem LoadMinOffset=X gdzie X to przesuniecie modelu (w metrach) jakie powinno miec miejsce przy minimalnej ilosci ladunku.

* dodano mozliwosc ustawienia konkretnego czas rozpoczecia scenariusza. Definicji dokonuje sie wpisem w pliku eu07.ini scenario.time.override X gdzie X to godzina rozpoczecia. Minuta rozpoczecia podawana jest jako ulamek, tzn np. 10:30 zapisywana jest jako 10.5

* przy podawaniu nazwy tekstury w pliku .mat mozliwe jest opcjonalnie podanie zestawu wartosci zamknietego w klamrach [ ] Z zestawu takiego przy wczytywaniu wybrana zostanie losowo jedna z wartosci (podobnie jak ma to miejsce dla zestawow dzwiekow)

* przy definiowaniu toru mozliwe jest tez okreslenie promienia jego luku pionowego; definicja realizowana jest wpisem wlasciwosci opcjonalnej vradius X gdzie X to promien luku pionowego toru, w metrach

* odcinki izolowane moga byc laczone w grupe; utworzona w ten sposob grupa dziala jak kazdy inny odcinek izolowany ale odzwierciedla stan zbiorczy swoich skladowych, czyli sygnalizuje zajetosc gdy zajety jest ktorykolwiek z odcinkow podrzednych. Definicji dokonuje sie wpisem
area grupa odcinek1 odcinek2 odcinek3 (itp) endarea
gdzie odcinek1, odcinek2 itp to nazwy odcinkow izolowanych ktore wlaczone zostana do odcinka zbiorczego o nazwie grupa

* dodane urzadzenia kabinowe, definiowane w pliku .mmd:
i-hvoltageb: // lampka wysokiego napiecia w czlonie B
i-dashboardlight: // oswietlenie pulpitu
i-timetablelight: // oswietlenie rozkladu jazdy
dashboardlight_sw: // przelacznik stanu oswietlenia pulpitu
timetablelight_sw: // przelacznik stanu oswietlenia rozkladu jazdy

* dzwieki odjazdu moga byc rowniez umieszczone w katalogu sounds/ gdzie szukane sa w drugiej kolejnosci

* parametr losowego opoznienia uruchomienia eventu randomdelay moze byc teraz podany dla kazdego rodzaju eventu

* uruchomienie eventu warunkowanego moze zalezec teraz od wiecej niz jednego czynnika. Poszczegolne warunki wpisujemy po kolei po slowie kluczowym condition

* zamiast nazwy pojedynczego obiektu na ktory ma dzialac dany event mozna podac nazwy dowolnej liczby obiektow rozdzielone znakiem | Po uruchomieniu event wykona swoja funkcje po kolei na wszystkich podanych obiektach. W przypadku gdy taki zestaw obiektow zostanie podany dla eventow uruchamianych warunkowo, to warunek zostanie uznany za spelniony tylko wtedy, gdy jest on spelniony dla wszystkich podanych obiektow.

* parametr przesuniecia ladunku LoadMinOffset oprocz pojedynczej wartosci moze teraz przyjmowac ich zbior rozdzielony przecinkami, w taki sam sposob w jaki definiowana jest lista obslugiwanych ladunkow. Poszczegolne ladunki beda w takiej sytuacji mialy przypisane kolejne wartosci parametru LoadMinOffset. Jesli ladunkow jest wiecej niz wartosci przesuniecia, ostatnia podana wartosc bedzie uzyta dla pozostalych ladunkow.

* dodana wizualizacja opadow deszczu i sniegu, w przypadku ustawienie parametru zachmurzenia dla scenariusza w przedziale 1-2. W przypadku opadow deszczu odtwarzany jest rowniez odpowiedni dzwiek

* dodane urzadzenie kabinowe wyboru trybu dzialania hamulca, brakeopmode_sw:

* wyprowadzone dla modulu pythona:
- stan trybu dzialania hamulca, brake_op_mode_flag
- stan nastawy opoznienie hamulca, brake_delay_flag

* przy kalkulacji progu zalaczenia swiatel w obiektach uwzgledniany jest rowniez poziom zachmurzenia

* obecnosc opadow wplywa automatycznie na parametry mgly zdefiniowane dla scenerii

* w przypadku gdy parametr pyscreen: w pliku .mmd zawiera sciezke dostepu skrypt wyszukiwany bedzie bezposrednio w podanej lokacji, zamiast w katalogu danego pojazdu

* definiujac urzadzenia kabinowe mozna skonfigurowac dany przelacznik jako impulsowy uzywajac w jego definicji wpisu type: return

* w pliku .mmd zdefiniowac mozna dzwiek odtwarzany gdy zalaczone jest ogrzewanie skladu; dzwiek ogrzewania moze byc dzwiekiem skladanym uzaleznionym od biezacych obrotow silnika. Definicji dokonuje sie wpisem heater: w sekcji sounds:

* w pliku .mat mozna zdefiniowac 'fizyczne' rozmiary tekstury w metrach, wpisem
size: X Y
tak zdefiniowana wielkosc tekstury uzywana jest przy teksturowaniu torow, drog itp, zastepujac wielkosc podana we wpisie node.

* w przypadku podania parametru zachmurzenia dla scenariusza jako liczby ujemnej -X faktyczne zachmurzenie bedzie wartoscia losowa w przedziale (0, X).
« Ostatnia zmiana: 02 Października 2018, 22:30:30 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #8 dnia: 04 Października 2018, 02:00:00 »
Cytuj
* wstepna obsluga wentylatorow motorow trakcyjnych
- wpisy konfiguracyjne w pliku .fiz
// w sekcji Engine:
MotorBlowersSpeed=X // predkosc obrotowa, gdzie X > 0 to mnoznik biezacych obrotow silnika glownego (np. 1.5 ) zas X < 0 to stala ilosc obr/min (np -1500)
// w sekcji Cntrl.
MotorBlowersStart=X // sposob uruchomieniu, gdzie X to jedna z wartosci:
Manual // start reczny, praca uzalezniona od pracy silnika glownego
Automatic // start automatyczny razem z silnikiem glownym
Mixed // start reczny lub automatyczny razem z silnikiem glownym
Battery // start automatyczny razem z zalaczeniem baterii
Converter // start automatyczny razem z zalaczeniem przetwornicy
- dodane urzadzenia kabinowe
motorblowersfront_sw: // przelacznik stanu przednich wentylatorow, domyslnie pod klawiszem shift+N
motorblowersrear_sw: // przelacznik stanu tylnych wentylatorow, domyslnie pod klawiszem shift+M
motorblowersalloff_sw: // wylacznik wszystkich wentylatorow, domyslnie pod klawiszem ctrl+M
- dodany obsluga dzwieku wentylatorow, definiowanego wpisem motorblower: w sekcji sounds: pliku .mmd Zrodla dzwieku pozycjonowane sa w lokacjach tractionmotors: (przesuniecie na osiach X i Y potencjalnie pobierane jest z parametru offset we wpisie dzwieku) Dzwiek wentylatorow moze byc dzwiekiem skladanym, wybor probki nastepuje na podstawie aktualnej predkosci obrotowej wentylatora.

* dodana opcja autogeneracji podsypek rozjazdow; przy wczytywaniu plikow .scn exe ignoruje wpisy dla dotychczasowych modeli podsypek (oraz trojkatow geometrii z teksturami rozjazdow krzyzowych i zamiast tego tworzy automatycznie podsypki z tekstura zapozyczona z sasiedniego toru (od strony iglic) funkcjonalnosc mozna wylaczyc wpisem w eu07.ini
createswitchtrackbeds no // (yes) automatyczna generacja podsypek rozjazdow

* dodana mozliwosc definicji konkretnej tekstury do pomalowania wygenerowanej podsypki rozjazdu. Do definicji sluzy wpis
trackbed nazwa_tekstury
w sekcji parametrow opcjonalnych node switch

* poziom mgly i/lub opadow w scenariuszu wplywa na pseudo-rozmycie punktow swietlnych

* dodane urzadzenie kabinowe, lampka sygnalizujaca brak zalaczenia blokady drzwi; nazwa urzadzenia w pliku .mmd to i-door_blockedoff:

* w pliku .mmd w sekcji internaldata: zdefiniowac mozna wpisem startjolt: dzwiek szarpniecia generowany przez pojazd podczas przyspieszania przy niskiej predkosci (5-15 km/h)

* przy wstawianiu do scenerii modelu statycznego wyposazonego w swiatla mozna opcjonalnie podac kolor freespotow powiazanych z tymi swiatlami; definicja kolorow dokonywana jest opcjonalnym wpisem
node ... model ...
 lightcolors kolor_swiatla_0 kolor_swiatla_1 kolor_swiatla_2 // itp, -1 oznacza pozostawienie wartosci zdefiniowanej w modelu 3d
endmodel
gdzie kolor_swiatla_X to wartosc RGB w zapisie szesnastkowym. Wpis lightcolors moze wystepowac w polaczeniu z dotychczasowym wpisem lights w dowolnej kolejnosci

* przy definiowaniu torow mozna rowniez opcjonalnym wpisem railprofile X okreslic profil szyny jaki powinien byc zastosowany dla danego odcinka. Definicja danego profilu pobierana jest z pliku railprofile_X.txt zlokalizowanego w katalogu models/tory

* wszedzie gdzie do tej pory podawane bylo odwolanie do pliku tekstury mozna umiescic wywolanie skryptu pythona ktory powinien wygenerowac teksture, na zasadach podobnych co skrypty wyswietlaczy w lokomotywach. Skladnia wywolania wyglada nastepujaco:
make:sciezka/skrypt?parametr=wartosc&parametr=wartosc&parametr=wartosc // etc
wpis taki spowoduje (jednorazowe) wywolanie skryptu skrypt.py zlokalizowanego w katalogu sciezka. Przy uruchomieniu skrypt otrzyma dictionary ze zbiorem zdefiniowanych w wywolaniu par [parametr, wartosc]

* oswietlenie kabin pojazdu zostalo wlaczone do systemu oswietlenia przedzialow

* dodany system kamer zewnetrznych; wybor i przelaczanie pomiedzy dostepnymi kamerami odbywa sie poprzez kombinacje shift-f4, powrot do kabiny poprzez klawisz f4.

* modyfikacje polozenia kamer zewnetrznych powiazanych z pojazdem sa zapamietywane (zmiana pojazdu powoduje przywrocenie wartosci domyslnych)

* pozycje 'lusterek' w pojezdzie kalkulowane sa na podstawie szerokosci pojazdu zdefiniowanej w pliku .fiz

* submodele urzadzen kontrolnych i wskaznikow wyszukiwane sa rowniez w modelu lowpoly

* modyfikacje w obsludze systemu lowpoly:
-- wersja lowpoly poszczegolnych kabin rozpoznawana jest w modelu lowpoly wg nazwy submodelu. Kabina A jest identyfikowana po nazwie cab1, kabina B to cab2 zas maszynownia cab0. Jako dana kabina traktowane sa rowniez obiekty potomne danego submodelu
-- zdefiniowane w pliku .mmd lowpoly rysowane jest zawsze, oprocz aktualnie obsadzonej sekcji w prowadzonym pojezdzie
-- poszczegolne kabiny zapamietuja swoj wlasny stan przelacznikow oswietlenia
-- w przypadku pojazdow z jedna tylko "prawdziwa" kabina (jak np SM42 lub jej modernizacje) nalezy poinformowac o tym exe uzywajac wpisu
jointcabs: true
w pliku .mmd pojazdu

* dodane urzadzenie kabinowe: wskaznik cisnienia w zbiorniku pantografow, definiowany jako pantpress:

* AI zalacza baterie w wagonach skladu w momencie objecia kontroli zamiast dopiero po dojezdzie do pierwszej stacji

* dzwiek zapinania/rozpinania sprzegow generowany jest rowniez dla pozostalych skladow oraz w sytuacji laczenia sie automatycznych sprzegow

* rozpinanie sprzegow wymaga nieco mniejszej precyzji dociskania

* ai zwraca uwage na stan wylacznika szybkiego we wszystkich kontrolowanych pojazdach, zamiast tylko w obsadzonym

* punkty swietlne sa mniej wiecej widoczne przynajmniej z 500 m bez wzgledu na warunki pogodowe

* w przypadku podania ujemnej predkosci animacji dla eventu animacji typu rotate animowany element wykona tylko obrot o podana wartosc, bez zapetlania

* dodatkowa diagnostyka przy wczytywaniu modeli w formacie t3d, w przypadku zle sformowanych danych submodelu

* dodana wersja oswietlenia przyrzadow i-instrumentlight_a: aktywujaca sie automatycznie po zalaczeniu baterii

* dodany wskaznik cisnienia w przewodzie zasilajacym scndpress:

* mapa odbic jest obslugiwana rowniez przy rysowaniu kabiny

* panel F12 podaje rowniez aktualny tryb pracy hamulca

* dodatkowe zmienne dla modulu pythona
scenario // nazwa pliku aktualnego scenariusza
train_brakingmassratio // podany w rozkladzie wymagany procent masy hamujacej skladu
train_enginetype // podany w rozkladzie typ lokomotywy ciagnacej sklad
train_engineload // podane w rozkladzie obciazenie lokomotywy
train_atpassengerstop // flaga ustawiana gdy sklad znajduje sie w peronie aktualnej stacji rozkladu jazdy

* w pliku .ini mozna okreslic czestotliwosc odswiezania odbic otoczenia, parametrem gfx.reflections.framerate X gdzie X = ilosc aktualizacji na sekunde

* w logu umieszczana jest rowniez nazwa komorki na ktorej wykonywany jest test memcompare

* dla modulu pythona pod zmienna light_level dostepny jest aktualny poziom swiatla slonecznego

* parametr brakestep wplywa rowniez na wielkosc przesuniecia kranow typu FV4a

* dodane kontrolki stanu kabinowych urzadzen universalX: definiowane w pliku .mmd wpisem i-universalX:

* dodana emulacja systemu zezwalania na otwieranie drzwi przez pasazerow. W ramach systemu:
- dodane urzadzenia:
doorleftpermit_sw: // zezwolenie na otwieranie drzwi lewych, domyslnie pod kombinacja shift + ,
doorrightpermit_sw: // zezwolenie na otwieranie drzwi prawych, domyslnie pod kombinacja shift + .
doorallon_sw: // otwarcie centralne drzwi na otwarcie ktorych wydano zezwolenie, domyslnie pod kombinacja shift + /
- dodane lampki:
i-doorpermit_left: // stan zezwolenia drzwi lewych
i-doorpermit_right: // stan zezwolenia drzwi prawych
i-doors: // sygnalizacja otwarcia drzwi w skladzie (bez wzgledu na strone)
- zmiany w systemie konfiguracji drzwi: w sekcji Doors pliku .fiz tryb AutomaticCtrl nie jest juz uzywany, zamiast tego pozostale typy drzwi uwzgledniaja opcjonalne wpisy DoorStayOpen=X (drzwi zamykaja sie automatycznie po X sekundach jesli otwarte zostaly lokalnie przez pasazera) oraz DoorAutoCloseVel=X (drzwi zamykaja sie automatycznie jesli predkosc pojazdu przekroczy X km/h) Pojazdy w ktorych otwieranie drzwi przez pasazerow wymaga udzielenia zgody przez mechanika wymagaja wpisu w sekcji Doors pliku .fiz
DoorNeedPermit=Yes

* dodana obsluga urzadzenia kabinowego doorpermitpreset_sw: pokretla umozliwiajacego wybor drzwi ktore moga byc otwarte (przez pasazerow lub przyciskiem centralnego otwierania drzwi)
- w pliku .fiz w sekcji Doors mozliwa jest konfiguracja zezwolen udzielanych w poszczegolnych polozeniach wpisami
DoorPermitList=konfiguracja|konfiguracja|konfiguracja|etc // konfiguracja: liczba w zakresie 0-3 gdzie 0=brak zezwolen, 1=zezwolenie obslugi drzwi lewych, 2=prawych, 3=wszystkich
DoorPermitListDefault=X // domyslnie ustawiona pozycja pokretla z zestawu zdefiniowanego przez wpis DoorPermitList, pozycje numerowane sa od 1

* wpis dzwieku tachometru w pliku mmd reaguje na opcjonalne parametry glosnosci

* dodatkowy typ oswietlenia przyrzadow, i-instrumentlight_l: aktywujacy sie przy zalaczeniu w pojezdzie reflektorow

* automatyczne zamykanie po uplywie danego czasu drzwi otwartych centralnie moze byc kontrolowane wpisem w sekcji Doors pliku .fiz DoorAutoCloseRemote=Yes/No (domyslnie No)

* ekran F2 w trybie rozszerzonym podaje aktualna dlugosc skladu oraz rozkladowa i rzeczywista wartosc brutto.

* dodane urzadzenia kabinowe
doorstep_sw: // przelacznik stanu stopnia drzwi
i-doorstep: // kontrolka wybranego stanu stopnia drzwi

* dodana mozliwosc udzwiekowienia wskazowki sekundowej zegarka w tachometrze za posrednictwem urzadzenia kabinowego clock_seconds: Wykorzystanie funkcjonalnosci wymaga podania wpisu konfiguracyjnego przed wpisem clock: analog.

* dodane urzadzenie kabinowe, jointctrl: stanowiace polaczenie nastawnika jazdy i hamowania

* dla modulu pythona dostepna jest informacja o wysunieciu stopnia drzwi, za posrednictwem kluczy doorstep_l_X oraz doorstep_r_X gdzie X to numer pojazdu w skladzie, "r" odpowiada stronie prawej a "l" stronie lewej.

* dodany tryb pracy AI, Loose_shunt Dziala on w duzej mierze tak samo jak zwykly tryb Shunt i akceptuje takie same parametry, ale powoduje ze zamiast zatrzymywac sie w bezpiecznej odleglosci przed napotkanym skladem, AI bedzie probowalo ten sklad popychac (bez koniecznosci sprzegania) z predkoscia ok. 8 km/h

* przy wywolaniu trybu Loose_shunt jako operacji polaczenia i rozlaczenia (podajac komende Loose_shunt X Y) jesli podany typ sprzegu (parametr Y) jest wartoscia dodatnia to po zakonczeniu operacji rozlaczania AI bedzie kontynuowac jazde w kierunku skladu, pchajac go przed soba

* w trybie Loose_shunt w przypadku gdy popychane przez AI pojazdy sa zahamowane ich hamulce zostana wyluzowane "recznie", bez koniecznosci polaczenie

* dodane okienko informacji na temat scenariusza, dostepne pod klawiszem F3. W oknie tym podawane jest aktualne polecenie dla danego skladu oraz, opcjonalnie, ogolny opis misji dla danego skladu. Opis jest odpowiednikiem wpisu //$o z ktorego korzysta Rainsted i definiowany jest jako dodatkowa sekcja we wpisie trainset:
trainset
assignment
pl "zlecenie dla skladu, wyswietlone gdy ustawiony jest jezyk polski"
en "assignment for this consist, shown when language is set to english"
endassignment
endtrainset
(opis misji moze obejmowac rowniez wersje jezykowe inne niz pl i en)

* dodane urzadzenia kabinowe:
coolingfans_sw: // przelacznik wymuszajacy prace wentylatorow oporow rozruchowych
i-coolingfans: // kontrolka pracy wentylatorow oporow rozruchowych
tempomat_sw: // dedykowany przelacznik stanu tempomatu

* dodany nastawnik MHZ_6P dla pojazdow z rodziny Traxx

* dodana mozliwosc przypisania w pliku .mmd pojazdu modeli .t3d, ktore powinny zostac uzyte do wizualizacji ladunkow. Pozwala to na wykorzystanie tych samych modeli w kilku pojazdach, bez koniecznosci klonowania ich dla kazdego typu z osobna. Przypisanie modeli umieszczone jest w sekcji models/endmodels w formacie:
loads: {
 typ: model_ladunku // np. passengers: passengers_110_1stclass
 typ: model_ladunku
 // itd
}
zamiast pojedynczego modelu ladunku mozliwe jest podanie zestawu modeli w klamrach [] czyli np [ ladunek1 ladunek2 ladunek3 ]  W takiej sytuacji dla danego pojazdu model ladunku wybrany zostanie losowo z podanego zestawu.

* lampki stanu drzwi w kabinie B nie wymagaja juz odwrotnego przypisania im submodeli

* sprzegi automatyczne lacza sie samoistnie tylko z innymi sprzegami automatycznymi

* dodane nowe urzadzenie kabinowe, lampke sygnalizujaca fakt zalaczenia tempomatu, i-tempomat:

* w wagonach ktorych plik .fiz definiuje obecnosc ogrzewania zalaczane sa rowniez przetwornice, aktywowane jesli dany wagon otrzyma za posrednictwem sprzegu wysokie napiecie

* tablice relacyjne z ustawionym parametrem self-illum wyswietlaja wersje "aktywna" tylko jesli pojazd ma zalaczona baterie

* tablice relacyjne moga byc generowane dynamicznie przez skrypt pythona na podstawie aktualnego rozkladu. Zdefiniowany w pliku .mmd pojazdu skrypt zostanie uruchomiony w sytuacji, gdy dotychczasowe metody wyszukiwania tablicy nie znajda zadnego pasujacego egzemplarza. Definicja w pliku .mmd umieszczana jest w sekcji internaldata: i wyglada nastepujaco:
pydestinationsign: { skrypt instance: X parameters: Y }
gdzie
skrypt // nazwa skryptu generujacego teksture, z opcjonalna sciezka dostepu; przy braku sciezki skrypt wyszukiwany bedzie w folderze danego pojazdu
instance: X // opcjonalny parametr pozwalajacy generowac odrebne tekstury dla pojazdow w danym skladzie, uzywajacych tego samego skryptu. na chwile obecna X moze byc jedna z dwoch wartosci: name (nazwa danego pojazdu) lub type (typ danego pojazdu)
parameters: Y // opcjonalne dodatkowe parametry jakie otrzyma wywolany skrypt, gdzie Y to ciag w postaci parametr=wartosc&parametr=wartosc&parametr=wartosc (itd)

* dzwiek pisku kol na lukach szyn moze byc rowniez dzwiekiem skladanym; wybor probki dokonywany jest na podstawie predkosci pojazdu

* drzwi pojazdow typu AutomaticCtrl otwieraja sie i zamykaja automatycznie na podstawie udzielonego zezwolenia

* przyciski zezwolenia dla drzwi moga byc definiowane jako impulsowe lub bistabilne

* punkt wystepowania mgly na scenerii losowany jest z zakresu definiowanego przez wartosci fog_start i fog_end we wpisie atmo

* dodatkowe klucze dostepne dla modulu pythona, train_stationfrom oraz train_stationto odpowiadajaca poczatkowej i koncowej stacji w przypisanym do pojazdu rozkladzie

* parametr AIM w sekcji Engine pliku .fiz pozwala rowniez zdefiniowac predkosc zmiany obrotow silnika dla pojazdow z napedem spalinowo-elektrycznym. Wartosc domyslna parametru dla napedu spal-ele, odpowiadajaca dotychczasowemu zachowaniu, to 1.25

* kalkulacja oporow powietrza uwzglednia redukcje oporu przez pojazd poprzedzajacy

* poziom glosnosci komunikatow radiowych moze byc modyfikowany parametrem w pliku .ini sound.volume.radio X gdzie X to liczba w zakresie 0.0-1.0 bedaca mnoznikiem glosnosci bazowej

* skrypty pythona powinny otrzymywac informacje o pozycji nastawnikow z pojazdu kontrolowanego zamiast obsadzonego

* metoda uruchomienia sprezarki pantografow moze byc definiowana w pliku .fiz wpisem PantCompressorStart w sekcji Cntrl.

* przycisk stanu baterii moze byc skonfigurowany jako impulsowy

* dodane urzadzenie kabinowe, przelacznik doormode_sw: pozwalajacy na przelaczenie sterowania drzwiami miedzy trybem indywidualnym i centralnym; przycisk domyslnie obslugiwany jest kombinacja Shift + Ctrl + /

* dodany tempomat dla EZT z napedem asynchronicznym

* przy podawaniu godzin przyjazdu i odjazdu w rozkladzie mozna rowniez podac dziesietne czesci minuty (poprzedzone kropka)

* po zatrzymaniu sie na przystanku kolorem sygnalizowana jest koniecznosc postoju (celem wymiany pasazerow, lub w oczekiwaniu na czas odjazdu)

* czlon rozrzadczy w skladzie moze kontrolowac rowniez pojazd/czlon silnikowy podlaczony kablem sterujacym

* przycisk zalaczania ogrzewania moze byc skonfigurowany jako impulsowy

* dodana obsluga zintegrowanego nastawnika w pojazdach z silnikiem diesla

* wirtualny mechanik pamieta o zalaczeniu ogrzewania skladu

* tabelka rozkladu jazdy odwzorowuje graficznie typ linii na danym odcinku (jedno/dwutorowa) Ilosc torow dostepna jest dla modulu pythona jako parametr train_stationX_tracks gdzie X to numer stacji w rozkladzie

* panel f12 otrzymal nowa sekcje, wyswietlajaca prad generowany przez wszystkie zdefiniowane podstacje. Kolorami akcentowane sa podstacje obciazone ponizej bezpiecznego poziomu oraz wylaczone.

* kolorowanie sieci trakcyjnej uzaleznione jest teraz od dedykowanego przelacznika

* urzadzenia grzewcze w skladzie pobieraja prad zgodnie z zapotrzebowaniem

* wpis konfiguracyjny przycisku zamykania wszystkich drzwi moze miec podana flage type=delayed ktora spowoduje ze faktyczne zamkniecie drzwi nastapi dopiero po puszczeniu przycisku, zamiast natychmiast po jego wcisnieciu

* zachowanie zaworu sprezarki pantografow (automatyczny/reczny) moze byc skonfigurowane wpisem w sekcji Cntrl. pliku fiz, PantAutoValve=X gdzie X moze miec wartosc Yes lub No (w celu zachowania zgodnosci wstecznej tryb automatyczny jest ustawiany domyslnie dla EZT, a reczny dla pozostalych)

* wczytywanie plikow fiz jest wykonywane przy uzyciu wewnetrznego parsera, co teoretycznie umozliwia stosowanie dyrektyw include (rowniez z parametrami)

* dodany tryb pracy nastawnika uniwersalnego pozwalajacy obslugiwac hamulec skladu zamiast hamulca lokalnego
« Ostatnia zmiana: 13 Czerwca 2019, 01:53:34 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #9 dnia: 14 Czerwca 2019, 21:27:38 »
Cytuj
* dodana wstepna implementacja pradnicy jako zrodla pradu dla ogrzewania skladu; konfiguracja pradnicy w pliku .fiz wyglada nastepujaco:
Clima: Heating=Generator HGeneratorEngine=Main HGeneratorMinRPM=696 HGeneratorMinVoltage=2400 HGeneratorMaxRPM=1500 HGeneratorMaxVoltage=3300
gdzie:
HGeneratorEngine // typ silnika napedzajacego pradnice; na ten moment faktycznie obslugiwany jest tylko typ Main oznaczajacy spiecie z 'glownym' silnikiem pojazdu
HGeneratorMinRPM // dolna wartosc zakresu 'roboczego' pradnicy, w obrotach na minute
HGeneratorMinVoltage // napiecie generowane przy dolnej roboczej predkosci obrotowej
HGeneratorMaxRPM // gorna wartosc zakresu 'roboczego' pradnicy, w obrotach na minute
HGeneratorMaxVoltage // napiecie generowane przy gornej roboczej predkosci obrotowej

* rysowanie cieni w kabinie moze opcjonalnie obejmowac cienie rzucane przez otoczenie pojazdu (slupy trakcji, drzewa, mijane sklady itp) Opcja aktywowana jest wpisem w pliku .ini gfx.shadows.cab.range X gdzie X to ~promien (w metrach) obszaru uwzglednianego przy rysowani cieni.

* w pliku .fiz mozna zdefiniowac czas potrzebny do "aktywacji" glownego obwodu/wylacznika szybkiego po otrzymaniu wysokiego napiecia. Do definicji sluzy wpis MainInitTime=X w sekcji Cntrl. gdzie X to czas aktywacji ukladu w sekundach. Stan inicjalizacji dostepny jest rowniez z poziomu pythona pod kluczem main_init a gotowosc do zamkniecia wylacznika szybkiego pod kluczem main_ready

* oprocz standardowych eventlauncherow mozliwe jest rowniez definiowanie eventlauncherow uruchamianych poprzez wyslanie z pojazdu sygnalu radiowego ZEW3. Eventlauncher uruchamiany radiem definiowany jest tak samo jak zwykly eventlauncher, ale jako klawisz aktywujacy podany ma ciag radio_call3 Sygnal ZEW3 wysylany jest domyslnie klawiszem Backspace, o ile w pojezdzie znajduje sie zalaczona radio ustawione na kanal inny niz 10

* dodane urzadzenie kabinowe, przycisk sygnalu radia ZEW3 definiowany wpisem radiocall3_sw:

* dodane urzadzenia kabinowe:
heatingvoltage: // woltomierz pradnicy grzewczej
heatingcurrent: // amperomierz pradnicy grzewczej

* klawisze przejscia do poprzedniej/nastepnej kabiny i pojazdu powinny przemieszczac uzytkownika w danym kierunku bez wzgledu na potencjalny obrot pojazdu w skladzie

* dodana obsluga zrodel dymu:
-- definicje parametrow dla zrodla umieszczane sa w plikach tekstowym w katalogu data/ Nazwa pliku powinna zaczynac sie od ciagu smokesource_
-- zrodlo wszczepiane jest do modelu poprzez wstawienie "banana" o nazwie takiej samej jak nazwa pliku definiujacego parametry dane zrodlo dymu. Jedyne parametry submodelu ktore brane sa pod uwage to wlasnie nazwa (okreslajaca nazwe zrodla) oraz macierz transformacji, okreslajaca punkt wylotowy dymu

* waga jednostek ladunku jest teraz umieszczona w zewnetrznym pliku data/load_weights.txt co umozliwia latwiejsze definiowanie wagi dla dodatkowych typow ladunkow

* emisja dymu moze byc kontrolowana wpisami w pliku .ini:
gfx.smoke X // gdzie X = yes/no (domyslnie yes) zalacza/wylacza obsluge dymu
gfx.smoke.fidelity X // gdzie X = wartosc w przedziale 1-4 (domyslnie 1) ilosc generowanych czastek dymu

* definicja zrodla dymu moze rowniez obejmowac kolor dymu. Kolor okreslany jest w sekcji initializer: definicji zrodla, wpisem:
color: [ R, G, B ]
gdzie R, G i B to skladowe koloru (czerwona, zielona i niebieska) w przedziale 0-255

* ciagniecie za sprzeg z sila przekraczaja jego tolerancje moze doprowadzic do zerwania rzeczonego sprzegu

* uderzenie w inny pojazd z predkoscia wyzsza niz bezpieczna moze doprowadzic do wykolejenia

* diagnostyka zderzen obejmuje dodatkowo logowanie predkosci

* identyfikator czuwaka na panelu pomocnika miga w celu poprawienia zauwazalnosci

* na port uart wysylana jest dodatkowo informacja o aktywnej kabinie (6 bajt, 2 bit) oraz stan miernika niskiego napiecia (bajty 21-22). W zwiazu z ta zmiana parametr uarttune wymaga podawania dwoch dodatkowych zmiennych, konfigurujacych miernik niskiego napiecia na takich samych zasadach jak konfigurowane sa pozostale mierniki analogowe

* skrypty pythona otrzymuja informacje z grupy diesel_param_X_ rowniez dla pojazdow z napedem spal-ele. W grupie podawany jest dodatkowy parametr, temperatura silnika dostepna pod kluczem engine_temp

* dodany alternatywny tryb przejmowania kontroli nad innym pojazdem, dostepny pod kombinacja Ctrl+F5  W trybie tym, jesli przejmujemy pojazd bedacy czescia skladu ktory juz kontrolowalismy z innego pojazdu, ai normalnie umieszczane w pojezdzie ktory opuszczamy zostaje automatycznie uspiona. Pozwala to np. na przechodzenie miedzy dwoma lub wiecej obsadzonymi EZT spietymi ze soba w trakcie scenariusza (nalezy jednak pamietac o 'recznym' ustawieniu w opuszczanym pojezdzie kranu w pozycje odciecia oraz nastawnikow jazdy/kierunku w pozycji neutralnej)

* dodana obsluga sprezynowego hamulca postojowego (definiowanego w nowej sekcji SpringBrake: pliku fiz)

* zintegrowany nastawnik moze byc pozbawiony funkcji hamowania

* z poziomu skryptow pythona mozliwy jest odczyt stanu swiatel obsadzonego pojazdu, przy pomocy kluczy lights_front oraz lights_rear

* z poziomu skryptow pythona mozliwy jest odczyt stan hamulca sprezynowego

* piaskowania reczne i automatyczne funkcjonuja odrebnie

* dodany przycisk stanu automatycznego piaskowania, autosandallow_sw:

* zalaczony hamulec sprezynowy odlacza naped

* dodany zawor bezpieczenstwa glownego cylindra oraz pokretlo programatora sprezarek, compressorlist_sw:

* zwiekszone mozliwosci konfiguracji kranow hamulca, dodane uniwersalne przyciski hamowania universalbrakeX_bt: gdzie X to wartosc w zakresie 1-3

* dodane przyciski obslugi hamulca sprezynowego, springbraketoggle_bt: springbrakeon_bt: springbrakeoff_bt:

* dodana obsluga miernika przejechanej odleglosci. Na miernik skladaja sie nastepujace elementy:
-- (opcjonalny) dzwiek distancecounter: zdefiniowany w sekcji internaldata pliku .mmd  Dzwiek odtwarzany jest gdy, po uruchomieniu miernika, pociag przejedzie dystans rowny dlugosci skladu.
-- przycisk distancecounter_sw: wcisniecie ktorego uruchamia miernik. Miernik automatycznie konczy prace po przejechaniu odleglosci rownej dlugosci skladu. Wcisniecie przycisku w trakcie pracy miernika powoduje naliczanie odleglosci od zera
-- lampka i-distancecounter: sygnalizujaca prace miernika. Lampka zapala sie gdy miernik zostanie uruchomiony i gasnie po zakonczeniu jego pracy, tzn po przejechaniu odleglosci rownej dlugosci skladu (lub po wylaczeniu zasilania w pojezdzie)
-- aktualny stan miernika dostepny jest dla skryptow pythona pod kluczem distance_counter Wartosc ujemna sygnalizuje ze miernik jest wylaczony, wartosc dodatnia to przejechana od momentu uruchomienia miernika odleglosc w metrach

* skryptom pythona udostepniony zostal stan sprezarki pantografow, dostepny pod kluczem pant_compressor

* skryptom pythona udostepniony zostala dlugosc prowadzonego skladu, dostepna pod kluczem train_length

* w plikach .mmd oprocz zwyklego tekstu mozna rowniez umieszczac parametry, na zasadach takich samych jak w plikach dolaczanych dyrektywa include. Obslugiwane sa nastepujace parametry:
(p1) // nazwa pojazdu, podana we wpisie trainset/node
(p2) // nazwa typu pojazdu, podana we wpisie trainset/node
(p3) // nazwa skorki przypisanej do danego egzemplarza, podana we wpisie trainset/node

* w pliku .mmd mozna zdefiniowac dodatkowe modele 3d ktore zostana "doczepione" do danego pojazdu. Modele te otrzymaja taki sam zestaw tekstur wymiennych jak pojazd, do ktorego sa doczepione. Definicja doczepek umieszczana jest w sekcji models: i wyglada nastepujaco:
attachments: {
 model1
 model2
// itd
}
gdzie model1, model2 itd to nazwy plikow modeli ktore powinny zostac doczepione do pojazdu (modele wyszukiwane sa w katalogu danego pojazdu). Dla kazdego modelu oprocz pojedynczej nazwy modelu mozna podac ich zestaw zamkniety w nawiasach [] co spowoduje wylosowanie jednej nazwy z tak zdefiniowanego zestawu.

* skryptom pythona udostepniony zostal stan retardera w pojazdach skladu, dostepny pod kluczem diesel_param_X_retarder_fill gdzie X to numer pojazdu w skladzie

* modele statyczne typu node model obsluguja wiecej niz jedna teksture wymienna, na takich samych zasadach jak modele pojazdow

* rozbudowana obsluga tempomatu
-- dodane urzadzenia kabinowe:
speedinc_bt: // zwiekszenie predkosci utrzymywanej przez tempomat
speeddec_bt: // zmniejszenie predkosci utrzymywanej przez tempomat
speedctrlpowerinc_bt: // zwiekszenie maksymalnego poziomu mocy dostepnej dla tempomatu
speedctrlpowerdec_bt: // zmniejszenie maksymalnego poziomu mocy dostepnej dla tempomatu
speedbuttonX: // ustalenie dla tempomatu zdefiniowanej predkosci nr X, gdzie X to wartosc w przedziale 0-9

* panel f12 wyswietla w sekcji grafiki liczbe malowanych czastek dymu

* dla skryptow pythona udostepnione zostaly informacje o stanie aktywacji tempomatu, dostepne pod kluczami speedctrlactive (tempomat zalaczony) oraz speedctrlstandby (tempomat w stanie czuwania)

* przyciski w kabinie oprocz dotychczasowego submodelu moga miec tez opcjonalny submodel z nazwa poszerzona o koncowke _on
-- wyswietlanie wersji _on jest uzaleznione od spelnienia warunku, zaleznego od funkcji konkretnego przycisku.
-- dla przycisku mozna tez zdefiniowac dodatkowe dzwieki, soundon: i soundoff: odgrywane gdy nastepuje przelaczenie miedzy wyswietlaniem submodelu domyslnego i wersji _on

* dodana kalkulacja zuzycia paliwa w pojazdach z silnikiem diesla

* zalaczenie trybu manewrowego zapobiega aktywacji czuwaka

* sklad prowadzony przez uzytkownika ma domyslnie zapalone koncowki zamiast zalozonych blach, o ile to mozliwe

* dodana pseudo-symulacja elektrozaworow czuwakowych

* domyslnym trybem wizualizacji jest szaderowy renderer, wymagajacy openGL w wersji 3.3 lub wyzszej. Dotychczasowy renderer dostepny jest poprzez ustawienie parametru gfxrenderer w pliku .ini na wartosc legacy

* dodana mozliwosc definiowania dodatkowych parametrow silnika z wykorzystaniem tabelek

* dodane przyciski regulacji glosnosci radia:
radiovolume_sw: // pokretlo wyboru glosnosci
radiovolumeprev_sw: // przycisk zmniejszenia glosnosci radia
radiovolumenext_sw: // przycisk zwiekszenia glosnosci radia

* poziom gloscnosci radia dostepny jest z poziomu pythona pod kluczem radio_volume

* pociagi osobowe zatrzymujace sie na postoju technicznym (stacje w rozkladzie z umieszczonym w konfiguracji symbolem pt) oraz pociagi towarowe ogolnie nie czekaja z odjazdem do rozkladowej godziny o ile otrzymaja wolna droge

* dodany parametr konfiguracji bufora gfx.framebuffer.fidelity X gdzie X jest wartoscia w przedziale 0-3 okreslajaca ogolna wielkosc bufora na ktorym generuje obraz renderer shaderowy, a tym samym dokladnosc/zasobozernosc wizualizacji.

* dodany parametr TransEff w sekcji Engine pliku .fiz, definiujacy sprawnosc przekladni

* uruchomiona obsluga parametru cablight: w pliku .mmd

* aktywowana obsluga CurrentCollector jako zrodla zasilania dla ogrzewania (wpis Heating= w sekcji Clima: pliku .fiz) W trybie tym zasilanie obwodu ogrzewania nie wymaga zamkniecia wylacznika szybkiego, a jedynie doplywu pradu z sieci do pantografow

* komenda Load jako drugi parametr pozwala zdefiniowac dopuszczalna odleglosc od lokacji zrodla komendy

* dodany przelacznik deaktywacji wczytywania/generowania plikow .sbt file.binary.terrain X gdzie X to yes lub no

* wsiadanie do (innego) pojazdu dostepne pod klawiszem F5 nie wymaga juz by pojazd ten mial ustawiona z gory obsade w pliku .scn

* dodany wpis dla pliku .ini maxcabtexturesize dzialajacy tak jak dotychczasowy maxtexturesize ale kontrolujacy dopuszczalna wielkosc tekstur kabiny

* przyciski universalX moga byc definiowane jako impulsowe

* definicja dzwieku moze zawierac parametr pitchvariation: X gdzie X okresla zakres z jakiego losowana jest czestotliwosc dzwieku. Przykladowo pitchvariation: 0.1 spowoduje modyfikacje czestotliwosci bazowej w zakresie +- 5% zas pitchvariation: 0 spowoduje ze dany dzwiek bedzie zawsze odtwarzany tak samo

* szaderowy silnik graficzny wykorzystuje przy malowaniu cieni tzw kaskade map (CSM) pozwalajaca na uzyskanie lepszej jakosci cieni. Poniewaz cienie zewnetrzne w tym systemie automatycznie wplywaja na oswietlenie kabiny parametr gfx.shadows.cab.range ma od tej pory zastosowanie tylko dla silnika legacy

* wizualizacja obiektow uwzglednia ich wielkosc/odleglosci od kamery, decydujac dodatkowo na tej podstawie czy powinny byc malowanie

* dodana mozliwosc konfiguracji podpietego joysticka/gamepada
-- konfiguracja przechowywana jest w pliku eu07_input-gamepad.ini
-- przypisanie funkcji do danego przycisku lub osi powinno zajmowac jedna (i tylko jedna) linijke w pliku
-- przypisanie funkcji do przycisku wyglada nastepujaco:
buttonX impulse komenda
gdzie X to liczba-identyfikator przycisku, a komenda to nazwa przypisanej komendy. Klucz impulse oznacza ze przycisk dziala impulsowo, tzn komenda generowana jest dopoki przycisk pozostaje wcisniety
-- alternatywnie przycisk moze miec funkcje zmiany trybu dzialania galek gamepada, konfigurowana nastepujaco:
buttonX mode Y
gdzie X to liczba-identyfikator przycisku, a Y to liczba-identyfikator trybu dzialania galek
-- przypisanie funkcji do galek odbywa sie na poziomie poszczegolnych osi, w sposob nastepujacy:
axisX value komenda numerparametru
// lub
axisX 3state komenda1 komenda2
gdzie X to liczba-identyfikator osi ruchu galki; w trybie value wychylenie galki powoduje wygenerowanie podanej komendy zas wartosc wychylenia (w zakresie od -1 do 1) zostanie dolaczona jako podany parametr -- numerparametru moze miec wartosc 1, 2, x lub y (1 oraz x maja ten sam efekt, podobnie jak 2 oraz y) Mozliwe jest tez podanie trybu value_inverted ktory dziala tak jak value ale odwraca wartosc polozenia galki. Wreszcie tryb 3state powoduje wygenerowanie komendy1 przy wychyleniu galki w kierunku pozytywnym, lub komendy2 przy wychyleniu w kierunku przeciwnym
-- definicja funkcji osi galki moze byc rozbudowana o dodatkowe konfiguracje, poprzez dodanie ciagu:
modeX tryb parametry
gdzie X to liczba-identyfikator, zgodna z wartoscia Y podana dla przycisku, ktory ma aktywowac dany tryb pracy. Tryb to klucz value/value_inverted/3state zas parametry zaleza od trybu, zgodnie z opisem powyzej

* silnik szaderowy pozwala na definicje parametru glossiness dla materialu.

* wybor konfiguracji pracy sprezarek jest propagowany wzdluz skladu

* pokretlo trybu pracy sprezarki moze byc skonfigurowane jako przelacznik impulsowy. W takiej konfiguracji urzadzenie przelacza sprezarki miedzy konfiguracja domyslna i kolejna po niej, w tabelce parametrow pracy sprezarek

* lampka sygnalizujaca otwarcie wylacznika szybkiego i-mainbreakeroff: ignoruje 'gotowosc' ukladu elektrycznego. Sygnalizacja 'gotowosci' WSa do zalaczenia zajmuje sie nowa lampka, i-mainbreakerready:

* dodana kontrolka stanu zablokowania przewodu glownego, i-mainpipelock:

* dodana obsluga uniwersalnego nastawnika dla pojazdow z napedem spal-ele

* dodane impulsowe przyciski kontroli stanu baterii, batteryon_sw: oraz batteryoff_sw:

* w przypadku zdefiniowania roznych wartosci parametrow MinCP oraz MaxCP w pojezdzie ze sprezarka napedzana przez silnik spalinowy, po nabiciu cisnienia do wartosci MaxCP powietrze zostaje upuszczone do poziomu MinCP (zamiast na sztywno o 20% jak ma to miejsce w przypadku gdy wartosci MinCP oraz MaxCP sa rowne)

* smuga oswietlenia na silniku szaderowym generowana jest na podstawie stanu poszczegolnych reflektorow
« Ostatnia zmiana: 01 Stycznia 2020, 00:34:52 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #10 dnia: 01 Stycznia 2020, 19:08:59 »
Z nowym rokiem nowy log
Cytuj
* dodana obsluga dzwiekow:
fuelpump: // dzwiek pracujacej pompy paliwa
waterpump: // dzwiek pracujacej pompy wody
waterheater: // dzwiek pracujacej grzalki wody

* zachowanie sprezarki spietej z silnikiem spalinowym moze byc skonfigurowane przy pomocy przelacznika CompressorTankValve w sekcji Brake pliku .fiz. Standardowo parametr ten ma wartosc No ktore oznacza ze po przekroczeniu dopuszczalnego cisnienia powietrze ze sprezarki kierowane jest do atmosfery, dopoki cisnienie w zbiorniku nie spadnie do minimalnego dopuszczalnego poziomu. W przypadku ustawienia parametru na Yes czesc powietrza upuszczana jest ze zbiornika natychmiastowo. W obu przypadkach przekroczenie cisnienia maksymalnego generuje odtworzenie dzwieku relay:

* sekcja Gfx Renderer na panelu F12 wyswietla aktualna ilosc malowanych na ramke trojkatow

* dodane urzadzenia kabinowe:
i-battery: // lampka stanu baterii
epbrake_bt: // przycisk zmiany stanu aktywacji hamulca elektropneumatycznego

* nazwy domyslnych dzwiekow wyszukiwanych przez exe przy braku dedykowanej definicji w mmd zostaly czesciowo ujednolicone:
couplerattach.wav -> couplerattach_default
couplerdetach.wav -> couplerdetach_default
en57_couplerstretch.wav -> couplerstretch_default
en57_bufferclamp.wav -> bufferclamp_default

* w sekcji Vehicle panelu f12 dostepny jest przycisk przywracajacy stan normalny pojazdu, jesli rzeczony pojazd jest uszkodzony i/lub wykolejony

* parametr LocalBrakeTraxx dziala dla wszystkich typow nastawnika

* uruchomiona obsluga wyboru pantografow:
-- dodane urzadzenie kabinowe pantselect_sw: pozwalajace na wybor kombinacji pantografow (zaden, tylny, oba, przedni). W odroznieniu od standardowych przyciskow selekcja odbywa sie wzgledem obsadzonej kabiny
-- podnoszenie/opuszczanie wybranych pantografow odbywa sie albo recznie, przy uzyciu przyciskow pantselected_sw: i pantselectedoff_sw: (ktore powinny byc skonfigurowane jako type: push) albo, w przypadku braku rzeczonych przyciskow, automatycznie na podstawie wybranej kombinacji

* dodany dzwiek otwartych zaworow czuwakowych, definiowany wpisem emergencybrake: w sekcji sounds: pliku .mmd

* zmieniona metoda tlumienia dzwiekow generowanych w lokalizacjach innych niz aktualnie zajmowana -- zamiast glosnosci modyfikowany jest zasieg dzwiekow

* obecnosc walu kulakowego w pojezdzie mozna zdefiniowac wpisem w sekcji Cntrl pliku .fiz, Camshaft=Yes/No

* pantografy ukrotnionych elektrowozow (z wyjatkiem EZT i ET41) obslugiwane sa symetrycznie -- przedni z ostatnim, tylny z sasiadem w drugim pojezdzie

* symulacja systemu pantografow zostala nieco rozbudowana. Uklad pantografow obejmuje teraz wstepny zawor elektro-pneumatyczny, oraz zawory indywidualne pantografow.
-- zawor wstepny moze byc konfigurowany wpisami w sekcji Cntrl w pliku .fiz:
PantEPValveStart=Automatic/Manual/Mixed // metoda kontroli zaworu, domyslnie automatyczna; pozostale metody pozwalaja na sterowanie zaworem poprzez urzadzenia pantselected_sw: oraz pantselectedoff_sw:
PantEPValveSpring=Yes/No // typ zaworu, monostabilny (domyslnie) lub bistabilny
-- zawory indywidualne moga byc konfigurowane wpisami w sekcji Cntrl w pliku .fiz:
PantValveStart=Automatic/Manual/Mixed // metoda kontroli zaworu, domyslnie reczna; sterowanie zaworem poprzez urzadzenia pantfront_sw: pantfrontoff_sw: (pantograf przedni) oraz pantrear_sw: pantrearoff_sw: (pantograf przedni) lub alternatywnie urzadzeniem pantselect_sw:
PantValveSpring=Yes/No // typ zaworu, monostabilny (domyslnie) lub bistabilny
PantValveSolenoid=Yes/No // zrodlo zasilania zaworu, pradem elektrycznym (domyslnie) lub mechanicznie czyli niezaleznie od stanu obwodu NN pojazdu

Wydanie Maszyny 20.01
Cytuj

* w sekcji Scenario panelu F12 umiejscowione zostaly suwaki pozwalajace na zmiane aktualnej daty symulacji i/lub poziomu zachmurzenia

* w przypadku zdefiniowania w pliku .mat parametru opacity: jego wartosc jest wykorzystywana rowniez dla geometrii polprzezroczystej (zdefiniowanej w pliku .t3d z opacity=0) W takiej sytuacji pomijana jest geometria z wartoscia kanalu alpha wyzsza niz zdefiniowana opacity: w pliku .mat

* dodana mozliwosc regulacji suwakiem odleglosci mgly

* tooltipy urzadzen kabinowych zawieraja informacje o kombinacjach klawiszy ktorymi mozna obslugiwac dane urzadzenie

* dodana mozliwosc regulacji suwakiem aktualnej godziny

* obecnosc wylacznika cisnieniowego stycznikow moze byc definiowana w sekcji Engine pliku .fiz wpisem PressureSwitch=Yes/No

* przytrzymanie klawisza Ctrl blokuje automatyczny powrot nastawnika w pojazdach w ktorych powrot taki ma miejsce

* dla scenariusza automatycznie generowanych jest kilka komorek pamieci, zawierajacych podstawowe informacje o jego biezacym stanie:
__simulation.weather // tekst opisujacy biezaca pogode, poziom zachmurzenia w przedziale 0-2 oraz odleglosc mgly w metrach
__simulation.date // tekst opisujacy biezaca pore roku, dzien roku w przedziale 0-365
__simulation.time // tekst informujacy czy obecnie panuje dzien czy noc, biezaca godzina w przedziale 0-23 oraz minuta w przedziale 0-59
informacje te moga byc wykorzystane dla wyzwalania eventow warunkowych. Oprocz tego, zmiana parametrow liczbowych komorki weather zdarzeniem UpdateValues wplywa na aktualny stan pogody w symulacji, co pozwala na modyfikacje opadow i/lub mgly z wykorzystaniem eventow.

* w przypadku obecnosci kabinowego urzadzenia jointctrl: klawisze obslugi hamulca indywidualnego dzialaja podobnie jak klawisze obslugi nastawnika jazdy

* w przypadku zdefiniowania urzadzenia pantselected_sw: jako impulsowego (wpisem type: push) oraz braku definicji urzadzenia pantselectedoff_sw: przelacznik podnoszenia/opuszczania wybranych pantografow zachowuje sie jak przelacznik trojpozycyjny, tzn wychyla sie z pozycji neutralnej 0.5 do polozenia 0 (opuszczenie) lub do polozenia 1 (zalaczenie)

* zdefiniowanie w pliku .mat ujemnej wartosci dla param_glossiness: zalacza generowanie dla danej powierzchni odbic swiatla w kolorze tekstury, zamiast w kolorze padajacego swiatla

* przelacznik main_sw: zdefiniowany jako impulsowy przy braku przelacznika main_off_bt: traktowany jest jako trojpozycyjny.

* informacje przekazywane do pojazdu eventem PutValues sa, w przypadku gdy pojazd taki nie ma obsady ale ma wlasciciela, przekazywane do rzeczonego wlasciciela.

* dolaczony kod obslugi trybu multiplayer z galazki Milka7
-- wpis w ini network.server tcp 0.0.0.0:port (gdzie port to np. 42424) powoduje uruchomienie symulatora w trybie serwera, komunikujacego sie na podanym porcie
-- wpis w ini network.client tcp X.Y.Z.W:port (gdzie X.Y.Z.W to adres IP dzialajacego serwera przyjmujacego polaczenia na podanym porcie) powoduje uruchomienie serwera w trybie klienta, laczacego sie z serwerem o podanym adresie

* wprowadzona nowa sekcja w plikach .fiz o identyfikatorze AI: w zalozeniu pozwalajaca na podpowiedzi dla AI jak obslugiwac dany pojazd. Na razie rozpoznawany jest wpis
Pantstate=X // sugerowana konfiguracja pantografow, gdzie X to 1 jesli w czasie jazdy podniesiony ma byc pantograf nad kabina A, 2 gdy podniesiony ma byc pantograf nad kabina B, lub 3 gdy podniesione maja byc oba pantografy

* dodana obsluga przelacznika w pliku eu07.ini
python.threadedupload yes/no // (yes) wysylanie wygenerowanych obrazow ekranow przy uzyciu osobnego watku

* warunek memcompare moze byc definiowany w formie rozbudowanej, pozwalajaca na bardziej elastyczne uruchamianie eventow. Nowy format wyglada nastepujaco:
memcompareex  tryb_porownania  operator tekst  operator wartosc1  operator wartosc2
gdzie:
-- tryb_porownania: slowo-klucz okreslajace czy do spelnienia warunku wymagane jest zaliczenie porownan wszystkich zdefiniowanych elementow komorki pamieci (all) czy tez przynajmniej jednego z nich (any) lub tez zadnego (none) Dotychczasowy sposob dzialania warunku memcompare jest odpowiednikiem trybu all
-- operator: metoda porownania elementu komorki pamieci ze zdefiniowana wartoscia. Dostepne metody to == (rowny) != (nierowny) < (mniejszy) > (wiekszy) <= (mniejszy lub rowny) oraz >= (wiekszy lub rowny) Dotychczasowy sposob dzialania warunku memcompare jest odpowiednikiem operatora ==
-- tekst, wartosc1, wartosc2: wartosci z jakimi porownywane beda poszczegolne elementy komorki pamieci.
-- uzycie klucza * zamiast pary operatora i wartosci powoduje pominiecie testu danego elementu.

* przelaczniki zezwolenia otwarcia drzwi i centralnego zamykania zostaly przeksztalcone w guzikolampki

* dodana mozliwosc recznej kontroli oswietlenia przedzialow:
-- reczna obsluga oswietlenia aktywowana jest wpisem CompartmentLightsStart=Manual w sekcji Cntrl. pliku .fiz
-- stan oswietlenia przedzialow kontrolowany jest poprzez przelaczniki:
compartmentlightson_sw: // impulsowy zalacznik oswietlenia
compartmentlightsoff_sw: // impulsowy wylacznik oswietlenia
compartmentlights_sw: // przelacznik stanu oswietlenia, zaleznie od swojej konfiguracji bistabilny lub impulsowy

* silnik szaderowy uwzglednia przy kalkulacji oswietlenia parametry diffuse, specular itp dla definiowanych w .scn grup trojkatow oraz wplyw parametru diffuse na poziom oswietlenia bazowego

* efekt zalaczenia urzadzen pojazdu dopiero po puszczeniu impulsowego przycisku wylacznika szybkiego ma miejsce tylko w pojazdach napedzanych silnikami pradu stalego

* urzadzenie kabinowe scndctrl: moze byc skonfigurowane jako type: push i dziala w takiej sytuacji jak impulsowy zalacznik

* dodane wpisy .ini pozwalajace wylaczyc czesci kodu graficznego:
pyscreenrendererpriority: off // wylacza generowanie ekranow pythona
python.enabled no // (domyslnie yes) wylacza w ogole generowanie tekstur przy uzyciu pythona
gfx.skiprendering yes // (domyslnie no) wylacza w ogole wizualizacje symulacji, pozostawiajac jedynie ui

* silnik szaderowy uzupelniony zostal o efekt aberracji chromatycznej. Efekt mozna wylaczyc wpisem w eu07.ini gfx.postfx.chromaticaberration.enabled no

* zniesiony limit jednego submodelu dla kabinowych urzadzen cablight_sw: oraz manualbrake:

* dodany do sekcji AI pliku .fiz parametr LocalBrakeAccFactor pomagajacy ai w operowaniu hamulcem lokalnym

* przy definiowaniu w pliku .fiz parametrow sprzegu dostepny jest wpis AutomaticFlag okreslajacy ktore elementy sprzegu powinny byc automatycznie polaczone przy stuknieciu w pojazd z autosprzegiem. (w przypadku roznych wartosci wpisu dla obu pojazdow laczona jest czesc wspolna wpisow)

* dla pojazdow wyposazonych w hamulec reczny bedzie on zaciagniety na starcie symulacji, jesli pojazd zostal wstawiony z predkoscia poczatkowa 0

* dodana obsluga polsprzegu:
-- zamontowanie polsprzegu wymaga przebywania na zewnatrz, i obecnosci w odleglosci mniejszej niz 25 m (ale nie mniejszej niz ~1 m) pojazdu wyposazonego w sprzeg automatyczny
-- domyslnie jako model polsprzegu uzywany jest plik models/tabor/polsprzeg.t3d umieszczany na wysokosci 0.95 m nad glowka szyny i wysuniety 8.5 cm poza standardowa dlugosc pojazdu. Wartosci te mozna zmienic wpisem w sekcji models pliku .mmd:
coupleradapter: model, wysuniecie, wysokosc
-- w pliku mmd w sekcji internaldata: mozna zdefiniowac dzwieki:
coupleradapterattach: // odtwarzany przy zakladaniu polsprzegu
coupleradapterremove: // odtwarzany przy zdejmowaniu polsprzegu

* wprowadzona implementacja przekaznika roznicowego. Od tej pory zamkniecie wylacznika szybkiego moze wymagac najpierw odblokowania rzeczonego przekaznika (przekaznik blokuje sie przy braku niskiego napiecia)

* pojazdy wstawione na scenerie z predkoscia > 0 i mniejsza niz 1 km/h maja wstepnie zalaczona baterie; pojazdy obsadzone maja dodatkowo zaciagniety hamulec pomocniczy

* symulator przy uruchomieniu podaje liste dostepnych urzadzen audio

* wprowadzona obsluga nowych urzadzen kabinowych: konfigurowalnych przyciskow odblokowania przekaznikow nadmiarowych
-- przyciski identyfikowane sa w pliku .mmd jako relayreset1_bt: relayreset2_bt: oraz relayreset3_bt:
-- przyciski konfigurowane sa w pliku .fiz wpisem w sekcji Switches: w postaci
RelayResetButtonX=Y
gdzie X to identyfikator przycisku w przedziale 1-3, zas Y to suma okreslajaca jaka kombinacje przekaznikow odblokowuje dany przycisk:
1, przekaznik roznicowy obwodu glownego
2, przekaznik roznicowy obwodu pomocniczego
4, przekaznik nadmiarowy motorow trakcyjnych
8, przekaznik nadmiarowy przetwornicy glownej
16, przekaznik nadmiarowy przetwornicy dodatkowej
32, przekaznik nadmiarowy wentylatorow
64, przekaznik nadmiarowy ogrzewania
128, przekaznik nadmiarowy hamowania ED

* w sekcji AI pliku .fiz umiescic mozna przelacznik IdlePantUp=Yes/No informujacy czy prowadzac dany pojazd nalezy podnosic drugi pantograf przy dluzszym postoju

* w sekcji Engine pliku .fiz mozna podac wartosc parametru fcfuH

* symulacja pojazdow z napedem spal-ele uwzglednia stan stycznikow liniowych

* w sekcji Cntrl. pliku .fiz mozna zdefiniowac wpisem GroundRelayStart metode zalaczania przekaznikow roznicowych (domyslnie automatyczna dla EZT, reczna dla pozostalych)

* stan lampki przekaznikow roznicowych podawany jest urzadzeniom zewnetrznym (bajt 5, bit 3)

* popelnienie przewodu glownego przy aktywnym wylaczniku cisnieniowym mozliwe jest tylko na pozycji neutralnej nastawnika jazdy; aktywacja wylacznika cisnieniowego w pojazdach z napedem spal-ele powoduje zejscie silnika spalinowego na obroty jalowe

* w sekcji Blending pliku .fiz mozna zdefiniowac parametr MED_MinBrakeReqED

* w sekcji Scenario panelu F12 dodany zostal przelacznik kontrolujacy automatyczna aktualizacje tekstur

* dodane komendy obslugi kurka trojdrogowego sprezarki pantografow, pantographcompressorvalveenable oraz pantographcompressorvalvedisable,

* brak sekcji internaldata: w pliku .mmd nie blokuje mozliwosci obsadzenia pojazdu

* skrypty pythona maja dostep do dodatkowych informacji o skladzie:
lights_train_front // stan swiatel na czole skladu
lights_train_rear // stan swiatel na tyle skladu

* dodana blokada automatycznego ponownego laczenia swiezo rozlaczonych sprzegi automatycznych

* w sekcji Door pliku .fiz mozna podac rodzaj napiecia wymaganego do obslugi drzwi w danym pojezdzie wpisem DoorVoltage=X gdzie X to wartosc 110, 24 lub 0 (dla drzwi otwieranych mechanicznie)

* w sekcji Cntrl.pliku .fiz dostepne sa dodatkowe wpisy:
ConverterOverloadRelayStart // sposob odblokowania przekaznika nadmiarowego przetwornicy, Manual (przyciskiem) lub Converter (poprzez ustawienie przycisku przetwornicy w pozycje wylaczona)
ConverterStart // dodatkowa metoda na uruchomienie przetwornicy, Direction (nastawnik kierunku na pozycji jazdy)
ConverterOverloadWhenMainIsOff // Yes/No, okresla czy otwarcie wylacznika szybkiego powoduje aktywacje przekaznika nadmiarowego przetwornicy, domyslnie Yes w EZT

* zaimplementowana wstepnie symulacja obwodow niskich napiec w pojazdach, ograniczona na razie do zasilania 24V i 110V
-- obwody domyslnie przekazuja napiecia sasiednim pojazdom spietych sprzegiem stalym (flaga +128 sprzegu)
-- w sekcji BuffCoupl pliku .fiz mozliwe jest okreslenie ktore z obwodow udostepnione sa poprzez sprzeg staly wpisem PowerFlag=X gdzie X to suma flag bitowych
24V: +256
110V: +512
3x400V: +1024 (na razie niezaimplementowane)
-- wprowadzenie obwodow oznacza ze nie ma juz potrzeby instalowania wirtualnej przetwornicy i akumulatorow w kazdym czlonie zespolow trakcyjnych itp. Brak obecnosci takiego urzadzenia w pojezdzie sygnalizowany jest wpisem w sekcji Cntrl. w postaci BatteryStart=Disabled (pojazd bez akumulatora) oraz ConverterStart=Disabled (pojazd bez przetwornicy)

* wprowadzone wyszukiwanie najblizszego czlonu/pojazdu faktycznie wyposazonego w pantografy, zamiast sztywnego zalozenia obecnosci pantografow na czlonie/pojezdzie z silnikiem
« Ostatnia zmiana: 01 Maja 2020, 23:53:26 wysłana przez matek123 »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #11 dnia: 04 Maja 2020, 02:45:03 »
Zmiany w stosunku do exe z paczki 20.04:
Cytuj
* w pliku .mmd mozna podac jaka tekstura powinna byc uzyta dla "pustych" tablic, zamiast domyslnej "nowhere.tga". Definicja umieszczana jest w ostatniej "sekcji" pliku .mmd (razem z definicjami ekranow itp) wpisem destinationsignbackground: X gdzie X to nazwa pliku.

* w sekcji Security pliku .fiz mozna zdefiniowac opcjonalnie automatyczna aktywacje syreny pojazdu przy wdrozonym hamowaniu awaryjnym. Definicji dokonuje sie wpisem EmergencyBrakeWarningSignal=X gdzie X to suma liczb odpowiadajacych aktywowanym syrenom:
1: syrena niskotonowa
2: syrena wysokotonowa
4: gwizdawka

* dodana diagnostyka inicjalizacji portu LPT, oraz lekko zmodyfikowane formatowanie logowania tabelki rozkazow dla pojazdu

* w przypadku wystapienia we wpisie trainset sasiadujacych ze soba pojazdow wyposazonych w sprzegi roznego typu, zakladany jest miedzy nimi polsprzeg

* dodana czesciowa obsluga przez ai nastawnika uniwersalnego w pojazdach z napedem spal-ele

* w sekcji Ctrl. pliku fiz wpisem ReleaseParkingBySpringBrake=Yes mozna zasygnalizowac ze w danym pojezdzie hamulec postojowy powinien byc luzowany po aktywacji hamulca sprezynowego

* w sekcji tempomatu pliku .fiz mozliwe jest zdefiniowanie parametrow PowerUpSpeed oraz PowerDownSpeed okreslajacych predkosc zwiekszenia/zmniejszenia mocy (wartosc domyslna dla obu parametrow to 1000)

* przy wykryciu w trybie jazdy manewrowej sygnalu W5 oprocz uwzgledniania obecnosci rozjazdow AI sprawdza rowniez, czy na odcinku miedzy pojazdem oraz W5 znajduje sie semafor lub tarcza manewrowa dla jazdy w przeciwnym kierunku, i jesli znajdzie taki semafor, zawraca dopiero po jego minieciu

* dodane urzadzenie kabinowe couplingdisconnect_sw: rozpinajace sprzeg po stronie obsadzonej kabiny. Domyslny skrot klawiszowy urzadzenia to Shift + Delete

* w konfiguracji sprzegu w pliku .fiz mozna wpisem ControlType=X (gdzie X to lancuch tekstowy) podac identyfikator, bedacy abstrakcja rodzaju komunikacji i/lub polaczenia uzywanych przy przesylaniu sygnalow ukrotnienia. Przy sprzeganiu pojazdow zapiecie ukrotnienia mozliwe jest tylko miedzy sprzegami z tym samym identyfikatorem

* wczytywanie plikow dzwiekowych jest odnotowywane w logu

* w przypadku pojazdow z nastawnikiem uniwersalnym okienko pomocnika wyswietla zadany procent mocy/hamowania oraz pozycje nastawnika. Jesli w pojezdzie zalaczony jest tempomat sygnalizowane jest to litera 'T' na wskazniku kierunku jazdy

* dodatkowa wartosc eventu whois: 32+1 = nazwa pojazdu prowadzacego sklad, ktory wyzwolil event

* dodany nowy rodzaj eventu sluzacy do zmiany tekstury wymiennej w statycznym modelu/modelach. Event definiowany jest nastepujaco:
event ... texture ... model1|model2|model3|etc skinindex skinfile inputcell endevent
gdzie:
model1|model2|etc: lista modeli ktore otrzymaja nowa teksture, rozdzielonych znakiem |
skinindex: numer tekstury wymiennej ktora zostanie zastapiona, w przedziale 1-4
skinfile: tekst definiujacy nazwe materialu ktory zostanie przypisany jako podana tekstura wymienna
inputcell: nazwa opcjonalnej komorki pamieci (lub none jesli ciag skinfile nie uzywa parametrow)
wartosci przechowywane w podanej komorce pamieci moga byc uzyte jako parametry (p1) (p2) oraz (p3) w lancuchu skinfile na normalnych zasadach

* dodany opcjonalny parametr friction dla node track w postaci
friction nazwakomorkipamieci
Wartosc tarcia dla danego odcinka toru jest modyfikowana wg wzoru
tarcie = wartosc bazowa * pierwsza wartosc liczbowa z komorki pamieci + druga wartosc bazowa z komorki pamieci

* w modelu 3d przypisanym do node dynamic umiescic mozna submodel(e) swiatel z rozszerzeniem _xon  Wariant ten zostanie dla danego swiatla pokazany zamiast modelu _on w przypadku gdy pojazd ma zalaczone przyciemnienie swiatel

* w modelu 3d przypisanym do node dynamic umiescic mozna submodel(e) sprzegow z rozszerzeniem _xon. Wariant ten zostanie dla danego sprzegu pokazany zamiast modelu _off w przypadku gdy pojazd spiety jest z innym pojazdem wyswietlajacym wariant modelu _on lub w przypadku nalozenia polsprzegu

* malowanie ekranow pythona mozliwe jest rowniez na modelu lowpoly, w przypadku gdy obsadzona kabina nie posiada dedykowanego modelu

* przesylanie komend obslugi urzadzen kabinowych dziala czesciowo rowniez w maszynowni

* dodana czesciowa obsluga pary dodatkowych swiatel w pojazdach. Identyfikatory submodeli nowych swiatel to headsignal a flagi bitowe dla programatora swiatel to +128 (swiatlo lewe) oraz +256 (swiatlo prawe)

* w pliku .fiz mozliwa jest parametryzacja asymilacji przewodu glownego. W sekcji Cntrl.:
OMP= Maksymalny wzrost ciśnienia w przewodzie głównym podczas asymilacji hamulca. [bar]
OPD= Prędkość spadku ciśnienia w przewodzie głównym po asymilacji hamulca. [bar/s]

* dodana obsluga dedykowanych dzwiekow zapiecia/rozpiecia poszczegolnych elementow sprzegu:
brakehoseattach: brakehosedetach: // przewod glowny hamulca
mainhoseattach: mainhosedetach: // przewod zasilajacy
controlattach: controldetach: // ukrotnienie
gangwayattach: gangwaydetach: // mostek
heatingattach: heatingdetach: // ogrzewanie

* dodane urzadzenie kabinowe: lampka i-mainbreakerblinking: sygnalizujaca zamkniecie wylacznika szybkiego oraz sygnalizujaca miganiem gotowosc do zalaczenia WS

* stan lampki aktywacji obslugi hamulca EP dostepny jest dla modulu uart (bajt 0, bit 0)

* okienko pomocnika powinno nieco inteligentniej wyliczac i/lub prezentowac odleglosc do zmiany dozwolonej predkosci

* w logu zglaszane sa tekstury o watpliwych wymiarach

* dodana obsluga nowych urzadzen kabinowych:
dirforward_bt: // guzikolampka ustawiajaca kierunek jazdy "naprzod"
dirneutral_bt: // guzikolampka ustawiajaca nastawnik kierunku w pozycji neutralnej
dirbackward_bt: // guzikolampka ustawiajaca kierunek jazdy "wstecz"

* sekcja MotorParamTable0: pliku .fiz ma zastosowanie rowniez dla pojazdow z silnikiem diesla

* dodana mozliwosc wstawiania obiektow w edytorze scenerii, zgodnie z dokumentacja dostepna w watku https://eu07.pl/forum/index.php/topic,31581.msg512361.html

* poszerzona obsluga pliku nodebank.txt
-- zamiast jak dotychczas prezentowac zawartosc danego wpisu node model, prezentowany jest uproszczony opis
-- jako opis traktowany jest tekst umieszczony w danej linijce przed slowem kluczowym node
-- w przypadku braku opisu (linijka rozpoczyna sie od slowa kluczowego node) opis zostanie wygenerowany automatycznie, w postaci nazwa_modelu (tekstura wymienna)
-- jesli linijka nie zawiera slowa kluczowego node jest ona traktowana jako nazwa zwijalnej kategorii. Wpisy napotkane po nazwie kategorii umieszczone zostana w tej kategorii
-- wpisy umieszczone w danej kategorii automatycznie sortowane sa w porzadku alfabetycznym

* panel Node Bank edytora wzbogacil sie o pole wyszukiwania. Prezentowana lista dostepnych do wstawienia modeli jest dynamicznie ograniczana do wpisow zawierajacych tekst wprowadzony w polu wyszukiwania

* w pliku .mmd w sekcji internaldata: przy uzyciu klucza rainsound: zdefiniowac mozna dzwiek deszczu odtwarzany podczas przebywania w kabinie danego pojazdu. W przypadku braku wpisu domyslnie odtwarzany jest dzwiek z pliku rainsound_default

* w log.txt zapisywana jest konfiguracja z jaka uruchomiony zostal symulator

* czestotliwosc dzwieku sprezarki napedzanej przez silnik pojazdu modyfikowana jest zgodnie z aktualna iloscia obrotow silnika (za wartosc bazowa przyjmowana jest ilosc obrotow przy biegu jalowym)

* komunikat odjazdu nadawany przez kierownika skladu transmitowany jest przez radio pojazdu, na kanale wyszczegolnionym w rozkladzie jazdy. Odbierane sa rowniez komunikaty dla pobliskich innych pojazdow

* prowadzac pojazd ai ustawia sobie kanal radia zgodnie z informacjami w rozkladzie jazdy

* w parametrach wpisu node model mozna podac parametr angles X Y Z gdzie X, Y i Z to katy o jakie powinien zostac obrocony model

* w logu symulacji umieszczany jest rezultat testow trackbusy/trackfree

* zaimplementowane zostalo odtwarzanie w pojazdach komunikatow dla pasazerow
-- aktywacja odtwarzanych komunikatow odbywa sie poprzez wpisy w pliku .mmd w sekcji sounds, w postaci:
announcements: {
 near_stop: nazwa_pliku // plik dzwiekowy komunikatu informujacego o zblizaniu sie do stacji
 stop: nazwa_pliku // plik dzwiekowy komunikatu odtwarzanego po zatrzymaniu sie na stacji
 next_stop: nazwa_pliku // plik dzwiekowy komunikatu informujacego o nastepnej stacji w rozkladzie
 destination: nazwa_pliku // plik dzwiekowy komunikatu informujacego o stacji docelowej
}
-- dzwieki dla ktorych brakuje wpisow nie sa odtwarzane; po odtworzeniu kazdego komunikatu odgrywany jest dzwiek z nazwa danej stacji. Dzwieki nazw stacji wyszukiwane sa w folderze scenerii oraz sounds/sip/ Nazwy plikow z dzwiekami nazw stacji powinny byc identyczne z nazwa danej stacji w rozkladzie jazdy (z uzyciem znakow _ zamiast spacji) z pominieciem potencjalnej koncowki "po". W przypadku gdy dzwiek z nazwa danej stacji nie zostanie znaleziony komunikat jest pomijany

* panel F12 w sekcji Engine wyswietla aktualna wartosc "czestotliwosci falownika" uzywanej do wyboru probki skladanego dzwieku inverter:

* system wizualizacji ladunku w sytuacji gdy pojazd jest prozny wyswietla model ladunku "none" o ile model taki zostanie zlokalizowany w katalogu pojazdu lub zdefiniowany w grupie loads: pliku .mmd, na standardowych zasadach

* definicja sprzegu w pliku .fiz moze zawierac wpis PowerCoupling=X gdzie X jest flaga bitowa sprzegu wymaganego by przekazac napiecia 24/110/3x400V do sasiedniego pojazdu. Domyslna wartosc tego parametru to 128 czyli tak jak dotychczas, sprzeg staly.

* w pliku eu07.ini mozna podac parametr gfx.reflections.fidelity X okreslajacy elementy otoczenia uwzgledniane przy malowaniu odbic. X moze przyjac wartosci z zakresu 0-2, gdzie:
0 = tryb dotychczasowy, malowana jest tylko geometria terenu
1 = j.w. oraz dodatkowo pobliskie modele statyczne
2 = j.w. oraz dodatkowo pobliskie pojazdy

* w sekcji announcements: pliku .mmd zdefiniowac mozna rowniez dzwiek chime: ktory to dzwiek bedzie odgrywany przed kazdym komunikatem

* stopien widocznosci odbic otoczenia malowanych przez silnik graficzny w wersji szaderowej okreslany jest wylacznie na podstawie zawartosc mapy odbic; pozwala to potencjalnie uzyskac widzialne odbicia rowniez na bardzo ciemnych elementach geometrii

* przy definiowaniu eventow oprocz dotychczasowego parametru randomdelay mozna zdefiniowac rowniez parameter departuredelay X Event z takim parametrem zostanie wywolany o czasie odjazdu z biezacej stacji pobranym z rozkladu pojazdu ktory wywolal event, z przesunieciem X sekund (przesuniecie moze takze wynosic 0, co rowna sie z wykonaniem eventu o rozkladowym czasie odjazdu) W przypadku uzycia zarowno parametru randomdelay jak i departuredelay (jak rowniez standardowego opoznienia wykonania eventu) opoznienia te sa sumowane

* definiujac parametr "zasiegu" node sound lub zasiegu dzwieku parametrem range: podana wartosc moze byc liczba ujemna inna niz -1. Dzwiek taki bedzie mial zasieg rowny wartosci bezwzglednej podanej liczby ale nie bedzie pozycjonowany, tzn poziom glosnosci bedzie identyczny na calym obszarze a zrodlo umieszczone bedzie "na glowie" sluchacza

* kamery udajace "lusterka" w pojazdach umieszczane sa na wysokosci srodka zdefiniowanego obszaru kabiny, zamiast na wysokosci jego przedniej "sciany"

* definicja parametrow node model moze obejmowac slowo-klucz notransition ktorego obecnosc wylacza plynne przejscie miedzy stanem swiatel dla danego modelu

* sekcja Vehicle panelu F12 podaje rowniez stan hamulca postojowego i sprezynowego

* tabelka skanowania panelu F12 podaje tez wartosci parametrow wykrytych eventow

* parser plikow tekstowych ignoruje identyfikator plikow UTF

* w przypadku komendy Emergency_brake przekazywanej za posrednictwem eventu getvalues pojazd aktywuje radiostop w momencie miniecia komorki eventu, zamiast dopiero po zatrzymaniu

* uzaleznienie mozliwosci popelnienia PG od pozycji nastawnika jazdy skonfigurowac mozna w sekcji Brake pliku .fiz wpisem ReleaserPowerPosLock=Yes/No (przy czym Yes blokuje mozliwosc w pozycji nastawnika innej niz neutralna) Dla pojazdow z napedem spalinowym lub spal-ele wartoscia domyslna jest Yes, dla pozostalych No

* w pliku eu07.ini okreslic mozna dodatkowo poziom glosnosci dla okreslonych kategorii dzwiekow
sound.volume.vehicle X // wzgledna glosnosc dzwiekow wydawanych przez pojazdy, gdzie X jest mnoznikiem w przedziale 0-1
sound.volume.positional X // wzgledna glosnosc pozycjonowanych dzwiekow emitowanych przez eventy scenerii, gdzie X jest mnoznikiem w przedziale 0-1
sound.volume.ambient X // wzgledna glosnosc dzwiekow globalnych (o ujemnym zakresie) emitowanych przez eventy scenerii, gdzie X jest mnoznikiem w przedziale 0-1
oprocz wpisow w pliku .ini glosnosc mozna modyfikowac tez na biezaco za posrednictwem suwakow w sekcji Settings panelu F12

* pominiecie przez sklad prowadzony przez uzytkownika semafora lub przystanku o co najmniej 250 m (lub 100 poza koniec skladu) powoduje zignorowanie wskaznika przez okienko pomocnika oraz usuniecie go z tabelki skanowania

* w katalogu data/ umiescic mozna opcjonalny plik sound_overrides.txt zawierajacy konfiguracje dla niektorych dzwiekow domyslnych (w postaci klucz: definicja ). Na ten moment obslugiwany jest jedynie wpis weather.rainsound: definiujacy parametry dzwieku opadow deszczu

* dzwiek weather.rainsound: definiujacy dzwiek opadow deszczu moze byc dzwiekiem skladanym, ktorego parametrem jest aktualny poziom opadow w przedziale 0-100
« Ostatnia zmiana: 16 Września 2020, 01:41:15 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #12 dnia: 23 Września 2020, 22:15:20 »
Zmiany w stosunku do exe z paczki 20.09:
Cytuj
* dzwiek rainsound: definiowany w pliku .mmd moze byc dzwiekiem skladanym, z wyborem probki uzaleznionym od aktualnej intensywnosci opadow (w przedziale 0-100)

* lokacja dzwieku okreslana parametrem placement: obsluguje dodatkowa wartosc custom

* parametry tlumienia dzwiekow moga byc modyfikowane na poziomie typu pojazdu, wpisem w pliku mmd w postaci:
(wpis pokazuje wartosci domyslne)
soundproofing:
 // listener: rear cab, engine, front cab, window, attached camera, free camera
 1.00 0.20 1.00 0.65 0.20 0.20 // internal
 0.20 1.00 0.20 0.65 0.65 0.65 // engine
 0.20 0.20 0.20 0.65 0.65 1.00 // external
 0.01 0.01 0.01 0.20 0.20 1.00 // external ambient
 1.00 1.00 1.00 1.00 1.00 1.00 // custom
-- rzedy definiuja wartosci tlumienia dzwieku umieszczonego w lokacji: internal, engine, external, external o ujemnym zasiegu, custom.
-- kolumny definiuja wartosci tlumienia dla sluchacza zlokalizowanego w: tylnej kabinie, przedziale silnikowym, przedniej kabinie, wychylonego przez okno, kamery przyczepionej do pojazdu, kamery luzem
-- wartosci tlumienia podawane sa jako modyfikator glosnosci w zakresie 0-1 gdzie 1 to brak zmiany glosnosci, a 0 to pelne wyciszenie dzwieku. Podanie wartosci -1 oznacza ze dla danej kombinacji powinna zostac uzyta wartosc domyslna.

* wirtualny mechanik powinien ogarniac rowniez laczenie pojazdow ze sprzegiem automatycznym

* logowanie eventow PutValues i CopyValues obejmuje rowniez informacje ktore komorki i pojazdy otrzymaly dana informacje, oraz stan komorek po wykonaniu operacji

* sekcja Gfx Renderer panelu F12 potencjalnie informuje rowniez o zalaczeniu synchronizacji odswiezania

* sekcja zasilania panelu F12 pokazuje rowniez aktualne natezenia pradow

* korzystanie z tempomatu nie powinno powstrzymywac ai przed podlaczaniem sie do skladow

* oprocz dotychczasowego trybu pelnoekranowego dostepny jest rowniez tryb "pelnoekranowego okna", aktywowany wpisem fullscreenwindowed yes w pliku eu07 ini. Tryb ten uzywa aktualnej rozdzielczosci pulpitu (wpisy width i height sa ignorowane)

* w sekcji Cntrl pliku .fiz wpisem EIMCtrlEmergency zdefiniowac mozna mozliwosc aktywacji hamowania naglego glownym nastawnikiem

* w sekcji Doors pliku .fiz wpisem MirrorVelClose zdefiniowac mozna predkosc pojazdu przy ktorej zamykane sa lusterka

* wprowadzona obsluga indeksowania geometrii. Indeksowanie przeprowadzane jest automatycznie dla "starych" plikow .t3d lub tez moze byc podane w pliku t3d otwarcie, w postaci:
NumIndices: ilosc_indeksow
 indeks1 indeks2 indeks3 // etc
NumVerts: ilosc_wierzcholkow
 Px Py Pz Nx Ny Nz Ux Uy Tx Ty Tz Tw // pozycja, wektor normalny, koordynaty UV, tangent
 Px Py Pz Nx Ny Nz Ux Uy Tx Ty Tz Tw // etc
Zindeksowane siatki zapisywane sa w pliku e3d w skompresowanym formacie VNT1

* kompresja geometrii przy zapisie generowanych plikow .e3d jest opcjonalna i aktywowana przez dodanie wartosci +8 do parametru convertmodels

* przy zalaczeniu AI kombinacja shift-Q pojazd pozostaje w dotychczasowym trybie

* dzwiek brakesound: rozdzielony zostal na dwa komponenty. Skladnik zdefiniowany w sekcji internaldata: pliku .mmd odtwarzany jest w kabinie pojazdu, natomiast skladnik zdefiniowany w sekcji sounds: odtwarzany jest dla obserwatora zewnetrznego

* zachmurzenie nieba ma 4 stopnie zamiast dotychczasowych 2, clear: (0-10% chmur) scattered: (10-50%) broken: (50-90%) i overcast: (90-100%)

* wpis ai.trainman w eu07.ini kontroluje dzialanie wirtualnego zapinacza skladow

* predkosc zwalniania obrotow silnika spal-ele kontrolowana jest wpisem RPMDecRate w sekcji Engine pliku .fiz -- wartosc domyslna 2.0 oznacza ze spadek obrotow jest dwukrotnie szybszy niz ich wzrost

* naprawa pojazdu przyciskiem z panelu F12 obejmuje tez polamane pantografy

* dodany przelacznik sztucznego oswietlenia i suwak kontrolujacy predkosc symulacji w sekcji Scenario panelu F12 (widoczne tylko przy aktywnym trybie Debug)

* lista urzadzen sekcji Vehicle panelu F12 obejmuje tez stan odluzniacza

* stan cisnienia w zbiorniku sterujacym pojazdow dostepna jest dla skryptow pythona, pod kluczem eimp_pn_X_cp

* wpis pyscreenupdatetime: w pliku mmd definiujacy czestotliwosc odswiezania ekranow w danym pojezdzie, w milisekundach

* dodana obsluga alternatywnego dzwieku compressoridle: dla sprezarki pracujacej z zalaczonym bezpiecznikiem cisnieniowym

* dodana obsluga dzwieku tractionacmotor: dla falownikow ulokowanych na wozkach pojazdu

* dodany system podpowiedzi obslugi pojazdu, dostepny w oknie F3, w sekcji "Podpowiedzi". Wyswietlane sa tam czynnosci jakie w danej sytuacji wykonalaby prowadzaca pojazd AI

* dodana obsluga wiecej niz jednego falownika w pojezdzie; ilosc okreslana jest wpisem InvNo w sekcji Engine

* dodatkowe parametry hamulca sprezynowego, wpisy SpringBrakeCutsOffDrive oraz SpringBrakeDriveEmergencyVel w sekcji Cntrl

* dodany tryb PNEP pracy hamulcow

* dodatkowe parametry dla skryptow pythona: emergency_brake, door_step, eimp_cX_invno, compressors_no, compressors_X_allow, compressors_X_work, compressors_X_car_no

* dodatkowe parametry wylacznika cisnieniowego sprezarki dla obsadzonej kabiny B, MinCP_B oraz MaxCP_B w sekcji Brake

* pozycje dzwigni hamulcow dostepna sa dla skryptow pythona pod kluczami brakectrl_pos oraz localbrake_pos

* dodany przelacznik ReleaseParkingBySpringBrakeWhenDoorIsOpen w sekcji Cntrl

* rozklad jazdy moze zawierac pole Kategoria dostepne dla skryptow pythona pod kluczem traincategory

* dodatkowe parametry wentylatorow motorow trakcyjnych, MotorBlowersSustainTime oraz MotorBlowersStartVelocity w sekcji Engine

* dodana obsluga dzwieku zwalniacza definiowanego wpisem retarder: w sekcji internaldata:

* dodana informacja o stanie pantografow w sekcji Vehicle panelu F12

* zawartosc listy zdarzen na panelu F12 moze byc filtrowana na podstawie wpisanego w pole wyszukiwania tekstu

* dzwieki rozpiecia sprzegow aktywowane sa tylko dla faktycznie rozpietych elementow

* wpis destinationsignbackground: zastapiony zostal parametrem background: we wpisie pydestinationsign: (wersja pierwotna jest obslugiwana nadal w ramach zgodnosci wstecznej)

* skrypty pythona maja dostep do dodatkowych kluczy, radio: (stan zalaczenia radia) oraz odometer: (miernik przejechanej odleglosci)

* stopien wyciszenia dzwieku przy zalaczonej pauzie moze byc konfigurowany wpisem w .ini sound.volume.paused X gdzie X jest wartoscia w przedziale 0-1

* zmodyfikowane kalkulacje kolory nieba i mgly

* wpis pyscreen: otrzymal nowa skladnie
pyscreen: { skrypt target: X parameters: Y }
gdzie X to submodel ktory otrzymuje teksture ekranu, zas Y to opcjonalna lista parametrow, taka sama jak dla wpisow pydestinationsign:

* dodana obsluga impulsowego guzika wysuwania stopnia, oraz submodelu _on wyswietlanego gdy wysuwanie stopnia jest zalaczone

* dodana obsluga impulsowego guzika tempomatu oraz guzika wylaczenia tempomatu, tempomatoff_sw: (w przypadku braku wpisu guzika wylaczenia impulsowy guzik glowny przelacza stan tempomatu przy kolejnych wcisnieciach)

* dodana mozliwosc konfiguracji wybieraka pantografow, wpisem w sekcji Switches pliku fiz. Wpis ma postac
PantographPresets=X
gdzie X to zestaw pozycji wybieraka rozdzielonych znakiem | a poszczegolne pozycje to sumy bitowe dla pantografu nad dana kabina (1) oraz nad kabina przeciwna (2). Domyslna postac wpisu to 0|1|3|2

* dodane urzadzenie kabinowe pantvalves_sw: czyli impulsowy aktywator wybranej konfiguracji pantografow. W przypadku braku wpisu tego urzadzenia wybrana konfiguracja wdrazana jest tak jak do tej pory automatycznie przy zmianie polozenia wybieraka konfiguracji

* opcjonalna nazwa pociagu podana w rozkladzie dostepna jest dla skryptow pythona pod kluczem trainname

* wpis DoorOpenDelay=X w sekcji Doors: pliku .fiz pozwala na opoznienie otwarcia drzwi o X sekund

* wpis DoorOpenWithPermit=X w sekcji Doors: pliku .fiz pozwala na otwarcie drzwi skladu poprzez przytrzymanie impulsowego przycisku zezwolenia przez X sekund

* wpis doorpermit: w sekcji sounds: pliku .mmd przypisuje do drzwi dzwiek emitowany po otrzymaniu zezwolenia na otwarcie

* dodana lampka i-doorpermit_any: aktywujaca sie gdy udzielone zostalo pozwolenie na otwarcie drzwi po dowolnej stronie

* dodany dzwiek battery: definiowany w sekcji sounds: pliku .mmd odtwarzany gdy zalaczone sa akumulatory pojazdu

* sygnal zalaczenie ogrzewania przekazywany jest kablem sterujacym

* odczytywanie komend z komorki pamieci w trybie manewrowym dziala w odleglosci do 250m jesli pojazd prowadzony jest przez czlowieka. Odczyt dostepny jest tylko dla pojazdu polozonego najblizej danej komorki

* definicja dzwieku moze zawierac opcjonalny parametr
soundproofing: [ A B C D E F ]
// listener: rear cab (A), engine (B), front cab (C), window (D), attached camera (E), free camera (F)
okreslajacy ze dla tego dzwieku maja byc zastosowane indywidualne parametry tlumienia, definiowane na tej samej zasadzie co w ogolnym wpisie soundproofing: pliku .mmd

* definicja urzadzenia kabinowego moze zawierac opcjonalny parametr soundproofing: identyczny jak w przypadku indywidualnego dzwieku. Podane w takim wpisie wartosci zastosowane beda dla wszystkich dzwiekow przypisanych do danego urzadzenia, z wyjatkiem dzwiekow z wlasnym wpisem soundproofing:

* wpis announcements: w pliku .mmd dopuszcza opcjonalny parametr soundproofing: identyczny jak w przypadku indywidualnego dzwieku. Podane w takim wpisie wartosci zastosowane beda dla wszystkich dzwiekow komunikatow, z wyjatkiem dzwiekow z wlasnym wpisem soundproofing:

* w przypadku wykrycia za plecami sygnalu Ms2 w trybie manewrowym AI reaguje na niego od razu rowniez gdy porusza sie w kierunku semafora z sygnalem stoj, zamiast tak jak do tej pory dopiero po dociagnieciu do blokujacego jej ruch semafora

* pulpitom podlaczonym przez modul uart udostepniony zostal stan cisnienia pantografow, jako 16-bitowa wartosc w bajtach 34+35  Uwaga: zmiana ta wiaze sie ze zmiana skladni wpisu uarttune ktory ma teraz postac nastepujaca
uarttune
 mainbrakemin mainbrakemax
 localbrakemin localbrakemax
 tankmax tankuart
 pipemax pipeuart
 brakemax brakeuart
 pantographmax pantographuart // 2 nowe parametry
 hvmax hvuart
 currentmax currentuart
 lvmax lvuart

« Ostatnia zmiana: 03 Maja 2021, 02:27:27 wysłana przez tmj »

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Exe c++ aktualnosci, changelog itp
« Odpowiedź #13 dnia: 08 Maja 2021, 02:30:35 »
Zmiany w stosunku do exe z paczki 21.04:

Cytuj
* dodana mozliwosc zdefiniowania dzwiekow aktywacji i luzowania hamulca sprezynowego, wpisami springbrake: oraz springbrakeoff: w sekcji sounds: pliku mmd

* parametrem gfx.drawrange.factor.max w pliku ini zmodyfikowac mozna wartosc maksymalnego mnoznika zasiegu malowania scenerii. Przyjmowana wartosc parametru to liczba w przedziale 1.0-3.0

* aktywacja sygnalu SHP nastepuje w momencie kontaktu rezonatora z czujnikiem, zamiast jak do tej pory w momencie wjazdu na tor spiety z rezonatorem

* polozenie czujnika SHP w pojezdzie moze byc zdefiniowane wpisem MagnetLocation=X w sekcji Security pliku fiz, gdzie X jest odlegloscia miedzy czolem pojazdu a czujnikiem, w metrach. Domyslnie czujnik umieszczony jest w polowie dlugosci pojazdu.

* logika ai zostala wzbogacona o umiejetnosc hamowania kontrolnego, przeprowadzanego w trybie jazdy rozkladowej

* ai powinna czesciej korzystac z mozliwosci wysokiego rozruchu

* lista parametrow pojazdu we wpisie trainset moze zawierac modyfikator Lx gdzie x to liczba zastepujaca domyslna wartosc MaxLoad pojazdu.

* prad dla silnika zasilanego z akumulatora pobierany jest z rzeczonego akumulatora zamiast wirtualnej sieci

* przy uruchamianiu pojazdu ai uwzglednia obecnosc przetwornicy i/lub sprezarki

* dodany wpis MainStart w sekcji Cntrl. pliku fiz, okreslajacy metode zamkniecia wylacznika szybkiego

* dodatkowe wartosci eventu whois:
40+1 = kolejna stacja w rozkladzie jazdy skladu do ktorego nalezy pojazd, ktory wyzwolil event
40+4 = identyfikator czy na rzeczonej kolejnej stacji ma miejsce postoj

* plik .mat zawierac moze wpis shadow_rank: X gdzie X jest wartoscia w zakresie 1-3 okreslajaca "wage" cieni rzucanych przez obiekt pokryty danym materialem. Cienie z waga wyzsza niz wartosc zdefiniowana wpisem gfx.shadow.rank.cutoff X w pliku eu07.ini beda pomijane przy rysowaniu

* w pliku eu07.ini mozna podac parametr gfx.shadow.angle.min X okreslajacy dopuszczalna dlugosc malowanych cieni. X moze przyjac wartosci w zakresie 0.2-1.0, gdzie 0.2 oznacza brak skracania dlugosci cieni, zas 1.0 powoduje najwieksze ograniczenie dlugosci

* z poziomu skryptow pythona dostepny jest klucz train_stationstart podajacy numer stacji wyswietlanej w danym momencie jako pierwsza w rozkladzie pojazdu

« Ostatnia zmiana: 05 Września 2021, 21:01:51 wysłana przez tmj »