Архив за месяц: Май 2015

Need For Speed III Widescreen Patch v1.1.0

Небольшое обновление. Как оказалось, на Windows 8.1+ стандартный D3D thrash-драйвер, работающий на DirectX 5, не работает. По этой причине в комплект был добавлен также thrash-драйвер DX8 (работает на DirectX 8), позаимствованный из игры Motor City Online и немного пропатченный для Need For Speed III. Игровой процесс с новым драйвером в некоторых деталях выглядит даже лучше оригинального DX5 (например, лучше смешиваются блики фар на асфальте с тенью машины). Поскольку игра не рассчитывалась на использование совместно с другими thrash-драйверами, не обошлось без проблем: небольшое искажение цветов в меню и неработающее стартовое видео. Проблема с цветами была быстро исправлена, а вот на изучение проблемы с видео уже нет времени, поэтому в релиз вошло как есть. В любом случае игра лучше всего выглядит с использованием thrash-драйвера voodoo2 из-за наличия эффекта тумана. Было бы хорошо реализовать этот эффект и для драйверов DX5/DX8, поскольку они более стабильны, но на исследования в этом направлении на данный момент уже нет времени.

Для того, чтобы удобно переключаться между разными thrash-драйверами, настройка VideoDriver в ini-файле сделана более гибкой: теперь она принимает не одно из заранее предопределённых значений, а просто имя dll-файла thrash-драйвера (можно без «.dll» в конце). В дополнение к этому вместо старых параметров командной строки был добавлен один универсальный параметр -driver=, который также может установить произвольный thrash-драйвер и он имеет большую силу, чем настройка в ini-файле. Например, для временного запуска игры с драйвером Voodoo2 используйте параметр -driver=voodoo2 вместо старого -voodoo2. Имена файлов thrash-драйверов были изменены: d3da.dll переименован в dx5.dll (для единообразия с новым dx8.dll), а в voodoo2a.dll и softtria.dll была убрана не несущая смысла буква «a» в конце.

В стандартный комплект включено 4 thrash-видеодрайвера, поскольку у каждого из них есть свои преимущества и недостатки:

  • Voodoo2+nGlide хорошо совместим с современными ОС и поддерживает эффект тумана, что на данный момент не поддерживается в других драйверах.
  • Однако, эта связка работает немного медленнее и не очень стабильно (игра во время загрузки может неожиданно закрыться без каких-либо ошибок).
  • DX8 хорошо совместим с современными ОС, в некоторых деталях он выглядит лучше Voodoo2 и DX5 (например, блики от фар на мокром асфальте смешиваются с тенью машины без артефактов).
  • Однако, он не отображает видео (в случае использования DX8 рекомендуется отключить видео параметром NoMovie).
  • DX5 основан на оригинальном thrash-видеодрайвере NFS3, отображает видео, умеет хорошо работать в 16-разрядном цвете.
  • Однако, он хуже совместим с современными ОС и в некоторых деталях выглядит хуже DX8, особенно заметен артефакт при большом количестве брызг или пыли из-под колёс.
  • SoftTri не использует аппаратное ускорение и предсказуемо выглядит хуже всех. Оставлен для любопытных.

Страница проекта →

Need For Speed III Widescreen Patch v1.0.0

Когда я впервые увидел Need For Speed III, от изумления я даже присел. Это была первая трёхмерная игра в моей жизни, и до этого момента я совершенно не подозревал, что графика в играх может быть настолько потрясающей. Это был далёкий 2000 год. Не счесть количество часов, потраченных на игру в сплитскрине за одной клавиатурой с моим двоюродным братом... Музыке — отдельное слово. Мне она настолько нравилась, что я даже записывал её на кассету, а с кассеты потом обратно на компьютер, при помощи стандартной «Звукозаписи». Это единственное что я тогда смог придумать. Слушал я эти записи по кругу по много часов подряд. MP3? Что это за странные буквы? Только WAV, только хардкор! :)

И вот, годы спустя, мне захотелось поиграть в эту игру. Но она не захотела работать на современном железе. Пришлось разбираться. В процессе захотелось ещё и поддержку широкоформатных разрешений... и понеслась! Немного увлёкся этим делом, и в результате получился внушительный патч. Более 6000 строк на ассемблере, исписано 14 листов А4, длинный список изменений...

Не буду описывать здесь все изменения, поскольку их слишком много. Опишу лишь основные тезисы. За подробностями обращайтесь к файлу readme.txt.

Что нового?

  • Адекватная поддержка широкоформатных и больших разрешений — игра без проблем работает на 1920×1200 и других разрешениях без искажения пропорций изображения.
  • Улучшена графика машин — на максимальных настройках у других машин текстуры в 2 раза лучшего качества, всегда крутятся колёса, никогда не исчезают зеркала и другие элементы (это происходило из-за отображения худших моделей при наличии более двух машин в кадре).
  • Увеличена дальность отрисовки в зеркале заднего вида — на максимальных настройках теперь объекты не исчезают так рано как раньше.
  • Улучшена поддержка Voodoo2/Glide — в этом режиме в игре доступен эффект тумана (которого нет в обычном D3D режиме), но Glide API в принципе не позволял использовать широкоформатные разрешения, и чтобы обойти это ограничение, Glide API было расширено совместно с автором враппера nGlide, в архив включён nGlide 1.04.1 с поддержкой этого расширения.
  • Переносимость — игра больше не лезет в реестр за настройками, все системные настройки хранятся в ini-файле рядом с исполняемым файлом игры (он должен иметь такое же имя как и запускаемый exe-файл).
  • Добавлено несколько оптимизаций. Например, игра не делает копию музыкальных файлов при каждом старте и читает их сразу их исходного каталога, что экономит время и 10 мегабайт ресурса вашего SSD на каждый старт.
  • Исправлено несколько десятков ошибок и недоработок оригинальной версии. Например, индикация загрузки теперь намного более плавная.

Читать далее