Current time: 19.04.2024, 23:53 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
HD-mod. Баги и доработки
Author Message
XEPOMAHT Online
Moderators

Posts: 2269
Post: #106

Большая, ну просто гигантская просьба использовать в HD_WOG.dll:

1. в 2-х местах кода вызов воговской функции GetMineBase 0x71301C для получения структуры шахт вместо получения её по прямому адресу
2. в 2-х местах кода вызов воговской GetDwellingBase 0x711D66 или 0x712EEC (любую из двух) для получения структуры жилища монстра aka внешнего генератора
3. в 2-х местах кода вызов воговской GetHornBase для получения структуры гарнизона


(в данный момент приходится патчить HD_WOG.dll вручную а потом ещё учить плохому этому пользователей ERA+ после каждого обновления HD-мода, или придётся написать автоматический патчер для HD_WOG.dll).
(This post was last modified: 15.12.2020 01:09 by XEPOMAHT.)
14.12.2020 17:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #107

Бара, в коде Delphi часть функций, оптимизированных с использованием FPU registers, время от времени работает с багами. Пишут, что это проблема дравйвера или кода, что неверно восстанавливает состояние FPU. HD-мод можно исключить?


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
21.12.2020 02:12
Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #108

(14.12.2020 17:13)XEPOMAHT Wrote:  Большая, ну просто гигантская просьба использовать в HD_WOG.dll:

1. в 2-х местах кода вызов воговской функции GetMineBase 0x71301C для получения структуры шахт вместо получения её по прямому адресу
2. в 2-х местах кода вызов воговской GetDwellingBase 0x711D66 или 0x712EEC (любую из двух) для получения структуры жилища монстра aka внешнего генератора
3. в 2-х местах кода вызов воговской GetHornBase для получения структуры гарнизона

(в данный момент приходится патчить HD_WOG.dll вручную а потом ещё учить плохому этому пользователей ERA+ после каждого обновления HD-мода, или придётся написать автоматический патчер для HD_WOG.dll).

Вроде сделал. (Только для TE/ERA. Для WoG осталось по-старому).
25.12.2020 12:50
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #109

baratorch, в HD нужно снять хук с адреса 0x74FC45 и восстановить действие оригинальной команды
Code:
0074FC45 MOV EAX,DWORD PTR DS:[0A90D58]

В настоящее время с этим хуком некоторые команды ERM работают неправильно (например в получении координат в битве через ERM творится что-то адски неясное)


game bug fixes extended.dll || My Plugins || My GitHub
24.01.2021 00:57
Visit this user's website Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #110

(24.01.2021 00:57)igrik Wrote:  baratorch, в HD нужно снять хук с адреса 0x74FC45 и восстановить действие оригинальной команды
Code:
0074FC45 MOV EAX,DWORD PTR DS:[0A90D58]

В настоящее время с этим хуком некоторые команды ERM работают неправильно (например в получении координат в битве через ERM творится что-то адски неясное)
Попробуйте заново в последней RC26 версии хд проверить как там с координатами.
Хук я не убирал, но исправил.
Было:
Code:
        _EventMsg_* msg = *(_EventMsg_**)0xA90D58;
        msg->x_abs -= hdv(int, "HD.Center.X");
        msg->y_abs -= hdv(int, "HD.Center.Y");
        return EXEC_DEFAULT;
И это работало как надо, пока координаты окна битвы были такими до появления дополнительной полосы внизу окна.
Стало:
Code:
        _EventMsg_* msg = *(_EventMsg_**)0xA90D58;
        msg->x_abs -= hdv(int, "HD.Battle.X");
        msg->y_abs -= hdv(int, "HD.Battle.Y");
        return EXEC_DEFAULT;
Сам я ничего не проверял, но этот хук в свое время появился не просто так, я думаю.
09.02.2021 18:04
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #111

baratorch, может, я что-то неправильно проверяю, (RC 26) но:


Разрешение 1180x664
координаты при клике на нижнем/левом гексе -68/504 (Click to View)

Разрешение 1600x900
координаты при клике на нижнем/левом гексе -254/392 (Click to View)

Разрешение 1200x800
координаты при клике на нижнем/левом гексе -95/453 (Click to View)

Разрешение 1180x664
почти 0/0 находится там, где правый верхний угол (Гора) (Click to View)

Разрешение 1600x900
почти 0/0 находится там, где тень (Click to View)

Разрешение 1200x800
почти 0/0 находится там, где тень (Click to View)


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
09.02.2021 18:26
Visit this user's website Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #112

baratorch, прошу прощения.

Заметил вот что.

Увеличение разрешения по какой-либо оси вызывает смещение на половину от добавленного разрешения.

То есть выставили мы 1600x900 , и будет смещение на 400/145.

Задумано ли так? Главное, что есть теперь закономерность.

UPD: 664px+ по y-оси увеличивает поле на 20/22? пикселей - именно это и было исправлено

В Версии 5.21 был неверный ответ (лишь по y) из--за этой самой полоски.

Но не это вызывает дичь105


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
09.02.2021 21:42
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #113

(09.02.2021 18:04)baratorch Wrote:  Сам я ничего не проверял, но этот хук в свое время появился не просто так, я думаю.
baratorch, а я проверял. И поэтому прошу - убери этот хук вообще (0x74FC45)

И ещё просьба, можно для ERA включить твик:
Code:
<UI.Battle.ShowAlwaysHeroInfo> = 1


game bug fixes extended.dll || My Plugins || My GitHub
10.02.2021 12:11
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #114

baratorch, спасибо за внесённые изменения!


game bug fixes extended.dll || My Plugins || My GitHub
12.02.2021 10:55
Visit this user's website Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 1005
Post: #115

baratorch, спасибо за обновления и исправления! 132
Выявили ещё одну проблему: игра не запускается - выдаёт критическую ошибку, если в режиме "Verok" поставить фильтр "Cubic". Версия HD Mod 5.2 RC28.

Image: unknown.png


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
13.02.2021 00:16
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #116

baratorch, исправь, пожалуйста, один существенный баг в твоей реализации диалога выбора файла. Игра по умолчанию считывает имя файла, который нужно выделить активным в списке, из буфера 68338C. С каких-то пор HD-мод тупо сохраняет индекс последнего выбранного файла в списке и всегда выделяет элемент по этому индексу. В результате программные сохранения через ЕРМ и плагины не выделяют файлы в списке и игроки теряются, какой файл им загружать.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
28.03.2021 05:55
Find all posts by this user Quote this message in a reply
ilya Offline

Posts: 18
Post: #117

У меня игровая сборка Era 2.8.3 от igrik и точно не понимаю что относится к HD mod, а что к особенностям сборки.

1 Игнорирование опции <UI.Battle.ShowAlwaysHeroInfo> = 1 (Исправилось при обновлении с 5.2 RC7 до 5.2 RC34)
2 Игнорируются опции <UI.RecruitDlg.AutoSet> = 0 и/или <UI.RecruitDlg.AutoSet.Max> = 0 всегда дополняет до максимума.
3 Не работает подбор подходящего артефакта в слот по СКМ, при этом костюмы работают.
4 Не работает HD-ная шкала инициативы. Есть мод BattleQueue, но хочется использовать нативную HD-ную, если возможно.
5 Игнорируется директория CD Data (отсутствует ролик смерти и ролик завершения компании (огнедышащий дракон)).
Модом Видео-заставки кампаний исправляется, но не понятно почему не работает через CD Data.

6 Так же есть ещё одна проблема для любителей играть в компании RoE и AB. а также SoD.
Для компаний RoE и AB нужен один набор Heroes3.snd/Heroes3.vid из диска AB от Бука,
а для SoD другой набор из диска SoD от Бука, конечно же с одинаковыми именами и в одной директории CD Data.
В Linux я эту проблему решаю скриптами создающие симлинк на нужную в данный момент директорию, но хотелось бы или иметь
скрещенный ресурс RoE/AB/SoD или чтобы HD mod имел дополнительную директорию CD Data AB для RoE/AB и обращался к ней,
если в CD Data нет нужных ресурсов.
(This post was last modified: 08.05.2021 01:11 by ilya.)
07.05.2021 20:06
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16484
Post: #118

Бара, спасибо большое за исправление выделения файлов в диалоге сохранения/загрузки.

РЕализовал в Эре поддержку png вместо def/pcx через перехват функций отрисовки. Работает отлично во всех режимах HD и без. Но есть проблема с опцией «Системные курсоры» и def-ом артефактов.

Как только курсор меняется на артефактный, появляется сизый прямоугольник. PNG выводится с полупрозрачностью, сизого цвета там нет. Не ясен механизм этой опции в HD-моде.
Если опция отключена, но есть полупрозрачные пиксели, то виден муар из сизого.

Image: image.png

Image: image.png
08.05.2021 07:14
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #119

(07.05.2021 20:06)ilya Wrote:  У меня игровая сборка Era 2.8.3 от igrik и точно не понимаю что относится к HD mod, а что к особенностям сборки.

1 Игнорирование опции <UI.Battle.ShowAlwaysHeroInfo> = 1 (Исправилось при обновлении с 5.2 RC7 до 5.2 RC34)
2 Игнорируются опции <UI.RecruitDlg.AutoSet> = 0 и/или <UI.RecruitDlg.AutoSet.Max> = 0 всегда дополняет до максимума.
3 Не работает подбор подходящего артефакта в слот по СКМ, при этом костюмы работают.
4 Не работает HD-ная шкала инициативы. Есть мод BattleQueue, но хочется использовать нативную HD-ную, если возможно.
5 Игнорируется директория CD Data (отсутствует ролик смерти и ролик завершения компании (огнедышащий дракон)).
Модом Видео-заставки кампаний исправляется, но не понятно почему не работает через CD Data.

6 Так же есть ещё одна проблема для любителей играть в компании RoE и AB. а также SoD.
Для компаний RoE и AB нужен один набор Heroes3.snd/Heroes3.vid из диска AB от Бука,
а для SoD другой набор из диска SoD от Бука, конечно же с одинаковыми именами и в одной директории CD Data.
В Linux я эту проблему решаю скриптами создающие симлинк на нужную в данный момент директорию, но хотелось бы или иметь
скрещенный ресурс RoE/AB/SoD или чтобы HD mod имел дополнительную директорию CD Data AB для RoE/AB и обращался к ней,
если в CD Data нет нужных ресурсов.

1 - .
2 - wog native dialogs плагин
3 - оно и не сделано для ERA
4 - оно и не сделано для ERA
5 - это не та директория - используй \_HD3_Data\Compability\#era, или \data любого мода, или корень любого плагина для hd mod
6 - тот же ответ


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
24.05.2021 09:44
Visit this user's website Find all posts by this user Quote this message in a reply
Shishgun Offline

Posts: 24
Post: #120

Quote:2 Игнорируются опции <UI.RecruitDlg.AutoSet> = 0 и/или <UI.RecruitDlg.AutoSet.Max> = 0 всегда дополняет до максимума.
Выставляешь <UI.RecruitDlg.AutoSet> = 1 <UI.RecruitDlg.AutoSet.Max> = 0 и вуаля
30.05.2021 09:34
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group