Запуск старых Windows-игр (с низким разрешением (640x480))

Нативные и в Wine/Cedega - проблемы, настройка, обсуждение

Модератор: Модераторы разделов

Ответить
Nibelung
Сообщения: 21

Запуск старых Windows-игр

Сообщение Nibelung »

Проблема на самом деле больше эстетическая, чем практическая :)

Есть куча старых игр, в которые хочется поиграть (вспомнить молодость) типа Diablo 2, Dune 2000, Starcraft и прочих подобных.
Заморочка заключается в том, что в оконном режиме Вайна игровая картинка получается очень мелкой на больших мониторах, а в полноэкранном - корявая на на нынешних широкоформатниках. И не все игры позволяют менять своё внутреннее разрешение, как зашито в них, к примеру 640х480, так и пользуйся, что неудобно.

Возможно ли как-то сказать Вайну, чтобы он отображал игровую картинку, к примеру, с масштабированием x2? Про бонус в виде "смазывания" итоговой картинка я уже молчу :rolleyes:
Intel Core Duo E5400@2,7 GHz, 2048 RAM, 750 Gb Seagate HDD , nVidia 450 GTS, OpenSUSE 11.4 x86_64
Спасибо сказали:
AndreyMust19
Сообщения: 19
ОС: Windows XP

Re: Запуск старых Windows-игр

Сообщение AndreyMust19 »

Есть куча старых игр, в которые хочется поиграть (вспомнить молодость) типа Diablo 2, Dune 2000, Starcraft и прочих подобных.

В Вайн вообще старые игры хуже работают, чем те, что используют DirectX 9.
Заморочка заключается в том, что в оконном режиме Вайна игровая картинка получается очень мелкой на больших мониторах

Подскажите кстати как запустить игру в окне.
а в полноэкранном - корявая на на нынешних широкоформатниках

Это зависит от макс. разрешения экрана и числа пикселей у монитора. Если оно кратно 640 и 480, то все отображается превосходно. А вот (у меня) при 800x600 шрифт искажается и игра выглядит убого. То есть такая же проблема и в Windows.
Возможно ли как-то сказать Вайну, чтобы он отображал игровую картинку, к примеру, с масштабированием x2?

Только путем установки какого-нибудь враппера или "переходника", который заменяет собой библиотеку ddraw. Некоторые могут применять другое разрешение, при этом игра думает, что разрешение 640x480.
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: Запуск старых Windows-игр

Сообщение Poor Fred »

AndreyMust19 писал(а):
07.11.2010 19:01
Подскажите кстати как запустить игру в окне.

winecfg -> Графика -> Эмулировать виртуальный рабочий стол.
Убить всех человеков!
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Запуск старых Windows-игр

Сообщение NickLion »

Выставить разрешение порядка 1024x768 и запустить в оконном режиме :D
Спасибо сказали:
Nibelung
Сообщения: 21

Re: Запуск старых Windows-игр

Сообщение Nibelung »

Только путем установки какого-нибудь враппера или "переходника", который заменяет собой библиотеку ddraw. Некоторые могут применять другое разрешение, при этом игра думает, что разрешение 640x480.

Насчёт враппера и сам думал. Но предполагал, что дописать пару функций для авторов Wine в конце конвейера рендеринга OpenGL, чтобы вывести итоговую картинку в любом по размеру окне - это нетрудно. Кстати, перехватывать надо не только ddraw но и d3d.
Интересно, а в Cedeg-е это реализовано? :rolleyes:

Intel Core Duo E5400@2,7 GHz, 2048 RAM, 750 Gb Seagate HDD , nVidia 450 GTS, OpenSUSE 11.4 x86_64
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Запуск старых Windows-игр

Сообщение frp »

Nibelung писал(а):
06.11.2010 22:48
Возможно ли как-то сказать Вайну, чтобы он отображал игровую картинку, к примеру, с масштабированием x2? Про бонус в виде "смазывания" итоговой картинка я уже молчу

Если я не ошибаюсь, без перепиливания wine нельзя. Никак. Ну разве что уменьшить разрешение в иксах, но это плохо скажется на качестве картинки на ЖК-мониторах.
AndreyMust19 писал(а):
07.11.2010 19:01
В Вайн вообще старые игры хуже работают, чем те, что используют DirectX 9.

Не знаю. В большинстве случаев проблем нет (даже если игры очень старые - все игры под Win31 с моего очень древнего диска отлично работают под wine) НО! В некоторых играх есть заметные отличия графики в винде от графики в wine (особенно если игры под DX 5-6)
Спасибо сказали:
Аватара пользователя
BrONtOSAUR
Сообщения: 421
ОС: Debian Sid

Re: Запуск старых Windows-игр

Сообщение BrONtOSAUR »

Товарищи, есть такой значит вопрос.
Вот здесь http://dl.old-games.ru/get/df65a435cd99a27...ls/dxwnd_og.rar
вложен враппер DXWND, который позволяет запускать DirectDraw игры в окне. По ссылке, что я дал лежит пропатченая версия, с поддержкой произвольных разрешений экрана и разворотом на полный экран.

Однако при попытке запуска Diablo: Hellfire с ним выскочила ошибка:

Код: Выделить всё

err:seh:setup_exception_record stack overflow ...

точно код ошибки позже напишу
После чего ничего не происходит.
Если бы кто мог проверить DXWND у себя, или знает, как эту ошибку исправить, буду благодарен.
Сама игра работает, но не отображается меню, и это довольно известный баг.


System: Debian GNU/Linux Sid + kernel 2.6.35 + gcc 4.4.5 + X.org 2:1.7.7-2 + KDE 4.4.5
Config: Asus P5B + Intel Core 2 Duo E6750 2.66 Mhz + GIGABYTE GeForce 9600GT 1GB (260.19.29 drv.) + 4GB RAM + Creative Audigy SE
Спасибо сказали:
AndreyMust19
Сообщения: 19
ОС: Windows XP

Re: Запуск старых Windows-игр

Сообщение AndreyMust19 »

err:seh:setup_exception_record stack overflow ...

Что я могу сказать. "Переполнение стека при установке SEH-обработчика".
Думаю, автор этого враппера не предусматривал работу под Wine.

Чем жутко не нравится Wine - в невозможности запустить с отдельными опциями симуляции. У меня было так - одна игра работала, в режиме Windows 98 (если запустить winecfg и выбрать режим совместимости Windows 98). Другая игра говорила, что версия ОС не поддерживается и работала если вернуть на Windows XP. Сейчас через командную строку можно только вывод отладочной информации включить. А так хочется, чтобы через нее можно было при запуске игры вкл/выкл. разные костыли и добиваться работоспособности многих игр. Н-р тех, которые перестали работать после установки новой версии Wine.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Запуск старых Windows-игр

Сообщение frp »

AndreyMust19 писал(а):
29.12.2010 20:34
А так хочется, чтобы через нее можно было при запуске игры вкл/выкл. разные костыли и добиваться работоспособности многих игр.

Через командную строку строку нельзя, но через реестр вайна - можно каждой программе назначить свои настройки (в том числе версию винды). RTFM
Спасибо сказали:
AndreyMust19
Сообщения: 19
ОС: Windows XP

Re: Запуск старых Windows-игр

Сообщение AndreyMust19 »

А лучше через командную строку! Или прикажите все время reg-файлы запускать?
можно каждой программе назначить свои настройки

Какие именно кроме версии винды?
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Запуск старых Windows-игр

Сообщение frp »

AndreyMust19 писал(а):
29.12.2010 22:08
Какие именно кроме версии винды?

Абсолютно все. Я лично настраивал использование opengl вместо gdi как бэкенда directdraw для одного приложения (потому, что остальные от него глючили), А так же выставлял для одного приложения использование виртуального рабочего стола.

http://wiki.winehq.org/UsefulRegistryKeys
+-AppDefaults
| |
| +-*<app.exe>
| [Application specific defaults. Replace app.exe with the name of the
| application you want to override defaults for. And use the same subtrees
| as the Wine subtree (i.e. DllOverrides, X11 Driver, etc.).]


AndreyMust19 писал(а):
29.12.2010 22:08
А лучше через командную строку!

Вооружаетесь MinGW32 и вперед кодить консольный редактор реестра (это не сложно). А как накодите - скомпилите и несколько скриптов напишите. И будет вам то же самое с коммандной строки.

PS. Если будет много свободного времени (а оно в ближайшее время не намечается), напишу сам.
Спасибо сказали:
Ответить