LinuxForum.Fans
Тема

Worms Armageddon

Автор: Zenitur 16 сообщений 13794 просмотров
#69399

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

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

Запуску 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, нужно закомментировать строчку

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

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

#69645

я в своё время нашёл следующую страничку:
http://worms2d.info/Play_Worms_Armageddon_on_Linux
скачать саму программу можно на форуме:
http://lookias.inventforum.com/viewtopic.php?t=15&postdays=0&postorder=asc&start=0
если честно не помню по какой из всей темы ссылке я её скачал) но установка простая (щас уже особо не помню)
и worms работает=)
НО
почему не работает сила выстрела т.е зажимаешь пробел толку 0 как будто нажал и отпустил)
возможно если собирать как описывает автор будет всё хорошо)

#69884

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

#70227

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

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

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

#73511

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

#82416

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

#83782

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

#87152

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

#129273

А мне Angried Birds тоже подуше :)

#138194

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

#144658
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-ом.

#184076

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

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

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

#298470

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

Войдите или зарегистрируйтесь, чтобы ответить.