Autor Wątek:  [INNE] Konwersja paczki pctga do wariantu dds/e3d  (Przeczytany 5322 razy)

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

Offline Hirek

  • Wiadomości: 300
  • ugułem to siemens fajne wozy robi
    • Zobacz profil
    • Kanał YT
  • Otrzymane polubienia: 215
[INNE] Konwersja paczki pctga do wariantu dds/e3d
« dnia: 14 Kwietnia 2022, 12:26:13 »
Paczki dds/e3d od czystej pctga różnią się krótszym czasem wczytywania, czy mniejszym rozmiarem. Oto jak taką konwersję przeprowadzić. Udostępnienie narzędzi z załącznika i napisanie poradnika za zgodą @Milek7.
Tak więc co nam będzie potrzebe?
Aby móc przejść przez proces kompilacji paczki do wariantu dds/e3d, czyli takiego, który zwykle zajmuje dużo mniej miejsca na dysku niż wersja tga/t3d (dalej pctga) potrzebujemy następujących rzeczy:
  • Pobrane repozytorium pctga (można pobrać za pomocą TortoiseSVN)
  • Windows Subsystem for Linux 2.0 (poradnik instalacji)
  • trochę cierpliwości i wolnego czasu
  • Narzędzia z załącznika

Od czego zacząć?
Przygotowanie:
Najprościej można zacząć od utworzenia gdzieś na dysku pustego folderu. W środku tworzymy foldery: build, eu07, oraz pctga. Folder pctga powinien zawierać pliki z repozytorium, folder eu07 pliki wymagane do uruchomienia exe maszyny (tzw. kiedyś: bin_x64, czy też bin_x86). Do folderu roboczego wypakowujemy archiwum z narzędziami z załącznika. Po przygotowaniu wszystkich plików struktura folderu roboczego powinna wyglądać następująco:
└── folder roboczy/
    ├── build/
    ├── eu07/
    ├── pctga/
    ├── e3dize
    ├── make_recipe
    ├── make_diff
    ├── makedds
    ├── ninja_syntax.py
    └── dump_structure
Aby wszystko dalej działało potrzebujemy uruchomić terminal linuxa (w moim przypadku ubuntu 20.04 pod WSL). Instalujemy wymagane zależności następującym poleceniem:
sudo apt-get update
sudo apt-get install nvidia-texture-tools vorbis-tools imagemagick python3 ninja-build
Zainstaluje nam ono wszystkie wymagane narzędzia wymagane do konwersji plików do odpowiednich formatów. Teraz musimy przygotować exe maszyny do konwersji t3d >> e3d. W tym celu wchodzimy do folderu eu07 i tam wrzucamy zawartość naszego bin_x64 (lub bin_x86). Następnie z nazwy pliku wykonywalnego symulatora kasujemy dopisek “.exe” (eu07.exe powinno zamienić się w samo eu07).  Powracamy do głównego folderu roboczego i wpisujemy następujące polecenie: sudo chmod +x * - pozwoli to nam na uruchomienie narzędzi.

Właściwe kompilowanie paczki:
W tym momencie jedyne co pozostaje to przejść do folderu roboczego w terminalu linuxa. W tym celu korzystając z komend cd (change directory) nawigujemy do katalogu /mnt/ w którym znajdują się litery naszych dysków w naszym komputerze. Dalej podążamy za ścieżką windowsową. W moim przypadku ścieżka do folderu roboczego według windowsa wyglądała następująco: E:\Hirek\Games\eu07-pack\, natomiast na ubuntu będzie wyglądała tak: /mnt/e/Hirek/Games/eu07-pack/.
Aby rozpocząć kompilację wpisujemy polecenie ./make_recipe - wygeneruje nam ono plik kompilacji (build.ninja). Następnie uruchamiamy kompilację poleceniem ninja -j4Liczba 4 oznacza ilość wątków procesora, jakie ninja będzie mógł wykorzystać. Można sobie regulować do woli :). W tym momencie czekamy na skompilowanie się paczki. Po pewnym czasie (u mnie 15h) w folderze build otrzymujemy gotową do spakowania paczkę dds/e3d.

Jeśli coś byłoby nie zrozumiałe to można napisać w odpowiedzi - wytłumaczę. W przypadku jakiegoś większego błędu poprawię posta. W zrozumieniu tego procesu pomógł @Milek7.

Edit 22.05.2022: Poprawiony załącznik - zapomniałem o jednej libce...
Edit 01.01.2023: Poprawka załącznika  i treści zgodnie z tym co napisał @Jakubg1
« Ostatnia zmiana: 01 Stycznia 2023, 19:29:48 wysłana przez Hirek »

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1604
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1284
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #1 dnia: 30 Listopada 2022, 14:57:28 »
Na liście plików powinny znajdować się ponadto:
makedds
ninja_syntax.py

W makedds w linijce 14 jest błąd - należy zamienić początek komendy z ./nvcompress na nvcompress.
Jak ktoś z administracji poprawi, można usunąć ten post.

Offline Sowik2

  • Wiadomości: 22
    • Zobacz profil
  • Otrzymane polubienia: 4
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #2 dnia: 08 Kwietnia 2024, 18:54:38 »
Na przyszłość:
1.Gdyby komuś wyrzucało taki błąd:
ninja: error: build.ninja:26694: multiple rules generate build/scenery/.scn [-w dupbuild=err]
To trzeba usunąć z folderu /scenery wszystkie .scn z $ na początku nazwy. Czysta paczka ich nie zawiera, a na mojej było już grane.

2.
Następnie z nazwy pliku wykonywalnego symulatora kasujemy dopisek “.exe” (eu07.exe powinno zamienić się w samo eu07).
Aby to uczynić należy, będąc w głównym folderze roboczym, uzyć polecenia:
mv eu07/eu07.exe eu07/eu07(To dla tych "małolinuxowych" jak ja).
« Ostatnia zmiana: 08 Kwietnia 2024, 20:11:03 wysłana przez Sowik2 »

Offline Sowik2

  • Wiadomości: 22
    • Zobacz profil
  • Otrzymane polubienia: 4
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #3 dnia: 08 Kwietnia 2024, 20:38:11 »
Słuchajcie, jest teraz inny problem. DDS-y tworzą się ok, ale nie chce działać konwersja T3D -> E3D. Oto przykład błędu:
[1/64222] ./e3dize pctga/dynamic/cd/181_v2/181_cz2.t3d build/dynamic/cd/181_v2/181_cz2.e3d
FAILED: build/dynamic/cd/181_v2/181_cz2.e3d
./e3dize pctga/dynamic/cd/181_v2/181_cz2.t3d build/dynamic/cd/181_v2/181_cz2.e3d
usage: eu07 [-s sceneryfilepath] [-v vehiclename]
Czyżby problem z EXE?

EDIT: Działa. Tak, to problem z EXE. Działające EXE: https://eu07.pl/forum/index.php/topic,29423.msg559902.html#msg559902
« Ostatnia zmiana: 15 Kwietnia 2024, 20:11:49 wysłana przez Sowik2 »

Offline Piotr93

  • Deweloper
  • Wiadomości: 1739
    • Zobacz profil
  • Otrzymane polubienia: 1222
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #4 dnia: 15 Kwietnia 2024, 20:14:09 »
Jak ci się uda złożyć paczkę to będziesz wyniesiony na ołtarz w królestwie niebieskim 424.

Offline Sowik2

  • Wiadomości: 22
    • Zobacz profil
  • Otrzymane polubienia: 4
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #5 dnia: 15 Kwietnia 2024, 20:22:49 »
Były problemy oczywiście, są do poprawki jakieś dźwięki (nie ten bitrate chyba), jakieś nazwy plików niezgodne z wytycznymi, które sypią składnie oraz może ze dwa modele, które po prostu nie wiadomo czemu nie dadzą się skonwertować na .E3D. Ja sobie z tym radziłem doraźnie, bo składałem to dla siebie, ale jakby co, to mogę pomóc przy składaniu paczki.

Offline Piotr93

  • Deweloper
  • Wiadomości: 1739
    • Zobacz profil
  • Otrzymane polubienia: 1222
Odp: [INNE] Konwersja paczki pctga do wariantu dds/e3d
« Odpowiedź #6 dnia: 15 Kwietnia 2024, 20:23:42 »
No bo skoro ci się udało to możesz spróbować złożyć paczkę, bo widzisz jaką mamy sytuację teraz.