Игра Heroes of Might and Magic 2 на Windows 8.1 и старше, то вылетает ошибка «DirectDraw Error: DDERR_GENERIC».
Связанно это с некорректной работой Windows со старым DirectX. Казалось бы параметры совместимости должны исправить ситуацию, но нет. Существует несколько способов решить проблему. Я поделюсь самым эффективным.
Запуск Heroes of Might and Magic 2 с помощью DxWnd
- Качаем последнюю версию DxWnd
- Распаковываем в пустой каталог (лучше назвать DxWnd)
- Создаём ярлык «dxwnd.exe» на рабочий стол
- Запускаем dxwnd. exe
-
Во вкладке edit нажимаем на «add»
-
В Path выбираем путь до exe'шника от Героев 2
-
Убираем галочку с «Run in Window»
- Жмём «OK»
- Во вкалдке «File» нажимаем на «save»
-
Двойным щелчком запускаем из DxWnd игру
После настроек можно создать bat файл (текстовый файл с расишрением bat, например heroes2. bat). Советую создать ярлык на него и указать ярлыку иконку от героев 2. В итоге процесс запуска с точки зрения пользователя будет идентичным. Содержимое heroes2. bat:
@echo off rem Heroes of Might of Magic II runner for Windows 8 and later with Dxwnd rem For work this mehton need download Dxwnd and unpack it - http://sourceforge.net/projects/dxwnd/ rem Launch dxwnd rem Add the Heroes game to the application list (also not forgetting to untick Run in Window in the Main inlet; the rest configurations are default) rem Path to Heroes II directory set HOMM2_DIR="C:gamesHeroes of Might and Magic II Gold" rem Path to Heroes II exe set HOMM2_EXE=HMM2PL.exe rem Path to Dxwnd directory set DXWND_DIR="C:Program Files (x86)dxwnd" rem Path to Dxwnd exe set DXWND_EXE=dxwnd.exe tasklist | Find /i "%DXWND_EXE%" || (goto Else) :THEN start /D %HOMM2_DIR% %HOMM2_EXE% exit :Else start /D %DXWND_DIR% %DXWND_EXE% start /WAIT /D %HOMM2_DIR% %HOMM2_EXE% taskkill /IM %DXWND_EXE% exit rem bat maked by fleytman aka fireman rem method run open by Gil: http://handbookhmm.ru/forum/viewtopic.php?f=40&t=229&start=20#p13565
set HOMM2_DIR, set HOMM2_EXE, set DXWND_DIR, set DXWND_EXE не забыть изменить пути на ваши.
Логика работы батника: если dxwnd запущен, то запустить герои 2, иначе запустить dxwnd, герои 2, а после закрытия героев закрыть dxwnd. Если dxwnd был запущен, то он не будет закрыт.
Если что-то не работает:
- Проверить ярлык героеы 2 на совместимость. Если есть — убрать
- Попробовать запускать dxwnd с/без админ правами
Сделал все в точности, как описано выше (у меня Windows 10). После некоторого времени (минут 20−30, иногда больше, иногда меньше) игра зависает намертво причем так, что нельзя ни alt+tab переключиться, ни прервать процесс. Помогает только перезагрузка компа. Крайне раздражает. Не сталкивались с таким?
Не сталкивался. Если удасться выявить какую ещё закономерность, напиши, попробую воспроизвести.
Пока можешь попробовать альтернативные способы: http://heroes2.forumactif.com/t226-launching-heroes-2-on-modern-systems-win-8-win-10