Правим разрешение в СХ4 и СХ3.

Все технические проблемы с SH решаем здесь.

Модераторы: Jessica™, Ancheez

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

WarMaker
Пришедший извне
Пришедший извне
Аватара пользователя
 
Профиль
Сообщения: 48
Зарегистрирован:
20 янв 2008, 20:31
Пол: Мужской
Блог: Перейти к блогу (0)
Reputation point: 28

Правим разрешение в СХ4 и СХ3.

Новое сообщение WarMaker » 31 май 2010, 19:25 |

Всем привет.

Жизнь не стоит на месте, и времена, когда все радовались, пялясь в выпуклый моник-гробик с великим разрешением 1024х768, уже давно прошли. А времена с чёрно-зелёно-экранными ящичками даже я не застал.

Теперь все радуются жизни, утыкаясь в идеально плоские панельки, а на место квадратным разрешениям активно внедряются широкоформатные.

Очень мало человеков, которые смогли бы со стопудовой уверенностью глядеть в будущее и создавать вещи, которые бы смогли адаптироваться к постоянно меняющейся жизни. А разрабам игр это тем более не надо. Создают для конкретных случаев что-то одно, абсолютно не заморачиваясь на разнообразие современного железа.

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

Думал, что я уже не вернусь к Сайлент Хиллам в силу того, что нужные нюансы для меня были успешно все решены, но вот пиплы потихоньку достают меня по мылу, слёзно просят помочь. Блин, все обзавелись уже широкими мониками, один я - дурак всё пялюсь в квадратную семнашку.
Слёзные просильщики поделились на две категории.
Первая - когда просильщик хочет по-быстрому. Дай-грит мне готовый патч, что всё работало. Сам конечно разобраться не хочет.
Вторая - более продвинутая. Подскажи-грит как патчить, далее - он сам.

Так вот, из числа второй группы в очередной раз обратился ко мне товарищ с просьбой показать, как же менять разрешение в Хиллах 3-ем и 4-ом.
Выкроил себе кусок свободного времени, и так и быть - покажу.
Собственно к четвёртой части у меня уже есть заготовочка.
Как я уже писал ранее, в СХ4 всего несколько (считать лень) режимов:
Код: Выделить всё
0 - 400х300
1 - 640х480
2 - 800х600
3 - 1024х768
4 - 1280х960
5 - 1600х1200


После раздебаживания их местоположение установлено и замену ненужных разрешений на нужные теперь можно делать самому.

Итак, учить как пользоваться хексоправками не буду - сами.
Остановлюсь лишь на определении двух форматов чисел.
Десятичному формату нас всех учит жизнь, а вот шестнадцатеричному - никак нет.
Для простоты скажу, что 16ричная отличается наличием букв в числах.
Вот как пишут в педиях: "Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа." ВОТ!
Т.е. обзаводимся чистым листочком бумаги, ручкой и начинаем втыкать в теорию, вспоминать умножение столбиком, степени какие-то... ))

Для менее продвинутых - типа меня уже давно изобрели масдайский калькулятор, в котором перевод осуществяется автоматом. Тычем calc и там всё есть, если перевести вид в инженерный. Люблю навороты. )
Хексоправилку ака 16ричный редактор ищите и подбирайте себе сами, меня не просите.

Вот, например, как представлен текст написанный в блокноте и сохранённый в текстовый файл, но отображаемый в шестнадцатеричном виде:
Изображение

Теперь стоит остановиться на представлении чисел в памяти.
Толи спецом, толи как, но как правило числа в памяти представлены в записи их наоборот!!
Его ещё называют интеловский формат или ещё литл-эндиан, т.е. младшими вперёд.
Абсолютно херово так данные читать в памяти. Постоянно голову приходится ломать, переворачивая на ходу числа. Порядок меняется байтами.

Так вот, перечисленные выше размеры в 16чном виде:
Код: Выделить всё
0- 190h x 12Ch
1- 280h x 1E0h
2- 320h x 258h
3- 400h x 300h
4- 500h x 3C0h
5- 640h x 4B0h


В коде sh4 каждому числу отводится 4 байта (даблворд). И в памяти их представление будет несколько иным.
Также сразу привожу абсолютное смещение данных в экзешнике.
Код: Выделить всё
0:
1499D 90010000
149A7 2C010000
1:
149B3 80020000
149BD E0010000
2:
149C9 20030000
149D3 58020000
3:
149DF 00040000
149E9 00030000
4:
149F5 00050000
149FF C0030000
5:
14A0B 40060000
14A15 B0040000


Ну, вот, собственно, осталось-то делов. Определиться, какое нужно разрешение для себя.
Например, надо сделать 1680x1050 из 640х480.
Переводим 1680 - 690h, переворачивам 90060000
Переводим 1050 - 41Ah, переворачивам 1A040000
Заходим в 16ричную правилку, открываем [Silent Hill 4.exe].
Переходим (Ctrl+G) по смещению 149B3 и пишем поверх 90060000
Переход по смещению означает передвинуть курсор для редактирования шестнадцатеричных данных на указанную величину, начиная с начала файла, т.к. смещение может быть абсолютным и относительным, то нам необходимо абсолютное смещение (на английском называется "go to offset, from the beginnig").
Переходим по смещению 149BD и пишем поверх 1A040000
Сохраняем изменения, запускаем игру и выбираем разрешение 640x480.
Если всё вышло, то разрешение будет поменято, если нет, то не судьба, надо рыть глубже...

Как изменить нужную строчку в файле перевода у меня описано в инструкции к моей утилитке [Ultimate SH-MES Recompilator]
Распаковываем там [message_common.bin], ищем например "640x480" меняем строчку хоть на "МОЁ" и пакуем взад.

Касаемо SH3.

В папке с игрой в папке [savedata] лежит файлец [disp.ini]
Если файл пуст или его нет, запустить [SH3Config.exe] в папке с игрой и нажать ОК.
В нём есть строчка, например:
size=1280x1024

Надо попробовать там выставить нужное разрешение. По идее должно выйти, но мне не на чем проверить, дерзайте!

Вот, пока и всё.
Всем удачи, WarMaker.
Всё лежит тут! Пароль: WarMaker
Silent Hill Play Novel на русском языке - VBA_SH.zip - обновлено до версии 2.0 (под Вин7 теперь работает)
Ultimate SH-MES Recompilator by WarMaker - утилита для перевода ТРЁХ игр серии Сайлент Хилл - UltiMES.zip
SH2: Расширенная настройка ускорения звука - DXConfig.zip, Качественный русский шрифт + NoCD - sh2pc.RUS.NoCD.zip
SH3: Качественный русский шрифт - fontdata_x.zip
SH4: Нормальное разрешение экрана - sh4.VideoFix.zip, Качественный русский шрифт - fontdata_kr.zip

Вернуться в О технических проблемах с Silent Hill

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron