Symulator EU07 (i nie tylko) > Poradniki
[INNE] Konwersja paczki pctga do wariantu dds/e3d
Hirek:
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:
--- Kod: ---└── folder roboczy/
├── build/
├── eu07/
├── pctga/
├── e3dize
├── make_recipe
├── make_diff
├── makedds
├── ninja_syntax.py
└── dump_structure
--- Koniec kodu ---
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:
--- Kod: ---sudo apt-get update
sudo apt-get install nvidia-texture-tools vorbis-tools imagemagick python3 ninja-build
--- Koniec kodu ---
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:
--- Kod: ---sudo chmod +x *
--- Koniec kodu ---
- 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
--- Kod: ---./make_recipe
--- Koniec kodu ---
- wygeneruje nam ono plik kompilacji (build.ninja). Następnie uruchamiamy kompilację poleceniem
--- Kod: ---ninja -j4
--- Koniec kodu ---
Liczba 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
jakubg1:
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.
Sowik2:
Na przyszłość:
1.Gdyby komuś wyrzucało taki błąd:
--- Kod: ---ninja: error: build.ninja:26694: multiple rules generate build/scenery/.scn [-w dupbuild=err]
--- Koniec kodu ---
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.
--- Cytat: Hirek w 14 Kwietnia 2022, 12:26:13 ---Następnie z nazwy pliku wykonywalnego symulatora kasujemy dopisek “.exe” (eu07.exe powinno zamienić się w samo eu07).
--- Koniec cytatu ---
Aby to uczynić należy, będąc w głównym folderze roboczym, uzyć polecenia:
--- Kod: ---mv eu07/eu07.exe eu07/eu07
--- Koniec kodu ---
(To dla tych "małolinuxowych" jak ja).
Sowik2:
Słuchajcie, jest teraz inny problem. DDS-y tworzą się ok, ale nie chce działać konwersja T3D -> E3D. Oto przykład błędu:
--- Kod: ---[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]
--- Koniec kodu ---
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
Piotr93:
Jak ci się uda złożyć paczkę to będziesz wyniesiony na ołtarz w królestwie niebieskim 424.
Nawigacja
[#] Następna strona
Idź do wersji pełnej