Cóż... Na starość człowiek geeczeje, a do głowy przychodzą różne głupie pomysły. I tak zamiast kończyć przygotowania do wydania nowej wersji Python Window Organizera w wolnej chwili postanowiłem pobawić się modelami jednej z moich ulubionych gier.
Quake MDL Loader
Korzystając ze znakomitego opisu formatu plików MDL autorstwa Davida Henry'ego (warto też zerknąć do Unofficial Quake Specs ) napisałem sobie prosty pythonowy programik wczytujący modele z Quake'a 1. Kod źródłowy można sobie zobaczyć i pobrać z katalogu python/quake w repozytorium kosciak-misc. Może komuś się jeszcze przyda.
Od strony programistycznej wielkiej filozofii tu w sumie nie ma. Całość sprowadza się do użycia modułu struct w celu rozpakowania danych binarnych. Jeśli zaś chodzi o samą strukturę danych najlepiej zerknąć do wspomnianych wyżej specyfikacji lub do źródeł narzędzia modelgen z pakietu qutils . Dodam jeszcze, że zaimplementowałem jedynie tzw "simple frames", nie uda się więc załadować modeli flame.mdl i flame2.mdl. Pozostałe wydają się działać prawidłowo.
A na koniec jeden z efektów zabawy z zaimportowanym modelem - stereoskopowy Shambler w galopie!
Słyszałem, że wszystko wygląda lepiej w 3D :-)
piątek, 29 kwietnia 2011, kosciak1