Библиотека dgVoodoo2: помощник в запуске старых игр
Персональный компьютер – одна из лучших платформ по степени поддержки старых проектов. Ни одна консоль не может похвастаться тем количеством игр, что вы можете запустить на своём ПК. Однако не все из них хорошо себя чувствуют на современном железе и операционных системах. И если с играми для DOS уже много лет все более-менее ясно: эмулятор DOSBox в помощь, то для проектов времён ранних версий Windows дела обстоят не так радужно.
Впервые я услышал о проекте dgVoodoo лет десять назад. В ту пору мы с приятелем решили погонять в первый Carmageddon и поиск различных способов запуска игры на тогдашнем компьютере навёл на эту библиотеку. Нужно было заставить работать версию именно для Windows 95, так как DosBOX не поддерживал эмуляцию 3dfx (кстати, сейчас уже есть сборки с такой возможностью), именно она обеспечивала куда как более красочную графику.
dgVoodoo является одним из многих Glide-враперов, которые эмулируют работу популярной в конце 90-ых библиотеки. Разрабатывающая их компания 3dfx была поглощена Nvdida, однако, поддержка данной технологии в современных видеокартах скорее отсутствует. Эта небольшая программа же перехватывала поток команд от игры, заставляла её думать, что она запущена на поддерживаемом оборудование. Возможность полезная, но слегка узкоспециализированная, если учитывать, что игр с поддержкой 3dfx не выходит уже больше 20 лет.
Спустя несколько лет снова вспомнить о dgVoodoo заставила целая череда любимых проектов из 2000-х, которые на новых версиях Windows и железе или не работают, или полны различных графических артефактов. Список проблем достаточно обширен тут и чёрный экран, и пропадающие элементы интерфейса, и странная цветовая палитра. Многие поклоннике старых игр наверняка сталкивались с подобными трудностями.
Причина артефактов, как правило, в том, что те игры были написано под старые версии графических библиотек DirectX, чья поддержка на современном оборудовании и операционных системах также далека от идеала. Если попробовать запустить оригинальные версии Космических рейнджеров или вторых Дальнобойщиков, то насладиться ими в полной мере вряд ли получится, но для популярных проектов, как правило, легко можно найти небольшой фанатский патч, который решает все проблемы.
Если же игра не имеет культового статуса, то исправление найти не так просто. Например, совсем недавно у меня возникла сложности в Tropico 2: Pirate Cove. Она нормально запускалась, прекрасно работала, пока я не пытался нажать Alt-Tab. Казалось бы, мелочь, но, когда вдруг всё оформление ломалось после попытки прочитать сообщения в каком-нибудь Discord, – это раздражало. Режимы совместимости и прочие танцы не помогали, тогда поиск привёл к схожей проблеме в совершенно другой игре, однако, решение оказалось достаточно универсальный.
dgVoodoo2 включает себе библиотеки, который переводят команды от игры к старым версиям DirectX, для которых они писались, на более понятный язык современных версий, что куда как лучше поддерживаются операционной системой и оборудованием. Для работы нам потребуется скачать архив с последними версиями программы с официального сайта.
Внутри содержится библиотеки для упомянутой в самом начале Glide (подпапка 3dfx) и DirectX (подпапка MS соответственно), а также контрольная панель «dgVoodooCpl.exe», которая позволит настроить их работу: установить фильтрацию, разрешение и отключить ватермарку в углу экрана. Всё что требуется от пользователя это поместить нужные нам файлы dll в директорию с установленной игрой. При выборе разрядности нужно ориентироваться на версию игры: если она написана для DirectX с 2 по 8 версию это x86, тогда как игра для DirectX9 (D3D9.dll) могла уже быть и 64-разрядной.
Как бы фантастически это не звучало, но после этого игру можно запускать обычными методами. В моём случае Tropico 2 стала абсолютно спокойно относится к сворачиванию окон, но данный метод помогает решить многие проблемы и в других игр. От платформеров про Гаррии Поттера до классических стратегий от Westwood. Единственный минус, с которым мне довелось столкнуться после данных манипуляций это неработающая функция PrtScn, которая будто считает экран с игрой абсолютно прозрачным. В тоже время снятие скриншотов в Steam работает без каких-либо нареканий, так что к критичным багам это отнести нельзя.
2 комментария
Добавить комментарий
// однако, поясните столь странное «glide-врапар» — почему транслит на полслова?
Добавить комментарий