Форум проекта Matuntu

Программное обеспечение => Игровые приложения => Тема начата: snowman-fedya от 11 Октября 2021, 22:19:48

Название: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 11 Октября 2021, 22:19:48
Решил тряхнуть стариной, поставить и поиграть, однако трях не удался. На экране нет отрисовки части изображения:
(https://i.imgur.com/PRJS4At.png)
причём временами изображение становится правильным:
(https://i.imgur.com/ZCddbaA.png)
но потом опять фон становится чёрным, играть нельзя
Matuntu-B64-12-20, wine ставил разные, везде один и тот же эффект.
На Рунту 16.04 + Мате всё работало без проблем. Страшно буду благодарен за полезный совет, где копать.
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: ivm от 12 Октября 2021, 00:06:23
Есть такое дело. Сколько ни пытался обновить Matuntu-X64, в которой в вайне установлена программа, Любое обновление приводило к утрате работоспособности программы. Благо дело у меня есть бекап раздела с этой системой и я смог её восстановить. После нескольких вариантов оставил всё как было. Распаковал из бекапа на раздел другого компьютера и не обновляю эту систему.
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 12 Октября 2021, 01:41:46
Есть такое дело. Сколько ни пытался обновить Matuntu-X64, в которой в вайне установлена программа, Любое обновление приводило к утрате работоспособности программы. Благо дело у меня есть бекап раздела с этой системой и я смог её восстановить. После нескольких вариантов оставил всё как было. Распаковал из бекапа на раздел другого компьютера и не обновляю эту систему.
Ну, у меня выделять целую машину для поиграть в циву-3 жирновато будет. Запускать под виртуалкой -- тоже оверкилл, да и тормозить будет, она сама по себе игра неторопливая. Должно же быть какое-то решение, причём скорее всего, простое, просто неочевидное. Как-то с библиотеками, с directx поиграться... было бы время...
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: vita от 12 Октября 2021, 02:19:02
Проблемы этой игры после обновления известны (https://lutris-net.translate.goog/games/sid-meiers-civilization-iii-complete/?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=nui,sc), но решение так и не найдено.
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 12 Октября 2021, 13:16:25
Проблемы этой игры после обновления известны (https://lutris-net.translate.goog/games/sid-meiers-civilization-iii-complete/?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=nui,sc), но решение так и не найдено.
совсем печально. и ведь работало под 16.04 нормально. что же поменялось-то?
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: vita от 12 Октября 2021, 13:23:05
совсем печально. и ведь работало под 16.04 нормально. что же поменялось-то?
Если бы система ради сохранения игры не обновлялась, ничего бы не поменялось  :)
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 13 Октября 2021, 23:15:50
совсем печально. и ведь работало под 16.04 нормально. что же поменялось-то?
Если бы система ради сохранения игры не обновлялась, ничего бы не поменялось  :)
я оценил ваш юмор, но занудно скажу, что спрашивал совсем о другом. любая регрессия восстановима, и если понять, что вызывает "чёрный ландшафт", то можно сделать что-то для исправления, ну хотя бы попытаться. ну а говорить -- мол, "хотел играть так не обновлялся бы"... скажем так, некузяво
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: vita от 13 Октября 2021, 23:49:42
любая регрессия восстановима, и если понять, что вызывает "чёрный ландшафт", то можно сделать что-то для исправления, ну хотя бы попытаться
Насчёт "восстановимости" любой регрессии не соглашусь. Со своими вопросами о регрессии Civilization 3 советую обратиться к разработчику игры или в специализированное сообщество.
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 17 Октября 2021, 17:58:15
Регрессия в либе gdi32.dll.so где-то в районе 2.7 версии wine стала приводить к black terrain -- чёрному игровому поле (кроме фигурок юнитов, который отрисовывались нормально).

Разборки кода приведены тут: https://bugs.winehq.org/show_bug.cgi?id=41930 (https://bugs.winehq.org/show_bug.cgi?id=41930) впрочем, никто особо не стал это исправлять.

Ну и не патчить же самому код wine и не пересобирать (хотя тру линуксоид пойдёт этим путём).

Не тру (вроде меня) сравнит патченую либу и не патченую и выяснит, что разница в одном месте: код 6383 меняется на 0114. Сравнив две либы от разных версий wine, я увидел ту же разницу, только адрес был другой. Поэтому я поставил произвольную версию wine (5.0 взял для простоты), нашёл там gdi32.dll.so и хексэдитом поменял первое вхождение 6383 на 0114, после чего Цива 3 заработала правильно. Проверять на других версиях уже лениво. Наверное, это будет работать на всех вайнах, где эта либа в формате эльфа, в свежих вайнах есть тенденция перевести всё в формат PE и там уже вряд ли такая замена прокатит.

Надеюсь, это будет полезно ещё кому-то.

Всем поучаствовавшим в обсуждении большое спасибо. Я бы запостил это в обсуждение, но тему прикрыли :(
Название: Re: Запуск Civilization 3 под Wine [Решено]
Отправлено: snowman-fedya от 17 Октября 2021, 20:17:36
Проверено под wine 6.18 staging, замена в gdi32.so сработала и отрисовка terrain как положено. Поиграю, посмотрю, нет ли глюков, мало ли на что ещё такой метод может подействовать...

Есть падение. Но непонятно от чего, ранее такое тоже случалось...