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

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

Offline tmj

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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: 17 Czerwca 2019, 01:56:51 wysłana przez tmj »

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5857
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 373
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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 ds. Technicznych
  • Wiadomości: 800
    • Zobacz profil
  • Otrzymane polubienia: 386
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

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: 09 Kwietnia 2018, 20:26:40 wysłana przez Stele »

Offline firleju

  • Deweloper
  • Wiadomości: 1580
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 116
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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

  • Deweloper
  • Wiadomości: 2870
    • Zobacz profil
  • Otrzymane polubienia: 1224
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.
« Ostatnia zmiana: 17 Czerwca 2019, 01:57:56 wysłana przez tmj »