Autor Wątek:  Kod źródłowy aktualnej wersji  (Przeczytany 5864 razy)

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

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Kod źródłowy aktualnej wersji
« dnia: 02 Kwietnia 2020, 20:34:41 »
Cześć,

Gdzie mogę znaleźć kod źródłowy aktualnej wersji 20.01? Binarka zbudowana z oficjalnego repo (https://github.com/eu07/maszyna) buduje wersję z sierpnia 2019. Przejrzałem forki i najbardziej aktualny jest (https://github.com/tmj-fstate/maszyna), ale niestety kompilacja z użyciem CMake wygląda na popsutą.

Swoją drogą, które repo Maszyny jest używane do budowania stabilnej wersji symulatora i kiedy oficjalne repo jest odświeżane?

Pozdrawiam,
Michal

Offline tmj

  • Deweloper
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #1 dnia: 02 Kwietnia 2020, 20:51:24 »
CMake z mojej galazki bedzie raczej kopniety bo ja visuala uzywam ;/  Dolaczony do kodu .sln z przyleglosciami powinien dzialac, w najgorszym razie jest to kwestia wrzucenia do jednego garnka plikow zrodlowych i zawartosci foldera /ref

W normalnych warunkach tzn gdy Milek ma czas i chec by zrobic merge to oficjalny aktualny kod jest na oficjalnym repo, i dodatkowo na https://github.com/Milek7/maszyna

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #2 dnia: 02 Kwietnia 2020, 21:03:50 »
Dzięki za info. Oprócz lokacji plików istnieje jeszcze problem kompatybilności nazw plików oraz folderów. W obecnej formie, nie jestem w stanie zbudować binarki z Twojego forka pod Linuksem. Pozostaje mi poczekać na sync oficjalnego repo. Temat do zamknięcia.

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #3 dnia: 02 Kwietnia 2020, 21:13:09 »
Tak dla ścisłości to najnowsze exe dla linux jest tu: https://github.com/Milek7/maszyna/tree/master (zwykłe)
https://github.com/Milek7/maszyna/tree/sim (shaderowe+inne bzdety)
Pracują poprawnie z paczką 19.08, na nowszych mogą być problemy.

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #4 dnia: 02 Kwietnia 2020, 21:27:09 »
A będą kiedyś działać z 20.01?

Dlaczego o to męczę? Zależy mi na linuksowej wersji, ponieważ chciałbym binarkę móc sobie zbudować automatycznie z AUR na Arch Linux. W tym celu stworzyłem nową paczkę: https://aur.archlinux.org/packages/maszyna-git/, fajnie byłoby mieć możliwość budowy binarki, która jest kompatybilna z najnowszą paczką assetsów.

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #5 dnia: 02 Kwietnia 2020, 21:57:55 »
Ewentualnie poczekam na wersję steamową, jeśli w dalszym ciągu jest planowana.

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #6 dnia: 02 Kwietnia 2020, 21:59:22 »
Jak zrobię to będą.. :|

Tak to wygląda mniej więcej
youby -----------------------------------------------------------------------------------------------------------------\
  |  poprawki fizyki                                                       czasami zaciągane bezpośrednio do simkolu   |
  |                                                                                                                    |
  |                                                                                                                    |
  \/                                                                                                                   \/
 tmj -------------------------------------> milek7 (master) ------------------ milek7 (gfx-work) -------------------> milek7 (sim)
główne ficzery, bugfixy              wieloplatformowy build cmake                  shadery                       ficzery dla simkolu
i zmiany wprowadzane przez tmj                                                                                         |
projekt tylko windows                                                                                                  |
  /\                                                                                                                   |
  |                                                                                                                    |
  |                            jak tmj coś się spodoba to wyciąga wybrane ficzery z sim                                |
  \--------------------------------------------------------------------------------------------------------------------/

 

Merge tego co pozmieniał tmj + wstecznie zaciągniętych ficzerów z sim jest dosyć nietrywialny. Nie mam ostatnio czasu się do tego zabrać, ale w końcu muszę ;p
« Ostatnia zmiana: 02 Kwietnia 2020, 22:04:40 wysłana przez Milek7 »

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #7 dnia: 02 Kwietnia 2020, 22:11:32 »
O, bardzo fajnie rozrysowany schemat :-) Jak zacząłem w tym grzebać jakiś czas temu to próbowałem ogarnąć kto, od kogo i dlaczego, ale się poddałem. Stąd temat na forum. Dzięki za info, czekam na merge głównego repo. Chętnie bym pomógł, ale nie grzebałem jeszcze w kodzie Maszyny, więc pewnie tylko bym spowalniał ;-)

Offline Czarodziej

  • Wiadomości: 301
    • Zobacz profil
  • Otrzymane polubienia: 69
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #8 dnia: 03 Kwietnia 2020, 08:33:20 »
Ja sobie poprawiłem CMakeLists.txt i używałem vcpkg do zależności. Build sypie się twierdząc, że nie ma optional w std, czyli coś jeszcze tam jest nie tak. Jak w końcu się z tym uporam, to otworzę pull request do gałęzi tmj. Może to nie nastąpić szybko, bo jestem leniwą bułą.
« Ostatnia zmiana: 03 Kwietnia 2020, 08:36:29 wysłana przez Czarodziej »

Offline Czarodziej

  • Wiadomości: 301
    • Zobacz profil
  • Otrzymane polubienia: 69
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #9 dnia: 03 Kwietnia 2020, 17:52:50 »
Dobra, zmarnowałem dziś na to ze 4h, nie udało mi się tego ogarnąć. Za mało się znam jeszcze na cmake i visual studio. Bo maszyna.sln też mi się nie kompiluje.

Offline marcinn

  • Wiadomości: 13
    • Zobacz profil
  • Otrzymane polubienia: 9
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #10 dnia: 16 Kwietnia 2020, 23:47:48 »
Cześć.

Nie wiecie gdzie znajdę paczkę danych (assetów) do 19.08? Mam pobrać exe i rozpakować pod wine?

@lisuml nie myślałeś, żeby pkgbuild zasysał paczkę danych tak, żeby za jednym buildem mieć spójną całość?

Istnieje natywny/crossplatform Rainsted lub odpowiednik? Na swoje potrzeby zrobiłem prosty starter w py, więc jeśli nie ma niczego takiego, to można byłoby to pociągnąć.

pzdr,
m.

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #11 dnia: 16 Kwietnia 2020, 23:53:58 »
http://stuff.eu07.pl/MaSzyna1908.zip + http://stuff.eu07.pl/1908HF.zip
Launcher jest taki podstawowy w exe sim. (uruchomić bez skonfigurowanej scenerii/pojazdu w ini)

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #12 dnia: 20 Kwietnia 2020, 18:29:34 »
@lisuml nie myślałeś, żeby pkgbuild zasysał paczkę danych tak, żeby za jednym buildem mieć spójną całość?

Owszem, myślałem :-) Ale założyłem, że assetsy można tylko pociągnąć z torrentów, jak widać założenie błędne. Postaram się dodać assetsy do mojego PKGBUILD w tym tygodniu.

Cytuj
Istnieje natywny/crossplatform Rainsted lub odpowiednik? Na swoje potrzeby zrobiłem prosty starter w py, więc jeśli nie ma niczego takiego, to można byłoby to pociągnąć.

Nad starterem również myślałem. Z tego co widziałem jest nawet wątek na forum (https://eu07.pl/forum/index.php/topic,24985.0.html), w którym szczawik podsyła linki do swojego startera. Może warto tam podpytać, czy nie mógłby opensourcować swojego kodu. Chętnie bym dołączył starter to PKGBUILD, co ułatwiło by w znacznej mierze natywne odpalanie MaSzyny na Linuksie.

Swoją drogą, jak wygląda sprawa z licencją w przypadku assetsów? Można udostępniać w buildach linuksowych?
« Ostatnia zmiana: 20 Kwietnia 2020, 18:35:19 wysłana przez lisuml »

Offline kolejarz2009

  • Zasłużony dla Symulatora
  • Wiadomości: 80
    • Zobacz profil
    • Moje dłubanie na GitHubie
  • Otrzymane polubienia: 38
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #13 dnia: 20 Kwietnia 2020, 19:20:51 »

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #14 dnia: 21 Kwietnia 2020, 10:19:24 »
Niestety są problemy z paczką assetsów. Przy probie wypakowania z poziomu PKGBUILD wywala:
dynamic/pkp/sa134_v1/screen/podklad.bmp: ZIP uncompressed data is wrong size (read 1572864, expected 1572918)\n
dynamic/pkp/sa134_v1/screen/podklad2.bmp: ZIP uncompressed data is wrong size (read 1572864, expected 1572918)\n
bsdtar: Error exit delayed from previous errors.

ale kiedy wypakować ręcznie, wszystko działa. Podejrzewam, że PKGBUILD dodatkowo sprawdza wielkość wypakowanych plików.

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #15 dnia: 21 Kwietnia 2020, 17:47:18 »
Udało mi się w końcu zpaczkować assetsy w PKGBUILD dla Archa.

Brakuje jeszcze konfiguracji virtualenv dla pythona, ale powinno udać mi się to ogarnąć do końca tygodnia.

Offline Czarodziej

  • Wiadomości: 301
    • Zobacz profil
  • Otrzymane polubienia: 69
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #16 dnia: 27 Kwietnia 2020, 10:07:26 »
Swoją drogą, to kiedyś odpalałem maszynę i Rainsteda na OS X z wine i działało dobrze. Dziś spróbuję z 20.04.

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #17 dnia: 28 Kwietnia 2020, 14:52:09 »
Ja również odpalam z wine pod Linuksem, ale chciałem mieć również możliwość odpalenia wersji natywnej.

Offline kolejarz2009

  • Zasłużony dla Symulatora
  • Wiadomości: 80
    • Zobacz profil
    • Moje dłubanie na GitHubie
  • Otrzymane polubienia: 38
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #18 dnia: 28 Kwietnia 2020, 17:01:49 »
No to sobie poczekasz/-my, bo z doświadczenia własnego wiem, że build Exe od Tmj'a nie kompiluję się bezproblemowo na Pingwinie, a build Milka, niestety bardzo przestarzały, już bez większych problemów. Chyba że wykombinowałeś tą górę problemów?

Offline Czarodziej

  • Wiadomości: 301
    • Zobacz profil
  • Otrzymane polubienia: 69
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #19 dnia: 28 Kwietnia 2020, 23:31:15 »
Potwierdzam, Milik zrobił kawał dobrej roboty w doprowadzeniu Maszyny do budowania, co więcej, to nawet działało. Niestety, przeszczepienie tego na gałąź tmj to robota dla kogoś, kto ogarnia CMake i tego typu rzeczy.

Offline mrozigor

  • Wiadomości: 9
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #20 dnia: 08 Września 2020, 22:49:38 »
Sorki za wykop, ale próbowałem zbudować najświeższą binarkę z forka tmj-a. Niestety bez skutku. Wygląda na to, że ta wersja nie do końca lubi się z pingwinem, bo dołączane są nagłówki "ddraw.h". Dodatkowo wiele referencji do plików źródłowych jest przestarzałych. brak jest także ustawionej wersji standardu C++ (oczywiście wszytko dotyczy pliku CmakeLists.txt0. Próbowałem także konwertować cmake-converterem: SLN -> CMake, ale to też nie przyniosło efektów. poniżej wklejam CMakeLists.txt po kilku szybkich zmianach, ale jeszcze niedziałającego :)

cmake_minimum_required(VERSION 3.0)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake_modules/")
project("eu07++ng")

include_directories("." "Console" "McZapkie" "ref/glad/include" "ref/imgui")
file(GLOB HEADERS "*.h" "Console/*.h" "McZapkie/*.h")
set (CMAKE_CXX_STANDARD 20)

set(SOURCES
"Texture.cpp"
"old/TextureDDS.cpp"
"Timer.cpp"
"Track.cpp"
"Traction.cpp"
"TractionPower.cpp"
"Train.cpp"
"TrkFoll.cpp"
"old/VBO.cpp"
"old/wavread.cpp"
"old/World.cpp"
"old/AdvSound.cpp"
"AirCoupler.cpp"
"AnimModel.cpp"
"Button.cpp"
"Camera.cpp"
"Console.cpp"
"Console/LPT.cpp"
"old/MWD.cpp"
"Console/PoKeys55.cpp"
"Driver.cpp"
"dumb3d.cpp"
"DynObj.cpp"
"EU07.cpp"
"Event.cpp"
"EvLaunch.cpp"
"old/FadeSound.cpp"
"Float3d.cpp"
"Gauge.cpp"
"Globals.cpp"
"old/Ground.cpp"
"Logs.cpp"
"McZapkie/friction.cpp"
"McZapkie/hamulce.cpp"
"old/mctools.cpp"
"McZapkie/Mover.cpp"
"McZapkie/Oerlikon_ESt.cpp"
"MdlMngr.cpp"
"MemCell.cpp"
"Model3d.cpp"
"mtable.cpp"
"parser.cpp"
"renderer.cpp"
"PyInt.cpp"
"old/RealSound.cpp"
"ResourceManager.cpp"
"sn_utils.cpp"
"Segment.cpp"
"sky.cpp"
"sun.cpp"
"stars.cpp"
"lightarray.cpp"
"skydome.cpp"
"old/Sound.cpp"
"Spring.cpp"
"gl/shader.cpp"
)

if (WIN32)
add_definitions(-DHAVE_ROUND) # to make pymath to not redefine round
set(SOURCES ${SOURCES} "windows.cpp")
endif()

if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
set(SOURCES ${SOURCES} "eu07.rc")
set(SOURCES ${SOURCES} "eu07.ico")
endif()

add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS})

if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
# /wd4996: disable "deprecation" warnings
# /wd4244: disable warnings for conversion with possible loss of data
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4996 /wd4244")
endif()

find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${OPENGL_LIBRARIES})

find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${GLEW_LIBRARIES})

find_package(glfw3 REQUIRED)
include_directories(${glfw3_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} glfw)

find_package(GLUT REQUIRED)
include_directories(${GLUT_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${GLUT_LIBRARIES})

find_package(PythonLibs 2 REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${PYTHON_LIBRARIES})

find_package(PNG REQUIRED)
include_directories(${PNG_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${PNG_LIBRARIES})

No i ogólnie nie łatwiej byłoby się trzymać standardu CMake i z tego generować solucje VSa? Ew. korzystać z projektu który obsługuje CMake'a, coby inni mogli też skorzystać ;) (https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019)
« Ostatnia zmiana: 08 Września 2020, 22:51:42 wysłana przez mrozigor »

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #21 dnia: 08 Września 2020, 22:51:31 »
Do końca miesiąca będzie zmergowany mój kod.

Offline mrozigor

  • Wiadomości: 9
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #22 dnia: 08 Września 2020, 22:52:23 »
W sensie repo tmj-a do głównego?

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #23 dnia: 08 Września 2020, 22:53:56 »
Tak, do tego z buildem cmake dla win/osx/linux.

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #24 dnia: 19 Października 2020, 00:00:14 »
Jest zmergowane do stanu repo tmj sprzed dwóch tygodni
https://github.com/Milek7/maszyna/tree/sim

Tymczasowo nie działa tryb OpenGL ES.
Nie wygenerowałem jeszcze nowych plików językowych więc tłumaczenie exe będzie niekompletne.

Jak są inne bugi to krzyczcie.

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 990
    • Zobacz profil
  • Otrzymane polubienia: 739
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #25 dnia: 19 Października 2020, 03:14:32 »
Zmergowałem ostatnie zmiany tmj, powinno być aktualne.

Zaktualizowane pliki językowe w załączniku (do katalogu lang/)

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #26 dnia: 26 Kwietnia 2021, 14:10:46 »
Wreszcie udało mi się podbić PKGBUILD dla dystrybucji opartych na Arch Linux: https://aur.archlinux.org/packages/maszyna-git/.

Generalnie wszystko działa, brakuje tylko natywnego startera. No i po instalacji paczki trzeba uruchamiać z katalogu /opt/maszyna i do tego przez sudo, ale jest postęp. Dziękl.

Offline lisuml

  • Wiadomości: 20
    • Zobacz profil
  • Otrzymane polubienia: 3
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #27 dnia: 26 Kwietnia 2021, 17:16:54 »
Na dzień dzisiejszy udało mi się poczynić wrappera w bashu, który linkuje niezbędne pliki i katalogi w katalogu domowym użytkownika i poprzez wine odpala starter windowsowy. Wygląda na to, że wszystko działa!

Offline marcinn

  • Wiadomości: 13
    • Zobacz profil
  • Otrzymane polubienia: 9
Odp: Kod źródłowy aktualnej wersji
« Odpowiedź #28 dnia: 01 Maja 2021, 17:06:48 »
Panowie, dwa dni temu przesiedziałem nad próbą kompilacji forka tmj na pingwinie i prawie miałem tu zapytać o parę detali, ale nie dostaję powiadomień z tego wątku i nie wiedziałem żeście przez rok zrobili taki postęp. No szanowni... działa to elegancko! Stare błędy usunięte, odpalają się scenariusze które mi wcześniej nie działały, zmiany w simie na same plusy. Jestem pod wrażeniem! Gdzie mam nadać alkohole dziękczynne? :)