(18.03.2022 18:01)DarkyAndSparky Wrote: Красота, Херомант, красота!
Спасибо. Делаю всё что в моих силах.
(18.03.2022 21:00)Bes Wrote: тебя бы в 2000год в WoG-team да на должность руководитель центра программирования абилок WoG, без Тифона правда, ..
Не, в 2000 году я про Третьи Герои ничего не знал. Да и компьютер появился только в сентябре 2002 года, P233MMX, через месяц - все Хроники Героев с Буковских дисков, а через полгода до меня таки дошёл какой-то самопальный диск с ВоГом, в котором правда всю музыку кто-то заменил... Как раз с этой древней сборки заглавная тема в главном меню играет в ERA+. Такой вот эффект бабочки.
А без Тифона точно ничего бы не вышло, т.к. Мастер в него нехилые основы заложил, которые разрослись до ERA+, а возможно в скором времени дорастут и до состояния полного порта MoP на платформу ЭРА с поддержкой HD-мода, 3-х новых игровых фракций и прочей тонны добавленного в игру контента. На Си такое же у меня написать точно не выйдет, да вообще на языке высокого уровня реализовывать низкоуровнево-подобный код - надругательство над высокоуровневым программированием.
Небольшое изменение в Тифоне 3: добавлена поддержка функционала из patcher_x86.dll, а именно:
1. все хуки Тифона теперь отображаются в x86 patches.txt при генерации дебага в ЭРЕ. Т.е. теперь автор плагина может проверить совместимость по хукам с Тифоном. К примеру, если в отладочной информации будет что-то типа этого:
Code:
[ ][s][ ] 2: (0074C816 01 Patch 0000001802 - ERA+.Typhon: this is a fake hook! Real hook installed in typhon.dll), (0074C816 05 Patch 0000002181 - D:\Prоgram Files\Heroes of Might and Magic III\era.dll)
значит Тифон пишет свой хук поверх эровского хука, при этом оригинальный эровский хук не исполняется.
2. Система хуков Тифона теперь следующая:
* при инициализации Тифона по адресам хуков расставляются брейкпоинты с помощью patcher_x86.dll (к сожалению, это единственный кастыль для того, чтобы указать патчеру наличие стороннего изменения кода игры, просто сказать патчеру, что здесь стоит хук, увы нельзя).
* после инициализации ВоГа Тифон устанавливает настоящие хуки взамен брейкпоинтов.
3. Сами возможности patcher_x86.dll в Тифоне будут постепенно задействоваться по мере необходимости, ну или любой желающий, кто сможет разобраться с основами работы patcher_x86.dll на ассемблере, сможет их задействовать в исходных кодах после релиза финальной версии ERA+.