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

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

Offline tmj

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

czynnosci jednokrotne:
krok 1: sciagnac plik z bibliotekami
- dla wersji 32-bitowej http://eu07.pl/userfiles/24014/bugs-eu07cplusplus_libraries.rar
- dla wersji 64-bitowej http://eu07.pl/userfiles/24014/bugs-eu07cplusplus64_libraries.rar
krok 2: wypakowac zawartosc do katalogu symulatora, nadpisujac istniejace pliki
krok 3: uruchomic dla pewnosci vcredist_2008 i vcredist_2015 i zainstalowac zawartosc
krok 3b: w przypadku wersji 64-bitowej dla pewnosci warto tez sciagnac i zainstalowac podstawowy pakiet jezyka Python, do pobrania z https://www.python.org/ftp/python/2.7.13/python-2.7.13.amd64.msi (przy instalacji mozna uzyc ustawien domyslnych)

czynosci powtarzalne:
krok 4: 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 Lutego 2018, 03:55:52 wysłana przez tmj »

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5768
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 280
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: 1815
    • Zobacz profil
  • Otrzymane polubienia: 504
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 »

Online Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 400
    • Zobacz profil
  • Otrzymane polubienia: 111
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-8kwj6/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: 29 Grudnia 2017, 17:29:41 wysłana przez Milek7 »

Offline firleju

  • Deweloper
  • Wiadomości: 1544
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 103
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: 1815
    • Zobacz profil
  • Otrzymane polubienia: 504
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: 1815
    • Zobacz profil
  • Otrzymane polubienia: 504
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.
« Ostatnia zmiana: 17 Lutego 2018, 03:57:16 wysłana przez tmj »

 

Maszyna - Symulator PojazdĂłw Szynowych