Data Shenanigans - The programming blog at its finest!
  • O mnie
  • Programy
Inżynieria wsteczna

Gruntz – specyfikacja WWD

luty 3, 2019 by Tomalla Brak komentarzy

Pliki o rozszerzeniu WWD (Wap World Document) służą do przechowywania poziomów w grach opartych na silniku WAP32. Do edycji tych plików służy edytor poziomów: Gruntz Level Editor (GLE) w przypadku gry Gruntz lub Wap World dla gry Claw. Edytory pod względem implementacyjnym praktycznie w ogóle się nie różnią, ale jako że GLE dodaje parę nowych elementów względem swojego poprzednika, artykuł będzie poświęcony właśnie plikom WWD produkowanym przez edytor GLE, które są funkcjonalnym nadzbiorem poziomów WWD do gry Claw.

Poniżej znajduje się formalna specyfikacja formatu plików WWD z uwzględnieniem delikatnych różnic pomiędzy grami Gruntz oraz Claw.

Na początek garść podstawowych informacji, jaka jest struktura poziomów WWD. Dłuższy czas się zastanawiałem nad tym, czy tłumaczyć te terminy na język polski, ale w końcu stwierdziłem, że nie będę pisał potworków w stylu: “na plane’ie znajdują się tiles’y”. Być może zbiorę od wielu cięgi za te tłumaczenia, no ale trudno, biorę to na klatę 😛

  • plane – w wolnym tłumaczeniu “płaszczyzna”. Każdy poziom jest złożony z co najmniej jednej płaszczyzny oznaczonej jako główna, na której dzieje się akcja gry. Pozostałe płaszczyzny są opcjonalne i są używane w celach dekoracyjnych.
  • tiles – spotkałem się z tłumaczeniem “klocki”, ale chyba bardziej wolę termin “kafelki”. Złożona jest z nich każda płaszczyzna.
  • tile properties – każdy kafelek na głównej płaszczyźnie może mieć różną funkcjonalność i w różny sposób reagować z otoczeniem. Informacje te są opisane we właściwości kafelków.
Continue reading
Inżynieria wsteczna

Gruntz – rozczytywanie pliku CHEATZ.TXT

grudzień 10, 2017 by Tomalla Brak komentarzy

W poprzednim artykule omawiałem ze szczegółami budowę pliku ATTRIBUTEZ.TXT. Teraz pora na kolejny i zarazem ostatni plik z tej samej kategorii, a mianowicie – plik CHEATZ.TXT. W związku z tym, że oba pliki mają ze sobą wiele wspólnego, przed przeczytaniem tego artykułu polecam najpierw zapoznać się z artykułem poświęconym plikowi ATTRIBUTEZ.TXT, nawet pobieżnie. Powinno to dać pewien zarys tego, z czym się teraz mierzymy.

Plik CHEATZ.TXT miał dla mnie szczególne znaczenie. Po pierwsze, sposób szyfrowania wykorzystany w pliku ATTRIBUTEZ.TXT odkryto podczas mojej nieobecności – byłem wówczas w trakcie stosunkowo dłuższej przerwy od Gruntzów i jak wróciłem na forum, stanąłem przed faktem dokonanym. Śmiesznie się czułem na samą myśl, że tak wielkie odkrycie ominęło mnie szerokim łukiem. Po drugie, okazało się, że plik ATTRIBUTEZ.TXT zawiera naprawdę ważne rzeczy, w tym – kody do gry. Z całych 148KB, jakie zajmuje plik, prawie 5.5KB stanowią same kody (jest ich łącznie 69). Tymczasem plik CHEATZ.TXT nie ma nawet 1KB i jest ponad sześć razy mniejszy niż same kody z pliku ATTRIBUTEZ.TXT! Prowokuje to pytanie, co też takiego znajduje się w tym pliku? Czy rzeczywiście są tam kody do gry, jak sugerowałaby nazwa? Jeżeli tak, to musiałoby ich być naprawdę niewiele, o wiele mniej niż w pliku ATTRIBUTEZ.TXT. A po trzecie – wystarczy spojrzeć na samą lokalizację pliku. Pełna ścieżka do niego to mianowicie STATEZ\CREDITZ\PALETTEZ\CHEATZ.TXT. Ciekawe, czy ma ona jakikolwiek związek z zawartością pliku.

Continue reading
Inżynieria wsteczna

Gruntz – rozczytywanie pliku ATTRIBUTEZ.TXT

grudzień 9, 2017 by Tomalla Brak komentarzy

Spośród tysięcy różnych plików w archiwum GRUNTZ.REZ dwa są w pewnym sensie wyjątkowe i niepowtarzalne na swój sposób. Są to mianowicie pliki GAME\ATTRIBUTEZ.TXT oraz STATEZ\CREDITZ\PALETTEZ\CHEATZ.TXT. W sumie w archiwum są cztery pliki z rozszerzeniem *.TXT. Oprócz tych dwóch wymienionych wcześniej, są jeszcze pliki GAME\VERSION\VERSION.TXT (nie wykorzystywany przez samą grę, zawierający jedynie napis “1.00“) i STATEZ\CREDITZ\CREDITZ.TXT (napisy końcowe wyświetlane po zakończeniu gry z zabawnymi gagami na końcu). Ale o ile te dwa pliki z łatwością można rozczytać za pomocą zwykłego notatnika, o tyle na plikach ATTRIBUTEZ.TXT oraz CHEATZ.TXT można sobie połamać zęby – jak otworzy się je w notatniku, pojawiają się bowiem … same krzaki. Jeżeli ktoś chce je mieć do wglądu, można je pobrać tutaj:

  • ATTRIBUTEZ.TXT (147KB)
  • CHEATZ.TXT (1KB)

Chwila moment, przecież są to pliki binarne! Kiedy pierwszy raz zobaczyłem te pliki wiele lat temu, poczułem momentalne rozgoryczenie tym faktem. Byłem bowiem wówczas przekonany o tym, że nigdy nie poznam zawartości tych plików. Co jak co, ale plik CHEATZ.TXT może wywołać ślinotok u co niektórych ze względu chociażby na samą nazwę. I co on robi w folderze PALLETEZ?

W tym poście postaram się wyjaśnić, czym tak naprawdę jest plik ATTRIBUTEZ.TXT i czemu służy. W kolejnym poście natomiast zajmę się plikiem CHEATZ.TXT.

Continue reading
Inżynieria wsteczna

Gruntz – krótka historia modowania

grudzień 8, 2017 by Tomalla Brak komentarzy

Gruntz … praktycznie gra mojego dzieciństwa (ustępująca jedynie grze The Neverhood) i gra, którą darzę szczególną sympatią. Zresztą nie tylko ja – od samego początku, w momencie, kiedy gra wyszła w 1999, powstało co najmniej parę różnych Gruntzowych społeczności oraz fanpage’ów. Czas nie oszczędzał nikogo i wszystkie powoli się wykruszały aż zostało w gruncie rzeczy (pardon the pun 😉 ) jedynie forum GooRoo’s Gruntz. Forum funkcjonuje już od ponad 14 lat (sam jestem na niej zarejestrowany już od lat dziesięciu) i naturalnie miał okresy większej i mniejszej aktywności. Ale dzięki założycielowi forum – Ed’a Kivi – wszystko prężnie się rozwija. Większość aktywności forum opiera się w dużej mierze na grupie tzw. Designerów, którzy od czasu do czasu tworzą nowe poziomy, w które grają pozostali fani. W momencie pisania tego posta, poziomów jest już 619 i ta liczba ciągle się powiększa (12 z nich jest nawet mojego autorstwa), najnowszy poziom wyszedł nawet niespełna miesiąc temu. Więc samo forum ma się jeszcze dobrze 😉

Pokusiłbym się nawet o stwierdzenie, że gra Gruntz skupiła wokół siebie pewnego rodzaju fandom. Są tworzone ilustrowane opisy przejścia (tzw. walkthroughs) standardowych poziomów i tych niestandardowych (również w formie filmów video), są toczone niezliczone dyskusje odnośnie ewentualnych sequelów gry (są nawet próby stworzenia takowego), nawet był okres czasu, kiedy tworzone były krótkie komiksy o tematyce Gruntzów. Czego to ludzie nie wymyślali. Oprócz tego na forum panuje maniera specyficznego zapisywania końcówek angielskich wyrazów, które kończą się na literę “s”. Zamiast niej mianowicie piszę się literę … “z”. Tak więc przeglądając forum bardzo często spotka się takie słowa, jak “Switchez”, “Cheatz”, czy “Toolz” zamiast zwykłych “Switches”, “Cheats” i “Tools”. Taki zapis nie ogranicza się jedynie do rzeczowników liczby mnogiej – dajmy chociażby wyrażenie “Indiana Jonez” jako przykład (a sto punktów dla tych, którzy wiedzą, gdzie to wyrażenie jest wykorzystywane w grze!). Ta specyficzna maniera zapoczątkowana została przez samych twórców gry (wystarczy spojrzeć chociażby na nazwę gry – “Gruntz”).

Continue reading

Inne języki

  • EnglishEnglish

Ostatnie wpisy

  • Gruntz – specyfikacja WWD luty 3, 2019
  • Gruntz Decryptor 1.1.0 – dekodowanie kodów do gry listopad 14, 2018
  • Gruntz Decryptor sierpień 18, 2018
  • Gruntz – rozczytywanie pliku CHEATZ.TXT grudzień 10, 2017
  • Gruntz – rozczytywanie pliku ATTRIBUTEZ.TXT grudzień 9, 2017

Najnowsze komentarze

    Kategorie

    Inżynieria wsteczna (4) Nieskategoryzowane (2) Program (3)

    Tagi

    ATTRIBUTEZ.TXT & CHEATZ.TXT (3) Gruntz (8) Ogłoszenia parafialne (1) PID (1) REZ (3) Specyfikacje (1) WWD (2)

    Meta

    • Zaloguj się
    • Kanał RSS z wpisami
    • Kanał RSS z komentarzami
    • WordPress.org

    © 2011 All rights reserved.