Autor Wątek:  Przenoszenie MaSzyny na MSVS/Clang  (Przeczytany 14319 razy)

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

Offline ShaXbee

  • Administrator
  • Wiadomości: 1984
    • Zobacz profil
  • Otrzymane polubienia: 2
Przenoszenie MaSzyny na MSVS/Clang
« dnia: 01 Kwietnia 2015, 11:14:56 »
Etap I: kompatybilnosc z Visual Studio
  • Skrypty do buildu w CMake
  • Proteza interfejsu fizyki
  • Proteza DirectSound
  • Dostosowanie kodu do C++99

Etap II: przywrocenie pelnej funkcjonalnosci, kompilacja pod Clang
  • Inicjalizacja okna / obsluga IO w GLFW
  • Obsluga dzwieku przy pomocy OpenAL-Soft
  • Portowanie fizyki na C++
  • Postawienie automatycznego buildu - drone.io / travis
  • Dodanie minimalnych unit testow

Etap III: uproszczenie renderera, optymalizacje
  • Usuniecie kodu uzywajacego Display List
  • Usuniecie wsparcia dla formatu BMP
  • Optymalizacja renderera - zredukowanie wywolan glDraw*, zarzadzanie teksturami
  • Asynchroniczne przetwarzanie fizyki
  • Wsparcie dla formatu OGG do kompresji wybranych plikow dzwiekowych
« Ostatnia zmiana: 01 Kwietnia 2015, 13:28:32 wysłana przez ShaXbee »

Offline pol102

  • Wiadomości: 959
  • Geoinformatyk kolejowy
    • Zobacz profil
  • Otrzymane polubienia: 35
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #1 dnia: 01 Kwietnia 2015, 16:47:40 »
Przepraszam za pytanie, ale to wygląda tak poważnie, że nie wiem czy mieści się w zakresie dowcipów na Prima Aprilis... Poważnie?

Offline ShaXbee

  • Administrator
  • Wiadomości: 1984
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #2 dnia: 01 Kwietnia 2015, 16:48:34 »
Ten watek nie jest zartem primaprilisowym.

Offline ST44-003

  • Zasłużony dla Symulatora
  • Wiadomości: 2971
  • EU07-001
    • Zobacz profil
  • Otrzymane polubienia: 332
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #3 dnia: 01 Kwietnia 2015, 21:45:02 »
@pol, od dłuższego czasu była mowa o nowym silniku graficznym. Aczkolwiek, żeby rozwiać wątpliwości, bezpieczniej było o tym jutro napisać ;)

Offline czatowiec

  • Wiadomości: 8
  • Fapacz tramwajarz
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #4 dnia: 10 Czerwca 2015, 01:39:03 »
Czy pomimo przejścia na Visual Studio (całkiem fajne IDE) będzie dalej zachowana kompatybilność z Linuksem przez Wine? Bo to, że MaSzyna jest pisana w przedpotopowym standardzie ma tą jedyną zaletę, że idealnie, bez ani jednego buga działa pod systemem spod znaku pingwina ;)

Ewentualnie, czy kod napisany w MSVS będzie można wyeksportować do takiego środowiska jak np. OpenSourcowe CodeBlocs i skompilować natywną wersję na Linuksa i MacOS? Bo sam symulator (czyli bez programu Ra) nie zawiera chyba WinAPI, a sam język C++ jest multiplatformowy?

Na przykład OpenBVE jest pisane w Visual Studio z użyciem C#, i co prawda udało im się zrobić natywne paczki dla Linuksa, ale ogólnie cały symek z racji zastosowania C# wymaga .NET Frameworka pod Windowsem, a Mono (otwartego fotka) pod pingwinem ;)
« Ostatnia zmiana: 10 Czerwca 2015, 15:36:08 wysłana przez czatowiec »

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #5 dnia: 10 Czerwca 2015, 16:27:03 »
Translacja prowadzona przez Shax'a przede wszystkim jest ukierunkowana na kompilowalnosc w roznych srodowiskach i na roznych platformach - albowiem wykorzystuje biblioteki (np openal, glfw), ktore sa pisane w  wersjach na rozne srodowiska/systemy.
Najwaziejsze jest aby nie dolaczac do projektu libsow windowsowych zawartych w srodowiskach programistyznych. Generalnie ShaxBee
tworzy cos kompetnie nowego ale na pewno bedzie korzystal ze zrodel starego symulatora (np fizyka). Natomiast jezeli chodzi o mnie,
to przepisuje caly kod tylko w celu przeniesienia na nowsze srodowisko i ewentualnie starajac sie pisac w najnowzyej wersji c++.
Mozna powiedziec ze 2/3 zadania mam ukoncczone bo jest wczytywanie modeli, terenu, moduly odpowiedzialne za dzwiek po pewnych poprawkach tez sie skompilowaly ale na te chwile nie jestem w stanie sprawdzic mozliwosci odgrywania dzwiekow. System ewentow takze
jest kompilowalny ale  nie dziala on tak jak powinien (wszystkie eventy sie uruchamiaja na samym starcie symulacji).
Rowniez jest nierozwiazany problem wczytywania modeli zawartych w incach - jedne obiekty z plikow inc sie wczytuja (np slupy sieci trakcyjnej) a np na wczytywaniu semaforow z inc sie wysypuje. Z powodu wyjazdu za granice na jakis czas to wwszystko odkladam
ale jak tylko wroce translacja bedzie kontynuowana mam nadzieje od rozwiazania wymiennionych problemow a na koniec zas chcialbym
zostawic czesc odpowiedzialna za wszystko co sie tyczy pojazdow torowych, czyli od wczytywania modeli przez ustawiaie na torze
a na fizyce jazdy konczac, bo to chyba bedzie najtrudniejszy etap.

Offline czatowiec

  • Wiadomości: 8
  • Fapacz tramwajarz
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #6 dnia: 10 Czerwca 2015, 18:20:37 »
Czyli dobrze rozumiem, że na chwilę obecną robicie dwie gałęzie symulatora - jedną pisaną od podstaw, a drugą w formie protezy która ma pozwolić jeszcze żyć obecnemu symulatorowi?

Fajnie, że się przerzucacie na otwarte standardy, bo się bałem, że idąc w MSVS chcecie iść w kierunku WinAPI i .NET ;) Może to przynieść korzyści w postaci szybszego rozwoju symka i większej ilości MaSzynistów, bo na *nixy nie ma nic poza OpenBVE, a mało osób zna symka, żeby chcieć go uruchomić przez Wine. Tak to by można zrobić repo i będzie dodatkowa reklama symka ;)

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #7 dnia: 10 Czerwca 2015, 21:12:27 »
Miala byc jedna galaz,ale jak zawsze wyszlo ze 2 -' bo musi byc po mojemu i juz' - kazdy swoje ;). Plusy takiego podejscia do sprawy sa takie, ze przykladowo ja bede mial wszystkie funkcje/procki juz przetlumaczone z pascala (fizyka) czy inne cpp z c93 na c11
a ShaxBee bedzie mial juz to na tacy ;). Wyszlo to glownie z tego, ze wzorem innych  produkcji np. ze stajni Id, czyli rozne quake'y,
doomy i inne, ktore pozniej przez fanatykow ekstremistycznych zaczely byc translatowane na wersje pascalowe, chcialem cos podobnego zrobic  z  MaSZyna. Jest to chyba trzecie podejscie z mojej strony do tego tematu. Pierwsza proba odbywala sie na MSVS2008
tam mialem wczytywanie modeli, torrow, pojazdow a nawet po czesci dzialajaca fizyke, jednak bylo to na bazie exe 291.  Zle dzialaly hamulce, nie bylo mozliwosci laczenia pojazdow. Generalnie nie wiem czy sam to ogarne w tym podejsciu. Shax bedzie tlumaczyl w wolnym czasie od pracy i pewnie wprowadzal nowe rozwiazania z dziedziny grafiki 3d do silnika. Ja natomiast, niby mam ulatwione zadanie bo 'tylko przepisac, przetlumaczyc', ale np na tlumaczeniu z pascala na c++ trzeba zachowac szczegolna uwage na translacji operatorow - jeden maly blad w jednym miejscu i nie wiesz gdzie i czego szukac. Mam nadzieje ze nastepne zimowakacje w Polsce (6 mcy) pozwola na dokonczennie tego ambitnego dziela, bowiem z kazdym rokiem rozkminiania tego, zawsze tak jest ze zrobienie tego co jescze rok wczesniej bylo da mnie 'nie da sie', przychodzi mi latwiej. elool jol.
« Ostatnia zmiana: 10 Czerwca 2015, 21:16:14 wysłana przez queuedEU »

Offline kocio

  • Wiadomości: 37
    • Zobacz profil
  • Otrzymane polubienia: 13
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #8 dnia: 10 Czerwca 2015, 23:44:34 »
Jestem z Wami już od 2003 roku. Do 2015 byłem w stanie radzić sobie z usterkami w Maszynie(pomimo podstawowego wykształcenia)studiując tylko forum. Teraz jednak zwątpiłem bo MSVS/Clang to próg jak dla mnie nie do przebycia. Pytam więc, czy nowa forma umożliwi mi korzystanie z tych nowych rozwiązań, czy pozostanę przy obecnej wersji. Nie mam złudzeń, że będę do końca z obecną wersją Maszyny ale mam też nadzieję na mały podgląd przez dziurkę od klucza na nowy Świat Symulatora Maszyny. Widzę po pierwszych wpisach queuedEU, że to jest moja granica pojmowania. Taka jest rzeczy kolej i nic tego nikt nie zmieni. Dzięki za przychylne wypowiedzi kolegów, za dobre i skuteczne rady. Benka, Sawi'ego, Quarka, Jubaja, queuedEU, ShaXbee, AtapiCl, Ra i wielu, wielu innych, zachowuję w mojej pamięci. Życzę wielu sukcesów w Nowym Świecie Symulatora (to nie jest gra) Maszyna.     


  Dodano: 10 Czerwca 2015, 23:48:40
Jestem z Wami już od 2003 roku. Do 2015 byłem w stanie radzić sobie z usterkami w Maszynie(pomimo podstawowego wykształcenia)studiując tylko forum. Teraz jednak zwątpiłem bo MSVS/Clang to próg jak dla mnie nie do przebycia. Pytam więc, czy nowa forma umożliwi mi korzystanie z tych nowych rozwiązań, czy pozostanę przy obecnej wersji. Nie mam złudzeń, że będę do końca z obecną wersją Maszyny ale mam też nadzieję na mały podgląd przez dziurkę od klucza na nowy Świat Symulatora Maszyny. Widzę po pierwszych wpisach queuedEU, że to jest moja granica pojmowania. Taka jest rzeczy kolej i nic tego nikt nie zmieni. Dzięki za przychylne wypowiedzi kolegów, za dobre i skuteczne rady. Benka, Sawi'ego, Quarka, Jubaja, queuedEU, ShaXbee, AtapiCl, Ra i wielu, wielu innych, zachowuję w mojej pamięci. Życzę wielu sukcesów w Nowym Świecie Symulatora (to nie jest gra) Maszyna.     

« Ostatnia zmiana: 10 Czerwca 2015, 23:48:40 wysłana przez kocio »

Offline muri

  • Wiadomości: 627
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #9 dnia: 11 Czerwca 2015, 00:09:17 »
Yyy, a co to dla Ciebie zmienia? Jeżeli chcesz coś przydevelopić - no to będziesz miał łatwiej (z Cmake'ów bedziesz sobie mógł wygenerować pliki projektu dla MSVS, albo prawie dowolnego innego IDE pod windowsem czy linuxem).
A na końcu i tak wyjdzie z tego "egzek" - tylko że pod maską będzie po tunningu ;) Jak nie masz ambicji na developienie, i rozwiązywanie problemów ograniczasz do testowania/pisania scenariuszy - to generalnie wsio będzie po staremu.
Chyba że o czymś nie wiem :P

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #10 dnia: 11 Czerwca 2015, 00:11:54 »
Wiesz, ja na toim miejscu bym sie nie przejmowal, bo tak na prawde to sam http://eu07.es/niewiemcorobie.jpg z tego wyjdzie. Dobrze znalezc sobie mistrza i sie od niego uczyc albo zostac mistrzem samym w sobie. Ok, Zmykam bo za duzo zielonego dzisiaj. Elool elool ziomy.

Reg. obowiązki 16.
Pisz poziomo. Poprawiłem.
Benek
« Ostatnia zmiana: 12 Czerwca 2015, 12:18:59 wysłana przez Benek »

Offline MarcinW

  • Zasłużony dla Symulatora
  • Wiadomości: 36
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #11 dnia: 16 Czerwca 2015, 03:42:32 »
Hej

Słuchajcie, macie już może przepisaną aktualną fizykę hamulców do eu07 oraz wagonu (111a) na coś sensownego? Cokolwiek przypominające C++, ideałem byłby C#.

Aktualnie mam jakaś starą fizykę z 2005 i jak to uetam określił, hamowanie działa tylko na nagłym... Muszę to poprawić, a średnio się orientuję, jaka jest teraz najbardziej słuszna fizyka :)

Offline youBy

  • Deweloper
  • Wiadomości: 6167
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 876
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #12 dnia: 16 Czerwca 2015, 12:12:57 »
Q coś robił w tym temacie, ale nie wiem, czy skończył i czy wszystko tam działało. Obecnie wszystko jest nadal w Pascalu.

Do czego Ci jest potrzebna akurat fizyka samych hamulców?
Xoov
Powyższy post wyraża jedynie opinię autora w chwili publikacji. Autor zastrzega sobie prawo do zmiany poglądów bez podawania przyczyny, jak również informowania o tym.

Offline MarcinW

  • Zasłużony dla Symulatora
  • Wiadomości: 36
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #13 dnia: 16 Czerwca 2015, 13:28:41 »
Potrzebuję hamulce, bo resztę już w sumie mam i jest chyba w miarę dobra. Jak dwa tygodnie temu robiliśmy testy na forum isdr.pl (nie wiem, czy byłeś przy tym, być może nie) to z fizyki jazdy tylko hamulce sprawiały problemy, więc chciałbym je w najbliższym czasie doprowadzić do aktualnych MaSzynowych standardów.

Ok, zapytam queueda, jam tam mu idzie, już wcześniej trochę gadaliśmy.

W załączniku mój Mover.cs, gdyby komuś się przydał. Przetłumaczyłem na C# to, co było mi niezbędne do uruchomienia eu07 z wagonami, ale nic poza tym, no i fizyka hamulców jest stareńka.

Offline youBy

  • Deweloper
  • Wiadomości: 6167
  • Co tam?
    • Zobacz profil
    • Automat Weryfikujący Regulację i Lambdę
  • Otrzymane polubienia: 876
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #14 dnia: 16 Czerwca 2015, 14:50:37 »
Ale testy czego?
Xoov
Powyższy post wyraża jedynie opinię autora w chwili publikacji. Autor zastrzega sobie prawo do zmiany poglądów bez podawania przyczyny, jak również informowania o tym.

Offline MarcinW

  • Zasłużony dla Symulatora
  • Wiadomości: 36
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #15 dnia: 16 Czerwca 2015, 14:55:24 »
Taki nasz pół-hobbystyczny projekcik. Aktualnie najwięcej o nim jest w tym wątku:
http://isdr.pl/index.php/topic,542.0.html

Offline Technik

  • Wiadomości: 91
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #16 dnia: 17 Czerwca 2015, 17:15:06 »
Ja jakiś czas temu zacząłem tłumaczyć fizykę z Pascala na C++a, choć odzew w sprawie czy ktoś te kody użyje był zerowy więc zaprzestałem. Tak więc, czy teraz tłumaczenie będzie przydatne?

Offline queuedEU

  • Zasłużony dla Symulatora
  • Wiadomości: 1265
    • Zobacz profil
    • Celebrity Maszyna
  • Otrzymane polubienia: 33
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #17 dnia: 17 Czerwca 2015, 22:36:03 »
Marcin, ja na ircu dawalem linka do paczki z przetlumaczonymi hamulce.pas i friction.pas na c++ ale teraz juz nie pamietam linka i czy archiwum zostalo na serwie. Mam ograaniczony dostep do neta wiec bede tu zagladal raz na jakis czas a logowac sie do shella czy ftp
tez przez jakis czas nie zamierzam. Niech @mateu luknie w logi z 13 kwietnia, bo wtedy zdawalem translacje youBy'emu.

http://forum.eu07.es/index.php/topic,29.msg62.html#new
« Ostatnia zmiana: 17 Czerwca 2015, 23:03:11 wysłana przez queuedEU »

Offline MarcinW

  • Zasłużony dla Symulatora
  • Wiadomości: 36
    • Zobacz profil
  • Otrzymane polubienia: 0
Odp: Przenoszenie MaSzyny na MSVS/Clang
« Odpowiedź #18 dnia: 18 Czerwca 2015, 04:30:31 »
Ok, dzięki, jakieś źródła w cpp się znalazły :) Kontynuuję w sąsiednim wątku, coby tu offtopa nie robić.