1 (09.03.2011 23:16:16 отредактировано Zenitur)

Текст полностью переписан, так как был монструозен и сумбурен, всё было не понятно.

Как всё начиналось

Запуску WA и Diablo I мешает сбой. DirectDraw всё рисует как настоящий Windows, но мы видим только чёрный квадрат, который всё перекрывает. Патча нет но есть хак, который не принимают в код Wine, потому что он сломает что-нибудь ещё. Для Wine 0.9 - 0.9.48 нужно было просто скачать файл ddraw.dll для именно своей версии Wine и положить в каталог с игрой. Сам патч для исходного кода - это один-единственный файл для всех версий Wine - просто уже пропатченные бинарники не подходили к другим Wine (кстати не замечал такого для других всевозможных патчей) вследствие частого переписывания больших частей кода библиотеки ddraw.

P.S. Для Wine 0.9 - 0.9.12 один-единственный файл, а потом почему-то для каждой новой версии Wine приходилось вручную патчить исходник! Либо загружать из Интернета файл ddraw.dll для свей версии Wine, как я и делал. Список. (Исходный код патча для всех версий один и не менялся, бинарники 0.9.49-0.9.52 неработоспособны).

Что было дальше

Начиная с Wine 0.9.49 всё поменялось, патч не работал. Для тех кто не помнит версии Wine объясняю. Последним Wine был 0.9.61, потом релиз-кандидаты (пять штук) и 1.0 в мае 2008 года. Как всегда, разница во времени между релизами - 2 недели. Всё это время я использовал Wine 0.9.48. А потом нашёл решение. Его знали и раньше, но после совмещения двух страничек на AppDB про WA нужный комментарий удалился. Я его нашёл только потом. Надо было пропатчить user32.dll (а точнее, одну строчку заккоментировать), и старый патч для ddraw работал. Я тут же послал результаты тестов для Wine 1.1.2 - последнего на тот момент. В 1.1.3 всё работать перестало. Ссылку удалил.

Держал два Wine. Потом нашёл страницу человека, который улучшил патч для ddraw так, что он стал работать! Патчить user32 уже не надо было. С 1.0 по 1.1.26 всё работало, а на appdb и не знают. Ну что, никто больше результаты тестов после меня не выкладывал, я написал что в 1.1.26 всё работает вот с этим патчем. В 1.1.27 - перестало. Ссылка на бинарник. Страничка с патчами закрылась, видимо зря я выложил результат тестов с ссылкой на патч.

Потом кто-то ещё написал работающий патч для Wine 1.1.35. Как нетрудно догадаться, в одном из следующих релизов (1.1.38) работать перестало. Потом был патч для 1.1.44, с какого релиза Wine не работает не знаю.

Как обстоит дело сейчас

В комментариях к 1.2 ValdikSS (один из лучших и известных игроков) написал что нашёл принципиально новое решение, не трогающее ddraw. Я попробовал - в сетевой игре не удаётся отправлять по Enter тексты (встречался с этим глюком и раньше, но вот в каком релиза - не помню, 1.1.20 наверное, до того как прикрыли страничку с патчами). Патч для Wine 1.2, бинарник для Wine 1.2.

Сегодня последняя версия Wine 1.3.15 и патч от ValdikSS опять не работает. В Bugzilla об этом написали, тут же кто-то ответил просьбой больше сюда не писать ("в этой теме полезных комментариев штук 20, так давайте же писать только полезные комментарии", и в качестве антиоффтопика какие-то полезные размышления).

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

P.S. Чтобы сделать Wine 1.1.2 с работающим Worms Armageddon и Diablo I, нужно закомментировать строчку

if (hwnd == GetActiveWindow()) WINPOS_ActivateOtherWindow( hwnd );

в файле dlls/user32/dialog.c, и пропатчить ddraw старым патчем. Закомментировать - поставить перед ней // и пробел. Да, кстати, 1.1.2 больше не собирается с новыми компиляторами, используйте строчку "CC=gcc-4.2 ./configure" чтобы собрать со старым, если он установлен в систему.

Не плачь, Алиса. Потискай киску.

2

Извини, но не могу не вспомнить:
http://bash.org.ru/quote/398873
ab

При укусе ядовитой змеи, держите её голову на расстоянии от себя, чтобы она не укусила вас в ответ...

3

я в своё время нашёл следующую страничку:
http://worms2d.info/Play_Worms_Armageddon_on_Linux
скачать саму программу можно на форуме:
http://lookias.inventforum.com/viewtopi … mp;start=0
если честно не помню по какой из всей темы ссылке я её скачал) но установка простая (щас уже особо не помню)
и worms работает=)
НО
почему не работает сила выстрела т.е зажимаешь пробел толку 0 как будто нажал и отпустил)
возможно если собирать как описывает автор будет всё хорошо)

4

А я подсадил всех знакомых на hedgewars, и worms мне уже не нужны.

Gentoo amd64 + kde4 desu!

5

hedgewars пробывал показалось что они хуже прорисованы. все движения выглядят довольно статичными(

6

tmp13 пишет:

hedgewars пробывал показалось что они хуже прорисованы. все движения выглядят довольно статичными(

Не критично. Играть все равно весело. Все лучше, чем через костыли вроде вайна или ВМ.

Gentoo amd64 + kde4 desu!

7

Дело в сетевой игре. В WA нас круглосуточно ждут человек 70 или больше, чтобы кто-нибудь создал игру. При этом играть можно даже с diiap-up и GPRS, потому что игра пошаговая и работает с любым пингом!
Попробовал я этот патч, который оставил ValdikSS в комментариях... Который для 1.2. В чате сетевой игры сообщения не отправляются! Так и раньше было, я не помню как я это решал (( Кажется, даундейтом или апдейтом.

Не плачь, Алиса. Потискай киску.

8

Привет всем!
Такая проблема! У меня стоит Linux Mandriva 2010.1 Spring. Я пока начинающий линуксойд, поэтому особо не понимаю, что значит и как наложить патч и куда. Версия моего WINE - 1.3.3 (о программе...). Черви последние, бета 29. В общем скопировал свою папку Team17 на drive_c. Скачал все данные с диска из папки DATA в папку в игре, поставил NoCD. Запуск удался, но тупо черный экран и все. Нашел статьи о замене ddraw.dll и user32.dll и т.д. Скопировал их в папку Windows и заменил, запустил игру, появился логотип, копирайты и т.д., главное меню.... и сразу черный экран. При чем игра работает, вслепую зашел в одиночную игру, меню появилось. Нажал "сыграть в быструю игру с ПК" и все... черный экран и вис. Помогите кто-нибудь, что мне делать и как?

9

http://linuxforum.ru/viewtopic.php?pid=81327#p81327
пробывали?

10

Установи Wine версии 1.2. Возьми патч для версии 1.2, который на AppDB в комментариях к страничке об игре Worms. Комментарий и ссылка оставлены пользователем ValdikSS. Положи в каталог с игрой файл, и запусти с Wine 1.2. А хотя нет, не ставь старый Wine. Там не ddraw и user32 файлы, а некий wined3d вместо них. Может и так сработать.

Не плачь, Алиса. Потискай киску.

11

ИМХО, Worms armageddon the best. никакие hedgewars с ними не сравнятся.

12

Переписал исходное сообщение. Предлагаю обсудить...

Не плачь, Алиса. Потискай киску.

13

Takinaru пишет:

Привет всем!
Такая проблема! У меня стоит Linux Mandriva 2010.1 Spring. Я пока начинающий линуксойд, поэтому особо не понимаю, что значит и как наложить патч и куда. Версия моего WINE - 1.3.3 (о программе...). Черви последние, бета 29. В общем скопировал свою папку Team17 на drive_c. Скачал все данные с диска из папки DATA в папку в игре, поставил NoCD. Запуск удался, но тупо черный экран и все. Нашел статьи о замене ddraw.dll и user32.dll и т.д. Скопировал их в папку Windows и заменил, запустил игру, появился логотип, копирайты и т.д., главное меню.... и сразу черный экран. При чем игра работает, вслепую зашел в одиночную игру, меню появилось. Нажал "сыграть в быструю игру с ПК" и все... черный экран и вис. Помогите кто-нибудь, что мне делать и как?

Предлагаю откатиться до 1.2 и взять патч на странице игры на AppDB, оставлен в комментариях ValdikSS-ом.

Не плачь, Алиса. Потискай киску.

14

Простите, что поднимаю тему.

ValdikSS (один из лучших и известных игроков)

Вот это да! Меня даже кто-то знает. Я уж точно не известный и никак не один из лучших, но приятно, что кто-то так считает.
Кстати, WA отлично работают с последним wine.

15

Армагеддон самая нормальная часть после "Мировой вечеринки"

3.2.3. Запрещается рекламировать любые товары или услуги без специального разрешения администрации форума.
3.1.8. Подпись пользователя не может содержать рекламы, без согласования с администрацией.