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 -j4
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