3.6

Все об аддоне - обсуждение, баги, FAQ, список изменений и многое другое.
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

я писал про Verok-вариант: там просто враппер-перехватчик, который создаёт нужный сурфейс-oGL под героев. По идее, для HD он не нужен, потому что HD сам создаёт ровно такой же сурфейс. Если проще:
- старые герои: создают маленькое окно, комп растягивает его на весь экран.
- Verok и HD: создают большое окно, размером с экран. Verok растягивает картинку, а как HD работает, я не знаю, только теоретически.
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: 3.6

Post by Max_HMMI »

Ek Wilibris wrote: Thu Dec 30, 2021 20:50 Verok растягивает картинку, а как HD работает, я не знаю, только теоретически.
Судя по видео, Verok не растягивает картинку, а меняет разрешение на стратегической карте. Возможно, перехватывает соответствующие системные вызовы и подменяет возвращаемые значения на параметры выбранного разрешения. В HD-моде указанные разрешения прописаны прямо в коде. Думаю, с помощью Verok вполне можно запустить 3.6 HD в разрешениях 16:10.
Но по вылетам это пока не проясняет картину. Виновен может быть кто угодно - мод, Verok, ОС, какой-либо сторонний софт. Либо их комбинации.
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Кстати, 3.51 у меня не вис никогда, ни на одном из компов. (3.6 ещё не смотрел :roll: )

PS: Всех с наступающим! :)
User avatar
SVDenik
Level 7 Hero
Level 7 Hero
Posts: 90
Joined: Tue Nov 20, 2012 12:32
Location: Беларусь, Брест
Contact:

Re: Re:

Post by SVDenik »

Max_HMMI wrote: Sun Dec 26, 2021 22:06 Антивирус? Давай для начала посмотрим на содержимое основной папки игры и папки \Data (скрины либо текст нужны).
Антивирус NOD 32 4-ой версии. Отключал как сам режим сканирования в реальном времени, так и добавил EXE-ник мода в исключения. В DEP 7-ки тоже. Скришот содержимого папок - клик.
Max_HMMI wrote: Sun Dec 26, 2021 22:06 А сама игра стартует нормально?
Сама игра отлично запускается.
Image
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Играл на новый год :) С 9-ти вечера до 6-ти утра, с перерывом на 10 минут в 12.00 ::)
Отлично! А я уже и забыл, как 4-ые сильно отличаются по механикам от других игр (последний сейв был за 11-й год, Карл!)

Windows 7 :angel:
User avatar
SVDenik
Level 7 Hero
Level 7 Hero
Posts: 90
Joined: Tue Nov 20, 2012 12:32
Location: Беларусь, Брест
Contact:

Re: 3.6

Post by SVDenik »

С Новым годом. Протестировал Equilibris 3.6 на чистой виртуальной машине под WinXP x32 (на VirtualBox v5.2.20 r125813). Получил следующее.

1) Equilibris HD как есть от MAX - завелся, но выбрать разрешение реального монитора не дал. Даже с установленными на гостевой WinXP VBoxGuestAdditions.iso (для работы гостевой ОС не только в 4:3 режиме + экспериментальная поддержка Direct). Снимки - раз (просто рабочий стол), два (сам Equi), три (список доступных режимов);

2) Equilibris для 4:3 (без файла equi_hd_16_9.h4r и с заменённым h4.dll) - сам по себе заработал. С HD-модом от Verok - сразу краш без ошибок (появляется кнопка Equilibris на мгновение и исчезает как на реальной машине, в процессах не висит). Если файлы и папки этого HD-мода убираю (config.ini, ddraw.dll, папку mods) - Equi заводится;

3) Оригинальные Heroes отработали штатно как сами по себе, так и с HD-модом от Verok с возможностью выбора любого разрешения экрана (на снимке пример для 16:9). Кроме того, мод на виртуальной машине плавно отображает графику при смене окон, как на реальной машине - без него окна/менюшки в игре рисуются с задержками. Неудобство доставляет только опаздывающий на секунду звук при клике (галочка окна или скачущая лошадь);

P.S. Увы, такие же действия на реальной машине ни к чему ни привели - Equilibris стал крошиться в любом случае. Даже старая версия 3.55, ранее работавшая с этим HD-модом, тоже не завелась. Сносил игру начисто и переустановил - Equilibris крошится :(
Image
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

У кого был Verok и теперь краши после переустановки, попробуйте следующее:
- я не помню, какую dll-ку он подменяет, кажется ddraw.dll. Чтобы точно узнать, что у вас уставнолено, возьмите любой архиватор и откройте исталлятор Verok-а, как архив. Извлеките оттуда эту dll-ку в отдельное место (или все, их там максимум две)
- поиском по системным папкам поищите её.

у меня подозр, что винда могла закешить себе эту dll-ку, как системную. Возможно это полечится, если принудительно накатить DirectX. Гипотеза так себе, но у меня пока нет других вариантов.

Есть ещё один хороший вариант проверит, что все dll-ки - те, которые нужно. Надо поставить себе process explorer (например, с сайта микрософта, он оттуда родом изначально), это как task manager, но лучше. В момент краша, надо открыть его, там есть кнопка-прицел, надо мышкой перетащить на окно ошибки, тогда он найдёт "героев" в списке процессов. Можно их найти там самому.
Потом в меню view -> Low Pane view выбрать Dlls: внизу будет список всех dll-ек, которые на данный момент прицеплены к процессу. Убедитесь, что там нету dll-ек, которые перечислены в исталляторе Verok-а. Но там могут быть dll-ки с теми же именами, что и системные (в том тонкий хак Verok-а), поэтому там же можно посмотреть путь, откуда взята dll-ка, пойти туда и убедиться, что, например размер используемой dll-ки НЕ совпадает с размером dll-ки от Verok-а.
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: 3.6

Post by Max_HMMI »

Всех с наступившим Новым Годом! :) Прошу прощения за отсутствие - загулял с одной колдуньей с обильным потреблением различных potions. ;)

"Продолжаем разговор" (с)
SVDenik
С файлами, вроде, все в порядке. Тогда такие вопросы:
1. А что происходит в безопасном режиме? У меня мод нормально запускается, даже HD-разрешение устанавливает.
2. Замени файл h4.dll на этот. В нем включен вывод двух информационных диалоговых окошек с текстом "Hello World from DLL!" при входе в dll и при выходе из нее. Т.е., при нормальном старте игры (лучше в оконном режиме) сначала должно дважды выскочить данное окошко, а потом запуститься игра. Мне интересно, что будет при сбое.
User avatar
SVDenik
Level 7 Hero
Level 7 Hero
Posts: 90
Joined: Tue Nov 20, 2012 12:32
Location: Беларусь, Брест
Contact:

Re: 3.6

Post by SVDenik »

Max_HMMI wrote: Mon Jan 03, 2022 15:17"Продолжаем разговор" (с)
Увы, безопасный режим тоже ничего не дал. Разве что процесс мода висел около 10 секунд и кикался :)

C DLL-кой для дебага: окна два раза появлялись, после второго тапа на OK мод примерно через секунду кикнулся. Но пока форточки эти не закрыл, снял скрины DLL (1-ый - без мода Verok; 2-ой с ним).

P.S. Сегодня ещё VirtualBox таким же образом стал не запускаться. Видимо, сама система восстала и отстрелила последнюю ногу, чтобы у меня не появилось искушение даже самым инвалидным способом поиграть в Equlibris :lol:

P.P.S. Жаль, что в этих Виндах нет вменяемого деинсталлятора DirectX (смотрел - или только под XP, или платные). А для C++ пакетов это предусмотрено.
Image
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

SVDenik wrote: Mon Jan 03, 2022 20:49 P.P.S. Жаль, что в этих Виндах нет вменяемого деинсталлятора DirectX (смотрел - или только под XP, или платные). А для C++ пакетов это предусмотрено.
Ёкарный бабай, ну запусти уже героев под дебагом и посмотри, где падает :)
Исходники DirectX вроде есть в ихней SDK? А, нет, нету, есть заголовки. Ну студия символы подтянет, будет понятно, где и почему падает.

PS: доиграли вчера карту, три раза поспорили с женой на тему наличия ответок стрелков на удалённую атаку, когда атакуемый погибает ::) ;D
Охрененно!!! :w00t:
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: 3.6

Post by Max_HMMI »

SVDenik wrote: Mon Jan 03, 2022 20:49 C DLL-кой для дебага: окна два раза появлялись, после второго тапа на OK мод примерно через секунду кикнулся.
Вот жалость какая! Если бы мод кикнулся до выдачи сообщений, то можно было бы с чистой совестью умыть руки. ;) А так - придется разбираться. Впрочем, если разберусь, можно статью на Хабре написать. :)
Ek Wilibris wrote: Tue Jan 04, 2022 13:24 Ёкарный бабай, ну запусти уже героев под дебагом и посмотри, где падает :)
Это может быть не так очевидно. Игра ведь может завершаться и штатно, например, при проблемах инициализации графики.
Впрочем, в системные журналы заглянуть не помешает. Нет ли там каких-либо ошибок в интересующий нас момент?
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Max_HMMI wrote: Tue Jan 04, 2022 23:09 Впрочем, если разберусь, можно статью на Хабре написать. :)
Хорошая идея
Max_HMMI wrote: Tue Jan 04, 2022 23:09 Это может быть не так очевидно. Игра ведь может завершаться и штатно, например, при проблемах инициализации графики.
Инициализацию графики можно по шагам пройти в дебаге, я проходил, я менял параметры для разрешения, при инициализации DX.
Assman
Level 2 Hero
Level 2 Hero
Posts: 11
Joined: Sat Mar 19, 2016 22:25

Re: 3.6

Post by Assman »

У меня почему то вылетает при входе в гильдию магов
User avatar
SVDenik
Level 7 Hero
Level 7 Hero
Posts: 90
Joined: Tue Nov 20, 2012 12:32
Location: Беларусь, Брест
Contact:

Re: 3.6

Post by SVDenik »

Max_HMMI wrote: Tue Jan 04, 2022 23:09Впрочем, в системные журналы заглянуть не помешает. Нет ли там каких-либо ошибок в интересующий нас момент?
Удалось победить запуск, но по порядку.

Заглянул в журнал событий - да, там запись фигурировала, что мод упал с исключением 0xc0000005. Ещё пропустил EXE-ник через подобие отладчика, ибо ставить на пенёк монструозный Visual Studio не захотелось (скриншоты раз, два), но там проблема понять этот эльфийский :)

В итоге вместо одного из советов по данной ошибке вбить в консоль sfc /scannow для проверки битых компонентов ОС решил накатить обновления из пака simplix отсюда.

Также полностью отключил DEP:
bcdedit.exe /set {current} nx AlwaysOff

Сейчас сел, сдуру решил постучаться в ворота и получил следующее - раз да и два. Заработало, спасибо :angel:

Что конкретно помогло, не скажу, ибо эти два действия делал скопом. Но ранее добавлял файл Equilibris в исключения DEP и не помогло.
Image
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Assman wrote: Fri Jan 07, 2022 14:10 У меня почему то вылетает при входе в гильдию магов
Это где? Можно подробнее?
SVDenik wrote: Fri Jan 07, 2022 17:56 но там проблема понять этот эльфийский :)
Смещение 0x860, в основном модуле, теперь можно узнать, что там за вызов.
Макс? :)
Assman
Level 2 Hero
Level 2 Hero
Posts: 11
Joined: Sat Mar 19, 2016 22:25

Re: 3.6

Post by Assman »

Ek Wilibris wrote: Fri Jan 07, 2022 23:01
Assman wrote: Fri Jan 07, 2022 14:10 У меня почему то вылетает при входе в гильдию магов
Это где? Можно подробнее?
В GoG установил чистую версию (Англ.) далее поставил на нее Equilibris_v3.60 HD beta и Файл ресурсов HD-версии, теперь на любой карте вылет после захода в гильдию магов. Пока не уловил с чем это связанно, возможно буковскую версию надо, в общем поэкспериментирую с набором файлов
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: 3.6

Post by Max_HMMI »

Ek Wilibris wrote: Fri Jan 07, 2022 23:01 Смещение 0x860, в основном модуле, теперь можно узнать, что там за вызов.
Там расположен старый код Equi тех времен, когда Lost еще не придумал, как подключить к exe-шнику собственную dll. "Это были славные нулевые, и мы втискивали код, куда могли." ;) Надо бы подумать о перенесении его в dll (дабы избежать претензий от ОС и антивирусов), но тут сложно: описания данного кода у меня нет. Но возьму себе на заметку.

Также интересны адреса 0x8E3A7B и 0x8E9062 с первого скрина. Первый принадлежит функции start, запускающей игру, второй - функции XcptFilter, связанной с обработкой исключений (ошибок), причем первая как раз и вызвала вторую. Таким образом стало более-менее очевидно, что современные версии Windows не очень-то любят странное в пользовательских программах.
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Max_HMMI wrote: Sat Jan 08, 2022 15:33 когда Lost еще не придумал, как подключить к exe-шнику собственную dll. "Это были славные нулевые, и мы втискивали код, куда могли." ;) Надо бы подумать о перенесении его в dll (дабы избежать претензий от ОС и антивирусов), но тут сложно: описания данного кода у меня нет. Но возьму себе на заметку.
А куда делся Lost? :roll:
Я, когда пытался разобрать формат сценария, находил его записи, так и не понял, как он до всего этого дошёл. Но информации всё равно не хватило, а спросить уже не у кого :\
Max_HMMI wrote: Sat Jan 08, 2022 15:33 дабы избежать претензий от ОС и антивирусов
я, наверно, поторопился с перепиской с Есетом, но с 26 декабря, когда они обещали мне ответить в течении 24 часов, мне написали ещё 3 письма про то, что моё обращение зарегано, и мне ответят в течении 24 часов, потом ещё два письма, что дело ушло на вторую линию, оба ещё с рекламой каких-то есетовских курсов по обучению спецов по антивирусным решениям, видимо "разберитесь сами уже!" ;D

А вообще да, любые инжекты пугают антивирусы, потом приходится доказывать, что ты не верблюд :)
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: 3.6

Post by Max_HMMI »

Ek Wilibris wrote: Wed Jan 12, 2022 06:21 А куда делся Lost? :roll:
Ушел во "взрослое" программирование. :)
я, наверно, поторопился с перепиской с Есетом, но с 26 декабря, когда они обещали мне ответить в течении 24 часов, мне написали ещё 3 письма про то, что моё обращение зарегано, и мне ответят в течении 24 часов, потом ещё два письма, что дело ушло на вторую линию, оба ещё с рекламой каких-то есетовских курсов по обучению спецов по антивирусным решениям, видимо "разберитесь сами уже!" ;D
Я уже передвинул задачу перенесения всего кода мода в dll в число первоочередных. "Если хочешь что-то сделать хорошо, сделай это сам!" :)
User avatar
Ek Wilibris
Level 11 Hero
Level 11 Hero
Posts: 235
Joined: Sun Nov 17, 2013 19:07

Re: 3.6

Post by Ek Wilibris »

Max_HMMI wrote: Wed Jan 12, 2022 21:30
Ek Wilibris wrote: Wed Jan 12, 2022 06:21 А куда делся Lost? :roll:
Ушел во "взрослое" программирование. :)
Это как? :)

Тем временем, Есетовцы попросили ссылку на дистрибутив 8)
Надеюсь, тоже присодиняться к игрищу всей командой :yes:
Post Reply