Эксперимент с УА. Запуск на Windows ME, на виртуальной S3

В этой статье рассматривается эксперимент запуска Узника Азкабана на виртуальном компьютере с виртуальной видеокартой S3, эмулируемой в некоторых виртуальных машинах и бывшей достаточно популярной много лет назад… Чтобы не возникало проблем с представителями затронутых в оригинале статьи компаний и организаций, часть фраз была удалена или сокращена, с сохранением смысла. То есть, акцент сделан на полезной информации.

А у меня для вас, друзья мои, очередная история про… А вот и не угадали! Не про «двойку», ибо как совершенно справедливо было замечено — «Не симсами едиными жив человек!».

И ведь верно! Помимо симсов были у ЕА и другие интереснейшие игры, которые шли на чём угодно, пока не возникло связи между этими играми и результатами гонки технологий между лидерами рынка производства видеокарт. При этом для создателей известных нам игр подобная ситуация возникала и раньше. И одной из подобных ситуаций посвящён мой сегодняшний рассказ. Ну а какое он имеет отношение к «делу нашему» — вы узнаете позже.

Итак, продукция компании ЕА линейкой «симсов» не ограничивалась. Этих самых «линеек» у неё было несколько и одна из них была «линейка» игр — «Про Гарри Поттера». Представлять её, как и «симсы» — не надо. Уровень её был высочайший и те, кто эти игры вроде бы проходили «успешно» не были уверены, что и с десятой частью их «возможностей» столкнулись. Скажем так, разгадать ВСЕ игровые загадки и досконально исследовать ВСЕ игровые локации, не перечитав все книги и не пересмотрев все фильмы на соответствующую тему, было решительно невозможно.

Сперва всё было хорошо и даже замечательно. «Философский камень» и «Потайная комната» шли в самых лучших СТАРЫХ традициях на чём угодно. А вот «Узник Азкабана»…

Давайте-ка мы, друзья мои, водворим эту игру на виртуальную машину… для пущей наглядности, где уже установлена Windows ME (в дальнейшем именуемая — «Линолеум» (её «народное название»)), с КОРРЕКТНО обновлённым до потребной игре 8-й версии директом.

А кстати, что там умеет эта самая интегрированная S3 732?

Ух ты! На сопоставимых задачах, а именно, 2D и «софтверном» 3D она рвёт, как Тузик — грелку, карту, выпущенную на 10 лет позже (наша — нижняя, интеловская — верхняя). Запомним-ка мы циферки…

Ну, значит, запускаем мы игру и…

… и ничего. Потому что эта картинка — ВСЁ, что вы увидите, прежде чем игра «схлопнется» не говоря не слова. В чём же причина?

На этот вопрос нам ответит неприметный с виду игровой файлик VideoCard.ini — аналог привычных нам по двойке графических правил, только совмещённый со списком видеокарт. Достаточно взглянуть на содержимое этого файла, припомнить историю «компьютерных гонок» начала нулевых — и сразу станет понятно, почему игра поддерживает весьма ограниченный набор оборудования.

Одной из причин была ситуация со стандартами производства оперативной памяти, что повлияло на состав оборудования.

Давайте-ка внимательно изучим список поддерживаемых видеокарт. Там будут видеокарты всех мало-мальски «актуальных» производителей, включая настолько «неактуальных», что даже знаток истории компьютерного «железа» долго будет вспоминать, кто это вообще был, и, не факт, что вспомнит. Но в этом списке будет недоставать самой «мелочи» — каких либо упоминаний о продукции компании S3.

Ну а с Поттером-то нам что делать? А сделать с ним надо примерно то же самое, что предполагается использовать в качестве одного из решений проблем с «двойкой» — использовать «связку» WineDirecta и Galliuma, чтобы игра стартанула, а там… видно будет. Для Windows 98 такая «связка» существует уже очень давно и имя её — SwiftShader. Она использовалась в «коммерческой» версии Wine, но была портирована на Windows, а уж народные умельцы её там быстро подправили.

Наш «хитрый план» заключается в…

1. В том, что довольно много производителей явно подозревали, что Directx не всегда будет таким, каким он был в 90-е годы, и, соответственно, «гвоздями приколачивать» свои поделия к ddraw.dll — не стали, и наш «Узник Азкабана» — как раз входит в число таких поделий.

2. В кое-каких особенностях работы директа версий 8/8а (технические подробности — пропущу).

3. В том, что защита системных файлов в «Линолиуме», хоть и параноидальна, но при этом — её можно обмануть. Ddraw.dll она, например, будет защищать будет и ей без разницы, что обновлённая версия этой библиотеки, которую пытается установить пользователь — от Майкрософта. А вот d3d8.dll — уже нет.

А, стало быть, нам d3d8.dll и заменять на… d3d8.dll, только «свифтшейдеровскую». Но перед этим, скопируем оригинальную библиотеку куда-нибудь…до поры, до времени.

С первого взгляда вы ничего не заметите, кроме того, что число «попугаев» в тесте аж на пол-попугая увеличилось.

Но стоит только запустить «Узника»…

Ну… «софтвер» так «софтвер». Соглашаемся и…

А теперь — самое интересное. Мы возвращаем «оригинальную» d3d8.dll на место — а игра как шла, так и идёт, из чего мы делаем вполне, имхо, логичный вывод, что невозможность запуска «Узника» на картах S3 была целиком и полностью ИСКУССТВЕННОЙ.

Вроде всё? Нет! Разве вы не обратили внимание, что игра у нас запускается аж в двух «окнах» одновременно? На первое окно можно не обращать внимание. Оно — чисто «демонстрационное», так как играть в игру, как таковую, будут в полноэкранном режиме работы виртуальной машины. Но вот второе…

Дело в том, что «программный» режим работы игры гвоздями приколочен к одному-единственному разрешению экрана — 512 на 384 с цветностью 16 бит. Скверно! Очень скверно!

А что, если нам вот так прямо взять, да и внести изменения в… О УЖАС!!!…видеодрайвер? Страшно? В случае с NT-системами — возможно. Но в системах 9х (ака 95/98/98 SE/ME) видеодрайвера работают в ПОЛЬЗОВАТЕЛЬСКОМ режиме, а коли так…

Сразу откуда-то 32-х битный цвет «нарисовался» (не было же).

Но для нас куда важнее то, что теперь игра идёт как полагается, в полноэкранном режиме.

Вот такая вот история. Не знаю, какие выводы вы из неё сделаете, а лично я, на примере с игрой, лишний раз убедился в том, что идея использовать Wine в качестве «запускалочки» программной версии «двойки» — не такая уж и «безумная». Имхо.

Источник: https://thesims.cc/posts/5600532

Опубликовано по просьбе участницы сообщества.

Примечание редактора: оригинал статьи содержит множество сатирических вставок. По некоторым соображениям, они были либо смягчены, либо опущены, чтобы переместить акцент на полезную информацию.


 

Sections: HP and the prisoner of AzkabanНа русскомСтатьи / Articles


(с) 2010-2020 The project team hp-games.net. 16+ Cookies Privacy Policy Financial assistance to the project (Donate)

Authors and sources are listed for each material individually or in the page About the project. If you are using materials from this site, be sure to post a link to them.