
Я играю в старую MMO-игру, которая сделана с использованием 16-битного цвета. Игра отлично работает на Windows 7 и старых версиях (Vista, XP).
Однако в игре есть некоторые ошибки на Windows 8 и более поздних версиях.
Я могу запустить игру и нормально играть в полноэкранном режиме, но когда я сворачиваю игру (alt tab), а затем снова разворачиваю, графика игры становится фиолетовой и сжимается до половины экрана.
Я пытался использовать "ИзменитьНастройкиЭкрана" API, но он не работает, когда я пытаюсь изменить его на 16 бит на пиксель.
Еще одна странность в том, что игра работает как по маслу при запуске. Баг происходит только тогда, когда я сворачиваю и снова разворачиваю.
Есть ли у кого-нибудь решение, как это исправить?
решение1
Существуют приложения, которые позволяют запускать такие полноэкранные игры DirectX в окне. Это может замедлить работу игры, но позволит переключаться между игрой и другими приложениями без графических проблем, которые вы описываете.
Одним из таких приложений являетсяDxWnd.
Ниже я опишу, как настроить GunBound Thor's Hummer (думаю, ваши скриншоты из этой игры).
GunBound Thor's Hummer использует Launcher.exe для запуска файла GunGame.gme (эти файлы находятся в папке установки GunBound Thor's Hammer). Мне не удалось настроить DxWnd для обработки gme-файла напрямую, поэтому необходимо выполнить некоторые дополнительные шаги.
- Скопируйте GunGame.gme в GunGame.exe.
- Замените GunGame.gme на GunGame.exe в файле Launcher.exe с помощью какого-нибудь шестнадцатеричного редактора (Notepad++ тоже подойдет, а стандартный блокнот Windows повредит исполняемый файл). Возможно, вам захочется сделать резервную копию Launcher.exe перед его патчем.
- Запустите DxWnd от имени администратора.
В DxWnd выберите Правка > Добавить и введите следующие значения в открывшемся диалоговом окне:
- Имя: все, что пожелаете
- Путь: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\GunGame.exe (замените на ваш реальный путь).
- Запустите: C:\Program Files (x86)\GunBound Thor's Hammer (nos)\Launcher.exe (замените на ваш реальный путь к пропатченному лаунчеру).
- Все остальные параметры оставлены со значениями по умолчанию.
Нажмите ОК.
- Запустите созданный элемент в окне DxWnd. Игра будет запущена в окне.
решение2
Начиная с Windows 8,Диспетчер окон рабочего стола (DWM) всегда включени все время запускает Windows в 32-битной глубине цвета. Это может вызывать такие странные проблемы.
Если применение режима совместимости с XP (который активирует прокладку, позволяющую играм думать, что они работают с глубиной цвета 16 бит, в то время как Windows по-прежнему использует 32 бита) не работает, настройте виртуальную машину и используйте старую версию Windows, например Windows XP (но без подключения к Интернету), чтобы запускать такие действительно старые игры.
решение3
Попробуйте запустить программу в режиме совместимости, щелкнув правой кнопкой мыши (один из разделов; сейчас я использую Linux) и выбрав режим совместимости с 16 битами или что-то подобное. Также выберите запуск с использованием Windows XP или любой другой ОС, кроме Win 8.
решение4
ЗагрузитьКомплект для оценки и развертывания Windowsи установитеНабор инструментов для обеспечения совместимости приложений. Затем попробуйте включить один или несколькоИсправления совместимостидля вашей игры. Доступно несколько исправлений («прокладок»), названия которых намекают на решение проблем, связанных с совместимостью с 16-битным цветом, но этот процесс может потребовать некоторых проб и ошибок, поскольку нет или почти нет объяснений того, что именно делают большинство исправлений, как они работают или будут ли они вообще иметь какой-либо эффект в используемой вами конфигурации.