Подробности
Блогер Nathan Baggs разработал специальную модификацию Wardite, которая устраняет давнюю проблему с вылетами в ПК-версии экшена Way of the Samurai 3. Сбой происходил при попытке ввести имя персонажа во время создания нового героя. Причина ошибки и её устранениеПроблема с прекращением работы игры при вводе имени беспокоила пользователей на протяжении долгого времени. Сбой стабильно воспроизводился в тех случаях, когда игроки пытались начать новую сессию сразу после завершения предыдущего прохождения или после возвращения в главное меню.
В процессе анализа технической составляющей автор исправления обнаружил, что вылет связан с ошибкой обращения к нулевому указателю. Дополнительное исследование показало, что некорректная работа кода вызвана ошибкой класса use-after-free, возникающей при обработке строк.
Игра неверно управляла выделением памяти при переключении между верхним и нижним регистром букв на виртуальной клавиатуре, а также при нажатии кнопки подтверждения ввода. В результате программа пыталась прочитать данные из очищенной области памяти, что приводило к аварийному закрытию приложения.
Для устранения неполадки была создана библиотека под названием Wardite. Программа модифицирует код игры в оперативной памяти, предотвращая возникновение критической ошибки. Модификация успешно справляется со сбоями не только при выборе имени главного героя, но и при наименовании выкованного оружия. Установка исправления не требует изменения оригинальных ресурсов. Пользователям необходимо загрузить файл библиотеки dinput8. dll из репозитория проекта на GitHub и поместить его в корневую папку игры. При необходимости модификацию можно легко удалить, стерев добавленный файл.
Комментарии
Оставляйте комментарии, отвечайте другим пользователям и добавляйте быстрые реакции.