środa, 31 lipca 2013

Legacy of Kain na szerokim ekranie

Tak to już jest ze starszymi grami, że nie każda z nich zapewnia pełne wsparcie dla ekranów panoramicznych i albo jesteśmy skazani na granie na rozdzielczościach 4:3 lub granie w naszej natywnej (np. 1920x1080), ale z rozciągniętym obrazem : |
W tym artykule omówię dwie gry z serii Legacy of Kain, które należy lekko zmodyfikować, aby zapewnić sobie możliwość grania na szerokim ekranie.

Pierwszą jest Legacy of Kain: Soul Reaver. Ta gra domyślnie nie oferuje nam opcji ustawienia rozdzielczości 16:9 (ogólnie do uruchomienia jej na Windows XP lub nowszych systemach potrzebujemy wgrania dwóch patchy do gry i jednego patcha do filmów, ale na szczęście pobierania nie ma dużo, bo pliki nie są aż tak ogromne), dlatego potrzebujemy małego hacka. Najprostszym sposobem jest SRHook. Zawartość archiwum wrzucamy do katalogu z grą i gotowe. Jeśli jednak z jakiegoś powodu nie chcemy nadpisywać naszego pliku .exe, możemy zmiany wprowadzić ręcznie. Użytkownik Tos na forum Eidos Games udzielił krótkiej instrukcji, jak to wykonać, jednak wkradł mu się mały błąd, dlatego poniżej opisuję dokładnie krok po kroku wgranie fixa:
  • Odpalamy edytor heksadecymalny (jeśli żadnego nie posiadasz, należy go ściągnąć. Polecam np. HxD)
  • Otwieramy plik kain2.exe z katalogu z grą
  • Przechodzimy do offsetu 0x000eb358 (Znajdź > Przejdź do, wklepujemy '000eb358' jako offset i zaznaczamy 'hex')
  • Zamieniamy AB AA AA 3F kolejno na: CD CC CC 3F dla ekranów 16:10 lub 3B 8E E3 3F dla ekranów 16:9
  • Jeśli chcemy zwiększyć narzucony limit odświeżania ekranu w grze z 30fps do 60fps (więcej niestety o tak nie osiągniemy), to kolejno dla offsetów 0x00384F7 i 0x038509 zmieniamy wartość z 21 na 10.
  • Zapisujemy plik i gotowe.
Dla leniwych zrobiłem pliki ips z patchem. Teoretycznie z pomocą LunarIPS można nimi spatchować grę: 16:9, 16:10.


Jeśli chodzi o grę Legacy of Kain: Defiance, to proces jest nieco trudniejszy (ale też dacie sobie z tym radę :p). Podziękowania dla Marcelo_20xx, który go opisał na forum Eidos Games:
  • Pobierz program OllyDBG
  • Odpal go i otwórz w nim plik defiance.exe
  • Za pomocą Ctrl+F wyszukujemy linijki i je zamieniamy (dwukrotne kliknięcie na linijce, by edytować):
    • fdiv dword ptr [570998] na fdiv dword ptr [544FB0]
    • FMUL DWORD PTR DS:[570998] na FMUL DWORD PTR DS:[544FB0] trzykrotnie (te trzy linijki są prawie, że jedna pod drugą, więc nie sposób ich nie znaleźć)
    • fld dword ptr [570998] na fld dword ptr [544FB0]
  • Klikamy prawym przyciskiem myszy w oknie edytora i z menu kontekstowego wybieramy Copy > Select all, a następnie Copy to executable > Selection.
  • Otworzy nam się małe okienko, w którym klikamy prawym przyciskiem myszy i wybieramy Save file w celu zapisania pliku exe.
Rozwiązania te nie są doskonałe, gdyż wpływają one jedynie na renderowaną grafikę 3D, przy czym Elementy 2D pozostają w takiej samej postaci :( Ale lepsze to niż nic.
Jak na razie łatki do Soul Reaver 2 brak.

Brak komentarzy:

Prześlij komentarz