Current time: 25.09.2021, 21:43 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
V_Maiko Offline

Posts: 543
Post: #1831

In ERA, is it possible to integrate support for quicksave, daily saves and beforebattle saves in HD mod save folders with "Save all days" option enabled, so that each map automatically save in said folder?
(I don't know how many times I said "save" 96-copy )

It's that for me, it's not enough to use Autosave, and I always save the games in real time.
(This post was last modified: 18.09.2021 23:47 by V_Maiko.)
18.09.2021 23:43
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1832

XEPOMAHT, для универсального подхода мне нужен перехват на любой щелчок с получением верных координат в рамках центрированной зоны 800х600 или всего экрана в случае карты приключений.

V_Maiko, I don't see the task for Era engine. It's fully scripts task, if I understood you correctly. There is ERM function SaveGame, allowing to specify save name/path. There is also CreateDirectory function to create directory.


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

Posts: 2608
Post: #1833

(18.09.2021 21:55)XEPOMAHT Wrote:  Эмм... в экране города просмотр монстров теперь накрывает прирост, что выглядит неккоректно, т.к. эта часть интерфейса закрываться не должна. Ограничители в экране города рекомендуется оставить стандартными, а не 800х600.
Имейте ввиду, что в game bug fixes extended.dll есть код
Code:
// центрирование изображения по ПКМ в городе на иконке найма войск (ранее уходило сильно влево, особенно заметно при игре с HD)
    _PI->WriteHexPatch(0x5D47B3, "0F BF 57 18  8B 4F 24 B8  FF FF FF FF  90");

UPD: ага, увидел, что этот патч больше не действует. Как я понял это в ЭРЕ 3.9.0 сделано? Тогда я в следующем релизе "bug fixes extended" (если он когда то будет) выпилю этот патч.
В дополнение скажу, что в нынешнем показе сообщения по ПКМ я поддержу Берса:
(18.09.2021 22:51)Berserker Wrote:  Всё верно. Подсказка открывается не для того, чтобы читать про анубиса выше и затем смотреть на остальных ниже с зажатой ПКМ. ПКМ для концентрации внимании на чём-то под курсором.
... и нынешние координаты показа сообщения именно те, что нужны. Лично я против задирания сообщения выше, как предлагает ХЕРОМАНТ


game bug fixes extended.dll || My Plugins
20.09.2021 06:16
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1834

igrik, да, в Эре 3.9.0. Если знаешь, куда безопаснее всего установить перехват на любой щелчок мыши с тем, чтобы получить вменяемые координаты в диалоге — напиши, пожалуйста. А то в героях такой дикий разброс мест появления этих ПКМ диалогов, что просто диву даёшься.

Патч можно убирать.


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

Posts: 2608
Post: #1835

Сходу не отвечу. Но боюсь, что такого универсального места попросту нет. Единственное что мне приходит в голову - это конструктор диалога (0x5FEFB0). Тут можно получить и координаты, и размеры будущего диалога, что смещение правильно регулировать. Но однозначно будут трудности с получением "от куда вызван диалог".


game bug fixes extended.dll || My Plugins
20.09.2021 09:51
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1836

Где-то должно быть место, где менеджер окна отсылает сообщение активному диалогу. Но ок, пока не критично.


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

Posts: 2608
Post: #1837

Вот щас я тебя не понял. Посылает сообщение какого вида?


game bug fixes extended.dll || My Plugins
20.09.2021 14:15
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1838

Сообщение — вызов виртуальной функции вида [edx+8], по сути вызов обработчика события щелчка в диалоге.


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

Posts: 903
Post: #1839

Berserker, можете пожалуйста подсказать, как использовать функционал, аналогичный SN:R в плагине на С++?


Создал новый глобальный мод: WoG Ultra Edition
20.09.2021 14:33
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1840

Две функции экспортируются Эрой и доступны в С++ era.h файле:
GlobalRedirectFile — глобальное перенаправление (работает во всей игре, не сохраняется в сохраняемые файлы)
RedirectFile — локальное перенаправление в рамках текущей запущенной карты, сохраняется и загружается после автоматически. Собственное, его SN:R использует.


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

Posts: 903
Post: #1841

Спасибо, их я видел, но мне не совсем понятно, как именно передать им аргументы. В era.h это не указано, а если впрямую давать две строки, результат получается какой-то странный...


Создал новый глобальный мод: WoG Ultra Edition
20.09.2021 15:08
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15387
Post: #1842

procedure RedirectFile (OldFileName, NewFileName: pchar); stdcall;
procedure GlobalRedirectFile (OldFileName, NewFileName: pchar); stdcall;


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

Posts: 3437
Post: #1843

Как передавать значения ассоциативных переменных через ресивер !!IP: ?
раз уж планируется отказываться от HE:W, то им должна быть альтернатива.


Image: widget.png?style=banner2

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

Posts: 2608
Post: #1844

@Raistlin
Чё то мне подсказывает, что в era.h дополнительно нужно расширить описание функций:
PHP Code:
typedef void  (__stdcall *TRedirectFile) (const charOldFileName, const charNewFileName); 

@Berserker
Берс, ты не сможешьш поставить универсально один хук на все возможные события обработчика. Так не получится.
Есть базовый Dlg_Proc (0x5FFDE0 или 0x405610) (в виртуальной таблице это [vTable+0xC] или [vTable+0x24] не помню точно), но мне кажется в этом случае это не то.

Просто у каждого более-менее важного диалога - своя виртуальная таблица, в которой смещение до обработчика - у всех разное.
Например:
1) SwapDlg: proc = [vTable+0x2C]
2) BattleDlg: proc = [vTable+0x8]
3) TownDlg: proc = [vTable+0x8]
4) HeroDlg: proc = [vTable+0x24]
и т.д.

Я перестал понимать что именно ты хочешь сделать:
-если ты хочешь менять координаты диалога, то это нужно делать перед показом, например в конструкторе.
-а обрабатывать события кликов мыши (это в процесс диалог - 0x5FFDE0 или 0x405610).


PS: чё со временем то случилось у форума? У меня щас показывает 15:41, хотя по настоящему сейчас 19:41


game bug fixes extended.dll || My Plugins
20.09.2021 17:38
Visit this user's website Find all posts by this user Quote this message in a reply
Raistlin Away
Moderators

Posts: 903
Post: #1845

igrik, Berserker, большое спасибо!


Создал новый глобальный мод: WoG Ultra Edition
20.09.2021 18:13
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-2021 MyBB Group