Nie-fotorealistyczny quake
Wednesday, 26. March 2008, 12:43:54
Podczas swoich zabaw z różnymi silnikami trafiłem kiedyś na NPRQuake. Zgodnie z zasadą "najciemniej zawsze pod latarnią" - okazało się, że jest w portage. I, paradoksalnie, tutaj zaczęły się problemy.
Największy kłopot był z wszelkiego rodzaju danymi, które silnik chciał zapisywać. Złożyłem raport błędu, w którym opisałem problem z zachowaniem stanu gry, konfiguracji i zrzutów ekranu. Następnie, spodziewając się małego zainteresowania błędem, zaprzęgłem
Niestety, to co wydawało się proste, okazało się dość czasochłonne. Godzina była dość późna, nadchodził dłuższy weekend i... polegliśmy. Jak udało się zapisać w odpowiednim miejscu, to pojawiał się inny błąd, a po nim kolejny. Projekt z braku czasu i pomysłu na rozwiązanie trafił na półkę.
Jednak, jak się okazało, nie na długo. W poniedziałek wieczorem postanowiłem popatrzeć na to jeszcze raz. Bez pośpiechu, bez wielkich nadziei na sukces... (w końcu moje programistyczne skille kończą się na "Hello World"). Dla lepszej orientacji pobrałem sobie źródła tyrquake i, poszukując słów-kluczy, patrzyłem i kombinowałem. Zamieniałem kawałki kodu na inne, zmieniałem nazwy jakiś dziwnych rzeczy, które nie wiem co robią i dlaczego - w skrócie: czułem się jak etatowy pracownik MS. (;
Po wielu testach udało się skompilować całość w /tmp. Wszystko zapisywało się i odczytywało z ${HOME}/.${engine}/${gamemod}. Czym prędzej przeniosłem łatkę do ${FILESDIR}, wygenerowałem nowy manifest i... pojawił się kolejny problem. Patche Gentoo nie były kompatybilne z nowymi źródłami, wzbogaconymi o wtyczkę autorstwa Adriana Ilie. Te, które się niewiele zmieniły, dodałem od ręki. Inne robiły problemy, ale w końcu i one się poddały mocy kompletnego amatora!
emerge przeszedł bez problemu, nprquake-sdl się odpalił i, po raz kolejny, pojawiło się małe "ale". Z czterech dostępnych trybów renderowania działały tylko dwa. Szybko zlokalizowałem problem, którym były dodatkowe pliki potrzebne do działania owym wtyczkom. Sprawę rozwiązał odpowiedni sed w ebuildzie. Sprawdziłem na dwóch maszynach, na obu działa bez problemu. Teraz tylko czekać (i czekać i czekać i czekać ;) aż jakieś łaskawe oko deva popatrzy na bug#213966...
Wtyczki widoczne na zrzutach ekranu to w kolejności: sketch, brush, bprint, ainpr. Można je zmieniać w locie wpisując w konsoli r_load nazwa_wtyczki. Niektóre mają też kilka własnych opcji, które zazwyczaj kryją się pod nazwa_wtyczki[TAB].



