Sonic Heroes i Sonic
Raiders w dowolnej rozdzielczości na
PC | Autor - MartiusR
Pośród gier z Soniciem wydanych na PC-ty
dwie z nich mają na chwilę obecną dość
specyficzny status – są to Sonic Heroes i
Sonic Riders. Obie nie doczekały się do tej
pory żadnego wznowienia w ramach dystrybucji
elektronicznej, obie są grami trójwymiarowymi
i obie działają domyślnie w niskich (jak na
dzisiejsze standardy) rozdzielczościach. Dla
zmyślnych PC-towych graczy nie jest to na
szczęście żaden problem – w poniższym
poradniku zaprezentuję pokrótce metody, jakie
możemy wykorzystać aby cieszyć się grą w oba
tytuły w dowolnej rozdzielczości.
Sonic Heroes W przypadku
Sonic Heroes możemy po prostu skorzystać z
modyfikacji dostępnej na stronie Thirteenag
(link na końcu artykułu), następnie wypakować
zawartość pobranej paczki do katalogu z grą i
dokonać odpowiedniej modyfikacji w pliku .ini
(wpisując tam odpowiednią rozdzielczość).
Modyfikacja ta jest trochę problematyczna ze
względu na fakt, iż powoduje drobne
przekłamania graficzne w menu głównym,
widoczne na poniższym screenie:
Na szczęście, to na dobrą sprawę jedyna
poważna niedogodność, bowiem sama gra działa
bez zarzutu. Jedyną zauważalną różnicą jest
umiejscowienie elementów interfejsu wciąż w
„centralnej” części, a nie po bokach:
Zastrzeżenia: Zauważyłem, że po
dokonaniu modyfikacji grze zdarza się ładować
nieco dłużej niż przed jej dokonaniem (po
kliknięciu na „Play Game” będziecie
prawdopodobnie musieli trochę poczekać, zanim
gra „zaskoczy”, ale potem wszystko chodzi bez
większych problemów). Podobno wersje gry z
cd-checkiem (zabezpieczeniem polegającym na
sprawdzaniu przy każdym uruchomieniu gry, czy
oryginalna płyta jest w napędzie) mogą nie
współpracować z tą modyfikacją, ale nie miałem
okazji zweryfikowania tej tezy. Próby
dokonałem na europejskiej wersji gry,
dystrybuowanej w Portugalii (ten ostatni fakt
raczej nie powinien mieć znaczenia, bo w całej
Europie była sprzedawana ta sama wersja gry,
tylko napisy na pudełku były w różnych
językach.
Sonic Riders
Tutaj jest już nieco trudniej, bo gra nie
doczekała się analogicznego „gotowca” i musimy
sami dokonać modyfikacji. Do tego celu
będziemy potrzebowali dwóch rzeczy: programu
HxD oraz konwertera z systemu dziesiętnego do
szesnastkowego (oczywiście można przeliczenia
dokonać na własną rękę, ale użycie konwertera
jest szybsze i wygodniejsze). Zmian dokonamy
na pliku SonicRiders.exe, radzę zatem wykonać
przedtem jego kopię zapasową. Poniższą
modyfikację wykonałem na bazie poradnika ze
strony Wide Screen Gaming Forum (link na końcu
artykułu), jednakże był on, jak na mój gust,
pozbawiony pewnych istotnych detali, bardzo
ważnych dla początkującego. W tym poradniku
rzecz jasna wszystko opisałem tak, aby każdy
mógł bez większych problemów dokonać
modyfikacji.
Dokładne wyjaśnienie
modyfikacji zajmie trochę miejsca. Jeśli
chcecie jak najszybciej jej dokonać bez
wgłębiania się w detale, zamieściłem na
początku ekstremalnie skróconą wersję(mimo
wszystko zalecam przeczytanie wersji bardziej
szczegółowej).
UWAGA – nie
zniechęcajcie się tym, że sprawa wygląda w
teorii dość skomplikowanie, w praktyce jest to
dużo prostsze, o czym sam się swego czasu
przekonałem.
Poradnik skrócony
1.Otwórz plik SonicRiders.exe za pomocą
programu HxD (od Visty wzwyż może być wymagane
uruchomienie w trybie administratora, aby móc
nadpisać zmiany w pliku). 2.Odnajdź w pliku
fragment: 80 02 00 00 E0 01 00 00 10 00 00
00 80 02 00 00 E0 01 00 00 20 00 00 00 20 03
00 00 58 02 00 00 10 00 00 00 20 03 00 00 58
02 00 00 20 00 00 00 00 04 00 00 00 03 00 00
10 00 00 00 00 04 00 00 00 03 (skorzystaj z
opcji znajdź, jako typ danych wybierz „wartość
hex” )
Część, na której się skupimy,
to: 00 04 00 00 00 03 00 00 10 00 00 00
00 04 00 00 00 03
3.Modyfikacji wymaga część,
którą pogrubiłem. Zamiast 00 04 należy wstawić
pierwszą „cząstkę” rozdzielczości, zamiast 00
03 – drugą. 4.Użyj kalkulatora, aby
przeliczyć obie wartości. Załóżmy, że chcemy
uzyskać rozdzielczość 1368 na 768. 1368 to
558, natomiast 768 to 300. 5.Dopisz zero
przed każdą z „nowych” liczb zero, jeśli jest
to wartość trzycyfrowa (czyli 0558 i 0300).
6.Zamień kolejność zapisu tak, aby dwa
ostatnie znaki były dwoma pierwszymi, a dwa
pierwsze, dwoma ostatnimi., oddziel obie
„pary” spacjami Czyli zamiast 0558 będzie to
58 05, a zamiast 0300 – 00 03). 7.Zamiast
00 04 (pogrubionego!) wstaw nową wartość 58
05. Druga z nich już wynosi 00 03, więc nie
musimy jej zmieniać. Po modyfikacji zapis
powinien wyglądać tak:
8.Zapisz
plik i uruchom grę. W launcherze wybierz
rozdzielczość 1024x768. I to wszystko!
Oczywiście, możesz wstawić dowolną inną
rozdzielczość. Jeśli ta metoda nie zadziała,
spróbuj podmienić tylko „pierwszą” wartość
(czyli 00 04 i 00 03 z zacytowanej linijki),
albo dokonać modyfikacji na obu wartościach.
Oto inny przykład rozdzielczości i jej
konwersji – 1920 na 1080. 1920 należy
wprowadzić jako 80 70, natomiast 1080 jako 38
04. A więc cytowana wcześniej linjka powinna
wyglądać tak:
Zacznijmy od
krótkiego wyjaśnienie, czym właściwie jest
system heksadecymalny. Jeśli znacie ten system
liczbowy, możecie spokojnie pominąć ten
akapit. Modyfikacja, której dokonamy przy
użyciu wspomnianego programu, będzie polegała
na zmianie wartości w pliku wykonalnym gry,
które to są zapisane w formacie
heksadecymalnym, zwanym też szesnastkowym.
Podstawowa różnica między nim a używanym
powszechnie systemem dziesiętnym jest taka, że
zamiast dziesięciu „standardowych” cyfr (0-9),
mamy ich łącznie szesnaście (0-9, oraz litery
A-F). Oznacza to, że 10 w systemie
szesnastkowym jest zapisane jako A, 11 jako B,
12 jako C, 13 jako D, 14 jako E, a 15 jako F.
Nieco trudniej robi się dalej, bo już 16 w
systemie szesnastkowym zapisujemy jako… 11.
Wynika to z faktu, że „cofnęliśmy się” o 5 do
tyłu, ze względu na wykorzystanie liter.
Efektem czego jeszcze wartość 25 (z
dziesiętnego) zapiszemy jako 19 (w
szesnastkowym), ale już 26 zapiszemy jako 1A
(bo dopiero tutaj, zgodnie z logiką systemu
szesnastkowego, potrzebujemy wykorzystać
„cyfrę” 11). Brzmi dość skomplikowanie, ale
bez obaw – z wykorzystaniem zalinkowanego
kalkulatora oraz porad z dalszych akapitów
można sobie bez problemu poradzić z tą
modyfikacją.
Po otwarciu pliku
wyświetli się nam ciąg znaków. Modyfikacja
będzie polegała na tym, że jedną z domyślnych
rozdzielczości „zamienimy” na nową. Oczywiście
w pliku launcher.exe wciąż będzie widniała
jako „stara” wartość, ale już w grze będzie
zastosowana nowa rozdzielczość. Załóżmy, że
zechcemy zmienić najwyższą dostępną
rozdzielczość, czyli 1024x768. Potrzebujemy
dwóch wartości przeliczonych na system
szesnastkowy. W przypadku 1024 będzie to 400.
Zaś w przypadku 768 – 300. Teraz nieco
trudniejsza sprawa – ta wartość będzie
zapisana w nieco inny sposób w pliku gry. Po
pierwsze – każda wartość musi być zapisana
czterema znakami. Jeśli jest ich mniej – przed
tym „najwyższym” musi być wstawione zero. A to
oznacza, że będziemy szukać wartości 0400 i
0300. Drugą zmianą w zapisie jest „odwrócenie”
kolejności zapisu – dwa ostatnie znaki
widnieją jako dwa pierwsze, natomiast dwa
pierwsze, jako dwa ostatnie.
A to
oznacza, że zamiast 0400 będziemy szukali 0004
, a zamiast 0300 – szukamy 0003. Do tego
między każdym dwoma znakami jest spacja, więc
zapis wygląda tak: 00 04 i 00 03. Te wartości
nie sąsiadują ze sobą bezpośrednio – są bowiem
oddzielone dwoma parami zer. Czyli ostatecznie
wartość, której szukamy, wygląda tak:
00 04 00 00 00 03
Jest jeszcze jeden detal, na
który musimy zwrócić uwagę, aby odnaleźć
dokładnie to, czego szukamy. Każda wartość
odpowiedzialna za rozdzielczość, występuje w
pliku dwukrotnie. Raz, jako wartość
„informacyjna” (zazwyczaj wyświetlana na
ekranie, o ile jest to informacja dostępna dla
użytkownika), drugi raz jako wartość
„faktyczna” (czyli przekładająca się na
konkretny efekt). W przypadku rozdzielczości
obie te wartości znajdują się dość blisko
siebie, i są oddzielone zawsze tym samym
ciągiem znaków: 00 00 10 00 00 00 . To nie
wszystko jednak – chcąc mieć 100% pewności, że
wyszukamy odpowiedni fragment, warto dać
dostatecznie długie kryterium wyszukiwawcze,
aby odnaleźć fragment, w którym są
przetrzymywane dane odnośnie wszystkich trzech
rozdzielczości. Dlatego też wyszukajcie ten
właśnie fragment (korzystając z opcji
„znajdź”, jako typ danych wybierając „wartość
hex”) :
(oczywiście nic nie stoi na przeszkodzie, aby
zmodyfikować inną domyślną rozdzielczość,
skupmy się jednak na tym fragmencie).
Jak widać, na początku występuje oznaczenie
rozdzielczości 1024 na 768, wraz z „odstępem”
między wartościami (00 04 00 00 00 03), potem
jest cytowana już „przerwa”, a następnie
ponownie ta sama wartość odnośnie parametrów
rozdzielczości. I właśnie ta druga nas
interesuje, a dokładniej – wartości
przedzielone czterema zerami, czyli te
pogrubione:
Teraz będzie już dużo
prościej – musimy już zrobić tylko dwie
rzeczy. Pierwsza z nich to odpowiednie
przeliczenie i „przerobienie” obu wartości
składających się na pożądaną rozdzielczość,
druga to podmiana pogrubionych wartości. Kiedy
dokonywałem po raz pierwszy tej modyfikacji,
robiłem to na potrzeby mojego starego laptopa
z rozdzielczością natywną 1368 na 768, co
miało taki plus, że musiałem podmienić tylko
jedną wartością (00 04), drugą (00 03) mogłem
zostawić w spokoju. Na potrzeby poradnika
rozpatrzymy dwa warianty – jeden z
rozdzielczością 1368 na 768, drugi z wyższą
1920 na 1080.
Zaczynamy – po wrzucenie
do kalkulatora obu wartości wyjdzie nam takie
oto zestawienie:
1368(dziesiętne) - 558
768(dziesiętne) – 300
Teraz dopisujemy
zera, i wychodzi nam: 1368 – 0558 768 –
0300
I ostatnia operacja – zamiana
‘dwójek”:
1368 – 58 05 768 – 00 03
Mamy już wartości, teraz trzeba je wstawić
na miejsca „pogrubione”w wierszu z
rozdzielczością: 00 04 00 00 00 03 00 00 10
00 00 00 00 04 00 00
00 03
58 05
wstawimy zamiast 00 04,
natomiast wartości 00 03 nie
musimy wstawiać, bo już tam jest. Po
modyfikacji wiersz będzie wyglądał tak:
Teraz wystarczy zapisać plik
(oczywiście nadpisując w istniejącym pliku –
jeśli w tym punkcie Windows „buntuje się”,
informując o braku uprawnień, należy ponownie
uruchomić program, ale z uprawnieniami
administratora). Potem wystarczy odpalić grę,
wybierając w launcherze rozdzielczość 1024x768
i na tym koniec, gra odpali się w nowej
rozdziałce.
Teraz szybko cofnijmy się
kilka kroków wstecz i spróbujmy wstawić wyższą
rozdzielczość, 1920 na 1080 .
Dalej powtarzamy już
znane kroki – zapisujemy zmiany, nadpisując
stare dane w pliku i odpalamy grę, wybierając
rozdziałkę 1024x768. Może się zdarzyć, że
będziemy potrzebowali jednak nadpisać
„pierwsze” wystąpienie wartości zamiast
drugiego, albo że modyfikacji trzeba będzie
dokonać na obydwu wartościach.
Zastrzeżenia: Podobnie jak przy Sonic Heroes,
możecie uświadczyć dłuższego ładowania się gry
po dokonaniu modyfikacji. I tak samo jak tam,
również w Sonic Riders zmiany może wymagać
również „pierwsza” wartość mówiąca o
rozdzielczości. Metodę testowałem na
europejskim wydaniu gry na DVD, dystrybuowanym
w Portugalii (raczej nieróżniącym się niczym
od wersji dystrybuowanych w innych krajach
Europy), które nie posiada zabezpieczenia
„sprawdzającego płytę” przy każdym
uruchomieniu gry.
Na zakończenie warto
dodać, że niestety modyfikacja do Sonic Riders
nie jest tak niezawodna jak ta do Sonic Heroes
– może się zdarzyć, że bez żadnego znaczącego
powodu na danej konfiguracji komputera
modyfikacja najzwyczajniej w świecie nie
przyniesie skutku (albo wręcz poskutkuje
niemożnością odpalenia gry w danej
rozdzielczości). W takim przypadku oczywiście
wystarczy skopiować uczynioną uprzednio kopię
zapasową, aby wrócić do pierwotnego stanu.
Wszelkich modyfikacji dokonujecie oczywiście
na własną odpowiedzialność, aczkolwiek nie ma
tutaj zbyt dużego ryzyka, więc
eksperymentowanie nie powinno przynieść
jakichś nieodwracalnych skutków, tak długo jak
macie skopiowany oryginalny plik.