FELIETONY:
Sonic Adventure Hacking ver.0.2 [ by Nettapu
]
|
Premiera gry Sonic Adventure była dla wszystkich fanów momentem wyjątkowym -
Sonic przeszedł porządną metamorfozę i ukazał się na bardzo dobrej (wtedy) i
szybkiej konsoli. Sonic mógł pokazać naprawdę na co go stać. Wystarczy włożyć
płytkę do napędu w konsoli.. Właśnie. Płytkę. Z powodu oczywitego, jak bardzo
duża ilość danych (no i dostosowanie się do rynku) Sonic Adventure, tak jak
wszystkie inne gry na DC wyszły na specjalnych płytach GD-ROM. Czym różni
się płyta GD-ROM od zwykłej płyty CD-ROM? Po pierwsze, pojemnością. Płyta GD-Rom
może pomieścić do jednego GB danych (zwykła płyta CD mieści od 650 do 800 mb).
Po drugie, budową fizyczną. Płyta GD-ROM składa się z dwóch części: pierwsza,
posiada dwie sesję - sesje dźwiękową ("This is a dreamcast disk, and can be
used...") i sesję z danymi, gdzie umieszczone są dane czytane przez komputery PC
(tu znajdują się np. tapety, ale najczęściej informacje techniczne). Ta część
płyty jest zakańczana dwumilimetrowym paskiem z napisem SEGA, by normalne napędy
komputerowe nie czytały płyty dalej, tylko "myślały" że to już koniec płyty.
SEGA chciała tym sposobem uniknąć piractwa. Oczywiście, piraci znaleźli sposób
jak obejść pierwszą część płyty i kopiować płyty (robią to przez dreamcasta, ale
to już inna historia). W drugiej części płyty znajdują się dane gry. Wszystkie
tzw. "kope zapasowe gier" (aka backups) zawierają tylko drugą część płyty.
Posiada ona dwie sesje (muzyczną i z danymi). Jeśli chcesz zająć się
"hackowaniem" Sonic Adventure, potrzebujesz właśnie takiej kopii gry, która
będzie "odczytywana" przez napęd CD w twoim komputerze. Radzę także zostawić
sobie 1 GB wolnego miejsca na dysku, by zgrać całą zawartość płyty na dysk, by
móc edytować pliki gry. Większość potrzebnych progamów ściągniecie z:
www.MegaGames.com
Przejdźmy już do samej płyty z
grą Sonic Adventure. W głównym katalogu znajdują się pliki IP.bin, 1ST_read.bin,
2_DP.bin, 0GDTEX.PVR i pliki strony internetowej (opcja Internet w menu głównym
gry). Plik 0GDTEX.PVR jest plikiem tekstury płyty, która jest wyświetlana po
włożeniu płyty do Dreamcasta i otworzenia jej jako płyty Audio (kręcąca się
płyta wokół własnej osi). Co to za plik z rozszerzeniem *.PVR (power vr texture
format)? Wszystkie pliki tekstur na płycie posiadają właśnie to rozszerzenie.
Inne rozszerzenia to np.: *.adx, *.prs. Pliki *.pvr radzę przeglądać programem
Susie z wgraną wtyczką obługi tego typu plików, do ich edycji polecam poprostu
Adobe Photoshop także z wtyczką do obsługi *.pvr.
Nazewnictwo
plików pvr jest proste i łatwo domyśleć się co w każdym pliku jest:
Bitmapy tytułów leveli: (pierwsza litera nazwy
postaci)_STAGE(numer levelu)(określenie języka: nic - japoński, _E - angielski
Bitmapy tekstu misji: MISSION_(pierwsza litera nazwy
postaci)_(nazwa misji definicja misji np. rings, czyli zebranie 100 pierścieni
na czas)_(pierwsza litera języku)
Tekstury tytułów lokacji
(adventure field): T_(nazwa lokacji) (definicja języka, czyli np. _E)
Te tytuły są wspólne dla każdej postaci i występują najczęściej.
Sprite'y zestawów czcionek: (definicja czcionki)_txt
(odkrywcze, nie? :]) Przy edycji zestawów czcionek, musimy pamiętać, iż
gra ma zapamiętany współrzędne liter i ich wymiary, zatem przy tworzeniu
własnych czcionek musimy uważać by jedna literka nie wchodziła na drugą. Więc
nie szalejcie przy wymyślaniu nowych rodzaji tych cziocnek, ponieważ możecie
osiągnąc nierządany efekt...
Pierwsze litery postaci: S
(Sonic), M (Miles), K (Knuckles), A (Amy), B (Big), i E (E-102). Dla każdej
postaci jest inna seria tytułów leveli, ponieważ każda postać ma "własny kolor"
i levele przeczhodzi w różnej kolejności. Tytułów leveli posiada najwięcej
Sonic, ponieważ występuje on prawie w każdym levelu.
Edytując te
pliki możemy osiągnąć ciekawe efekty. Na przykład możemy spolszczyć grę lub
pozmieniać tytuły leveli, możemy zmienić czcionkę napisów końcowych, lub
wymazując wszystkie litery poprostu je usunąć (co nie jest dobrym pomysłem,
lepiej zedytować plik summary.prs w którym znajdują się napisy końcowe i
poprostu wyzerować cały tekst lub poddać go śmiesznej przeróbce).
Przy edycji bitmap tekstu misji, radzę brać czciockę Arial Bold
o rozmiarze 21 i najlepiej by była Smooth.
Ja widać na
obrazku różnica pomiędzy obiema czcionkami jest niewielka. Trzeba też pamiętać,
że w tym przypadku tekst jest wyśrodkowany i wartości celu misji (tutaj czas) są
czerwone. Przy edycji tych bitmap nie zmieniajcie rozmiarów
obrazka.
Oto szablony które zrobiłem i które mogą się wam
przydać:
Tytuł poziomu
Sonica
Tytuł poziomu
Tailsa
Tytuł poziomu
Knucklesa
Tytuł poziomu Amy
Tytuł
poziomu Biga
Tytuł poziomu
E-102 Gammy
Tytuł
sub-gry
Pliki dźwiękowe w Sonic Adventure (i w większości innych
gier) możemy podzielić na pliki z dwoma rozszerzeniami: *.adx, czyli zwykły plik
dźwiękowy i *.asf - spakowany zbiór plików dźwiękowych. Pliki adx w SA to muzyka
podczas leveli oraz np. dźwięk ukończenia rundy. Pliki z utworami można
podzielić na części. Pierwsza część to część wstępna. Następnie jest część
właściwa utworu. Część pierwszą oddziela od drugiel tzw. "loop flag" czyli
chorągiewka zapętlenia, a więc miejsce do którego wraca utwór po własnym
skończeniu.
Pliki *.asf na płycie są dwa: event_adx.asf i jego
angielski odpowiednik. Po rozpakowaniu zawartości pliku event_adx_e.asf (np.
używająć AFS->ADX Unpacker) otrymamy 2044 pliki, który każdy jest efektem
dźwiękowym z gry, najczęściej dialogiem. Jak je odsłuchać? Polecam wtyczkę do
WinAmpa do obsługi plików adx. Zwróć uwagę na niektóre pliki, które nie były
wykorzystane w końcowej wersji gry (np. począwszy od nr 01994 znajdziemy "SEGA"
i "SONIC TEAM" mówione przez postaci z gry. Najbardziej lubię kiedy Big mówi^^).
Edycja tekstu, "stringów" w grze.
Tekst
zapisany jest w plikach o rozszerzeniu *.bin, choć nie każdy plik o takim
rozszerzeniu to tekst. Inne pliki (np. te które zaczynają się na cam) są to
współrzędne kamery, które są potrzebne podczas filmików generowanych przez
konsolę. Są to też pliki mówiące jak dana postać ma się zachowywać podczas
filmiku (np. uśmiech, skok, mówienie itp.). My narazie zajmiemy się edycją tych
plików, które zawierają tekst używany podczas
gry:
Nazewnictwo plików:
Dialogi
w "Adventure mode" Skrót rejonu (SS-Statnio Square, MR-Mystic Ruins)lub
PAST dla dialogów z przeszłości_MES_pierwsza litera postaci_pierwsza litera
języka.BIN
Dialogi podczas sekwencji filmowych:
EVXXXX.PRS gdzie XXXX to numer filmiku/wydarzenia.
Inne
pliki: SUMMARY.PRS - podsumowania i napisy końcowe
ADVERTISE.PRS
- Tytuły piosenek w Sound Test
Pliki otwierać możemy
hexeditorem lub dowolnym edytorem tekstu, ale edytujemy TYLKO HEXEDITOREM,
ponieważ nie możemy nadpisać żadnych bite'ów. Podczas edycji stringów napotykamy
się na różne znaki.
Pliki PRS trzeba najpierw zdekompresować,
potem edycja i z powrotem musimy skompresować. By to zrobić, użyj tych aplikacji
Obsługa
aplikacji prsdec Otwieramy wiersz polecenia, przechodzimy do
katalogu w którym jest plik *.prs do dekompresacji (i w którym znajduje się
aplikacja prsdec). Wydajemy następujące polecenie:
prsdec XXXXXXX.PRS YYYYYYYY.ZZZ
gdzie X to nazwa pliku bazowego, y nazwa
pliku wyjściowego, Z rozserzenie pliku wyjściowego.
Większość
plików prs to pliki pvm, czyli biblioteki tekstur. Jest to zbiór plików PVR. Do
"rozpakowania" biblioteki PVM służy oddzielna aplikacja,
pvmupk.
Obsługa aplikacji pvmupk
Otwieramy
wiersz polecenia, przechodzimy do katalogu w którym jest plik *.pvm
do rozpakowania (i w którym znajduje się aplikacja pvmupk). Wydajemy następujące
polecenie:
pvmupk XXXXXXX.PVM
gdzie X to nazwa pliku
biblioteki.
Tagi używane podczas edycji tekstów Oto
lista najczęściej używanych tagów używanych w plikach z tekstem gry:
Tag |
Co robi |
07 |
Nowy tekst |
0A |
Nowa linia tekstu |
00... 09 |
Nowa linijka tekstu w summary |
00.. 81 40 |
Nowe summary |
*** |
*** |
> Większość hexeditorów zastępuje w ASCII np. 0A, 07 kropkami, więc
pamiętajcie, że prawdziwa kropka ma wartość 2E. Uważajcie przy edycji tekstu by
nie zjadać tagów nowych linii, ponieważ tekst będzie wtedy nie mieścił się w
linijce i w wyniku czego nie zostanie on cały umieszczony/nie będzie cały
widoczny.
FF jest używany często do odznaczenia dialogów pomiędzy sobą,
wyświetlany jest najczęściej w ASCII jako Y z falą u góry.
Nagrywanie
gotowego hacka Erm, a więc: gdy wszystkie pliczki gotowe (zostały
spowrotem skompresowane itp.), zabieramy się do nagrywania gry. Nagramy wersję
non-selfboot naszej gry. Nagrywamy wszystko jak leci, czyli pliki strony
internetowej (ja je usuwam - sa zbędne), IP.BIN itd. do katalogu głównego, pliki
gry do SONICADV. Label nadajemy Sonic. I teraz bardzo ważne, o czym musicie
pamiętać: zawsze musi być Mode 1 i ISO level 2, inaczej gra nie będzie działać.
Znaki ISO 9660.
U góry macie screena pokazującego co się dzieje, kiedy popełnicie błąd przy
nagrywaniu CeDe. EOF
Pliki PVM: Struktura i operowanie na
plikach PVM
Jak już napisałem pliki PVM są to biblioteki
tekstur. Dzięki programowi pvmupk w który zdążyliście się pewnie
zaopatrzyć (plik DC.rar), macie możliwość wypakowania plikó PVR z plików
PVM. Tylko jak teraz spakować je z powrotem?
Struktura plików PVM jest banalnie prosta, wystarczy dobra znajomość w posługiwaniu
się dowolnym Hexeditorem. Każdy plik *.pvm zaczyna się od PVMH. następnie
są wymieniane nazwy plików w kolejności w jakiej występują. Pomiędzy każdym
plikiem jest 22 byte'ów przerwy, potem jest znak o różnej wartości (którym
nie musicie się przejmować, a następnie kolejne 5 byte'ów przerwy. Każdy
plik *.pvr zaczyna się od PVRT. Jak zauważycie po dalszym wglądzie w
dowolny plik pvm, tu też występują wyrazy PVRT. Struktura plików pvm jest
bardzo prosta: po liście nazw plików znajdują się pokoleji jeden za drugim
pliki pvr. Załużmy, że chcemy podmienić trzeci plik (plik który na liście
u góry pliku jest trzeci). A więc: przechodzimy do trzeciego wystąpienia
PVRT i wszystko od jednego PVRT do następnego PVRT (nie włącznie)
zamieniamy plikiem który jest gotowy do podmiany. Viola! To szystko!
Uwaga: Niektóre
konwertery "file to PVR" dodają różne tagi na początku pliku,
Usuńcie je i doprowadźcie plik do poprzedniego rozmiaru np. dodając byte'y
na koniec pliku.
|
|