Объявления

Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Как создать плагин для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 06:20

Там есть определённые ошибки.

Я собираюсь сделать свою версию API, а пока поработайте с этой.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 07:48

Кстати, а вам удобно весь код в одном файле dllmain.cpp хранить? :smile3:
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2161 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 03 май 2022, 14:03

Цитата:
Там есть определённые ошибки.

Там не определённые, а много ошибок в классах, которые я не использую. Или Вы говорите, что есть ошибки в hero или army?

Обычно плагины очень маленькие получаются, но этот вышел из-под контроля :smile1: Если Вы заметили, то я уже начал дробить хедеры. Уборка - это тоже работа и требует времени :smile2:
Вернуться к началу

offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 14:49

hero и army на днях обновлял.
Я сам скоро запилю библиотеку, не заморачивайтесь особо.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2161 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 03 май 2022, 14:57

Цитата:
hero и army на днях обновлял.
Я сам скоро запилю библиотеку, не заморачивайтесь особо.

Если она будет использовать оригинальные названия полей и методов, мне даже код не придётся менять. Так что я смело смогу подключить Ваши хедеры.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 15:04

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

Сделаю несколько версий, одна из которых будет для дампа полной сигнатуры функции + названия аргументов.

Так, полная перепись кода героев 3 покажется еще реальнее и быстрее.
Удобно то, что самые сложные алгоритмы ИИ практически полностью совпадают с SoD-овскими, можно в трех базах сидеть и сверять.

Жаль, конечно, что sav не поделится своими исследованиями RMG. Хотя, имхо, лучше новый написать.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2161 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 03 май 2022, 15:11

Если реально получится, то перейдём на Ваши хедеры. Главное, чтобы они не уступали H3API. Я не использую H3API только из-за того, что мне намного быстрее писать код, опираясь на знакомую homm3.h. И считаю, что мы движемся в правильном направлении. До этого каждый, кто занимался API, именовал поля и методы по-своему. Теперь у нас есть дамп, и было бы глупо не сойтись во мнении, что в коде должны использоваться оригинальные названия классов, их полей и методов. Т.е. наличие такого дампа автоматически наводит порядок в плагиностроении :smile20:

Цитата:
Удобно то, что самые сложные алгоритмы ИИ практически полностью совпадают с SoD-овскими, можно в трех базах сидеть и сверять.

У меня такое чувство, что AI не переписывали со времён RoE. Даже новые абилки прописаны в коде напрямую и не требуют правок AI.
Последний раз редактировалось AlexSpl 03 май 2022, 15:18, всего редактировалось 1 раз.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 15:16

Наличие такого дампа открывает огромные неизведанные просторы в игре.

В первую очередь в области ИИ.
Ну еще это сделает использование в модах интерфейса удобнее.

Надо поскорее мне доделать статью в группе ВК и начать форсить мой паблик, чтобы люди заинтересовались. Но я все же хочу сначала доделать до какой-то степени, чтобы новички пришли на готовенькое и у людей больше появлялось желание в этом разбираться, чем в сырых байтах аки в нулевых.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: DM
Ветеран
Ветеран
 
Сообщения: 537
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 121 раз.

Re: Как создать плагин для HD мода

Сообщение void_17 » 03 май 2022, 15:21

Цитата:
AI не переписывали со времён RoE


Судя по названиям новых типов в SoD из практически пустой базы Macintosh-версии, добавили несколько типов для оценки артефактов и еще чего-то.

 
Код: Выделить всё
type_statue_of_legion_artifact
type_artifact_effect
type_elixir_of_life_artifact
type_undead_king_cloak_artifact
type_base_necromancy_artifact
type_angelic_alliance_artifact


Плюс в каких то местах исправляли баги и меняли поведение, незначительно конечно.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5547
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2161 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 03 май 2022, 15:25

Цитата:
Наличие такого дампа открывает огромные неизведанные просторы в игре.

Да это огромный подарок :smile20: Если хотите прочувствовать, через что прошли люди до Вас, попробуйте дизассемблировать тот же код Героев 1. Я уже почти закончил основные классы, но это куча (!) работы. Нам повезло, что Героями 3 интересовались и до нас. Героями 1 никто не интересовался. И, поверьте, код очень отличается от троечного. Там почти везде функции возвращают значения по референсам (!), т.е. одна функция возвращает кучу изменённых структур. Вот ты пытаешься отыскать в декоплиляте, какая инструкция меняет переменную, но оказывается, что никакая не меняет. А потом смотришь функции и видишь, что именно они наполняют их :smile1: Герои 1 с точки зрения привычного реверса - другая вселенная просто. Ещё хочу добавить, что в Героях 1 были классы, но this не используется вообще, хотя это и __thiscall. Такие вот дела. В Героях 3 ушли от такой порочной практики.
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3