Патч Unknown error для игры Дневной дозор (Day Watch)


Для решения данной проблемы был написан патч, который изменяет инструкции таким образом, что знак перестаёт учитываться (предполагая, что отрицательный объём памяти, доступной под текстуры, невозможен).
Скачать патч: yadi.sk MediaFire
Проверив патч для Ночного дозора в среде, где игра изначально запускается (старая машинка с Windows XP) - выяснилось, что он катастрофически снижает производительность на высоких настройках графики при любом разрешении.
Оказалось, что функция проверки возможностей видеокарты вызывается 3 раза, 1-й раз - чтобы проверить возможность запуска хотя бы в программном режиме, 2-й - чтобы проверить аппаратные возможности и 3-й (опционально, если включены максимальные настройки) - чтобы проверить ресурсы для шейдеров и т.п.
Патч же делал так, что до 2-го и 3-го раза даже не доходило, 1-й раз завершался успехом и сразу же перенаправлялся в код игры. В общем поправил это недоразумение проверкой значения в одном из регистров (для каждого запуска оно свое) и теперь игра как и положено, проходит все 3 проверки последовательно (а стало быть, если компьютер слишком древний (ну или возможности у виртуалки по эмуляции видеокарты слишком ограничены) - чуда не произойдет, игра вылетит со всё той же Unknown error по причине нехватки видеопамяти или чего-то другого, касающегося видео-подсистемы).
Более подробное описание исследования смотрите в посте патча для Ночного Дозора.
Использованные утилиты:
x32dbg
dUP 2
Ссылки для Ночного дозора тоже обновлены (в оригинальном посте), патч v1.2, тормозов теперь нет.
P.S. Удалось вытащить ресурсы дозоров из контейнера старфорса. Теперь игры можно полностью отвязать от (образов) дисков. Конечно полный функционал таким образом не восстановить, т.к., например, английский экзешник НД не позволяет выбирать уровень сложности. По хорошему - надо отвязать третий старфорс от специальной версии, или пятый от изданий, которые можно загрузить с сайта Нового Диска. Займусь ли я этим - посмотрим. А пока - я занят решением проблем с NVIDIA. Если очень хотите ускорить процесс - прошу на страницу Donate.
Реально сработало, неужели хоть кто-то это сделал!
ОтветитьУдалитьПатч закинул в папку с игрой и пропатчил игру, стала запускаться без проблем.
Огромное спасибо!