пятница, 27 августа 2010 г.

Запуск Silent Hill 2 на современном компьютере с широкоформатным (widescreen) монитором.

Всем привет и сразу к делу - решил я поиграть в старую любимую игру на своем компьютере и столкнулся с парой проблем, решил их, и  надумал поделиться решением со всем миром.

Моя система  вкратце:
Intel E8400 + GeForce 8800 GTS512 + 3Gb RAM
ОСь - Windows 7
Она конечно не самая современная как я написал в заголовке, но для SH2 более чем достаточна.

Начнем:

Проблема 1
Установил игру, запускаю - она вылетает сразу либо заставляет вспомнить знаменитую работу Малевича.

Решение
Гуглеж по форумам выдал, что нужно игру запускать в режиме совместимости с Windows Vista or XP SP3 + запуск от имени администратора. Не помогло.

А вот другой совет оказался рабочим - его и опишу:
Оказалось, что SH2 не любит многопроцессорные системы (и одноядерные пеньки с HT тоже).
Нашел маленькую прогу которая фиксит экзешник и запускает игру на одном ядре.
Качаем: DEF(1.7_Rus)
Кидаем в папку с игрой и устанавливаем.
После этого игра сразу запустилась.

Проблема 2
У меня монитор с разрешением 1920х1200 (соотношение сторон 16:10), а в игре доступно максимум 1600х1200 (4:3).

Решение
Снова обращаемся за помощью к интернетам и находим замечательный форум http://www.widescreengamingforum.com/ c описанием решения данной проблемы:
1. Качаем HEX-редактор XVI32
2. Запускаем его, жмем Ctrl+O и в папке с игрой выбираем файл sh2pc.exe.
3. Ctrl+F, выбираем поле Hex string и пишем в нем 80 02 00 00 E0 01, жмем ОК.
А теперь опишу, что же это мы нашли:
а нашли мы опцию, которая в игре отвечает за разрешение экрана размером 640х480, которое в последующем мы заменим на то, что нам требуется (я буду рассматривать 1920х1200).
4.  Открываем список разрешений переведенных в hex-format
http://forum.worldofplayers.de/forum/threads/472084-Widescreen-per-Hex-Editor?s=9f43b8699ffb4a6a381cf084c3ad5167
5. Нужно поменять 640 (8002) х 480 (E001) на 1920 (8007) х 1200 (B004)
Для этого выбираете нужный кусок, идете в меню Edit - Overwrite string и в поле HEX пишите нужное значение, ОК.
6. После того как все значения изменены - сохраняете их Ctrl+S.
7. Запускаете игру и выбираете в ней 640х480.

Вот и все. Смотрим, что получилось:


P.S. А если поиграться с настройками в  драйверах видеокарты,

то можно получить такой результат: