Открыть список
Как стать автором
Обновить

Практическая некромантия на примере игры Gulf War: Operation Desert Hammer (1999г)

Я пиарюсь
Recovery mode
Добрый всем!
Всё началось со шкафа со старыми играми. Лет 10 назад взял у друга игру, положил её в тумбочку и вспомнил о ней через 10 лет. Заинтересовался, что за игра такая, мне неизвестная. Оказалось, что это танковая аркада 1999 года, от фирмы 3DO, о похождениях супер-американского танка во время войны в заливе.



Гугление и ютубирование показало, что об игре известно мало. Один обзор на нашем сайте и один на зарубежном.
Требования из readme.txt
Windows 95/98, Pentium 166 / 32M Ram / 150M Hard Drive space / 4x CD-ROM / Direct X 6.1 / Microsoft Compatible Mouse

Попробовал поставить её под Windows 7 x86/x64 — черный экран, вылет и тишина. Под XP SP3 тоже самое. Игры с совместимостью не помогли.
Поиграв в виртуалками решил что там всё уныло. DOSBOX svn daum с эмулятором Glide и WIndows98SE IF под ней были очень и очень печальны. И я был печален. Потратил в итоге неделю на различные настройки. Итогом удалось один раз на секунд 10 запустить игру в Glide режиме, успел записать видео и в очередной раз dosbox падает. Софт режим удалось запустить через VirtualPC 2007 и Windows 98. С мышкой были какие-то проблемы, было неиграбельно, хотелось из спортивного интереса Glide/D3D.

Решил попробовать разобраться, вдруг не всё так плохо и это нежелание работать на NT системах вызвано только человеческим фактором. Мне уже были известны два случая подобного безобразия — это стратегия Myth2 с надписью при запуске «дай минимум 32 МБ озу», но прекрасно запустившийся в итоге на 16 МБ озу и Descent Freespace с той же проблемой.

Был сделан патч на запуск (ехе взломаный от изначальной защиты, пиратский), выставлен режим совместимости с «Windows 98/Windows ME» и игра запустилась на Win7 x86/x64, предварительно выдав надпись “Gulf War is only designed for Win95. Not NT.”

image

В software режиме, можно изменять дальность прорисовки в более широких пределах (20-600), чем в настройках (70-300).
При дальности прорисовки 20 не видно вообще ничего, врагов видно буквально подъехав к ним на пару метров, чистый хардкор и Silent Hill, а при максимальной дальности становится видно сразу всю карту )))
Файл \settings\settings.cfg
смещение 0x0C и 0x0D, младший байт идет первый по адресу 0x0C.

Минимум для софт режиме — 20. Получается чистый Silent Hill.
image

Максимум для софт режиме — 600.
image

Превышение значения дальности рвет все шаблоны. Glide — 350
image

Direct3D с бустом до 350.
image

И Direct3D — 250 максимально возможное из настроек игры.
image

Затем начал играть с разрешением:
d3d в 1024x768, HUD остался в 640x480

файл d3d_r.exe
было
0048A5F4 BE 80020000 MOV ESI,280 (640)
0048A5F9 BA E0010000 MOV EDX,1E0 (480)

патчим на
0048A5F4 BE 00040000 MOV ESI,400 (1024)
0048A5F9 BA 00030000 MOV EDX,300 (768)

image

Некоторые файлы пожаты простейшим RLE сжатием, файл поделен на группы по 2 байта, первый — количество повторений второго байта. В таблице файлов указаны 2 размера, сжатое и распакованное.

Исходники и путь на форуме old-games.ru

И в итоге записал видео на вполне современном компе, под Windows 7 x64, используя Glide-враппер nglide 1.01
“Gulf War is only designed for Win95. Not NT.”
Myth Busted!

Теги:reverse engineeringформаты файловgulf warретроностальгияdesert hammerwin 7
Хабы: Я пиарюсь
Всего голосов 55: ↑40 и ↓15 +25
Просмотры18.6K

Комментарии 8

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Похожие публикации

Reverse Engineer
от 3 500 до 4 000 $Hand2NoteМожно удаленно
Reverse Engineer
от 150 000 до 220 000 ₽AtlantisМожно удаленно
Senior C++ / JS Developer
от 200 000 до 300 000 ₽ZennoLabМожно удаленно
Системный инженер (аудит ПО)
от 40 000 до 70 000 ₽ИЦ РЕГИОНАЛЬНЫЕ СИСТЕМЫВолгоградМожно удаленно

Лучшие публикации за сутки