Объявления
Поздравляем
Roman2211


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

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

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineRoseKavalier  
Мастер
Мастер
 
Сообщения: 331
Зарегистрирован: 23 сен 2017, 17:00
Пол: Не указан
Поблагодарили: 234 раз.

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

Сообщение RoseKavalier » 12 июн 2019, 21:04

@Catastrophe
I'm pretty sure some ERA mod has done it, or probably MoP for certain.
It's pretty much the same answer as always : make new tables, change all references to existing tables and add hooks to handle the new spells.
There is extra difficulty if you want to make a non-damage spell because Combat Monster structure has to be reworked to have more room.

@as239
I'm planning to release some code (hopefully today), you will be able to use whatever you want from there.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

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

Сообщение Ben80 » 13 июн 2019, 03:52

RoseKavalier писал(а):

I'm planning to release some code (hopefully today), you will be able to use whatever you want from there.


Скачал. Спасибо ! Как говорят в России, "Родина этого не забудет" :smile1:
Однако нужно время и некоторые волевые усилия, чтобы перейти на твой SDK вместо SDK Бараторча, который долгое время служил верой и правдой.
Вернуться к началу

offlineRoseKavalier  
Мастер
Мастер
 
Сообщения: 331
Зарегистрирован: 23 сен 2017, 17:00
Пол: Не указан
Поблагодарили: 234 раз.

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

Сообщение RoseKavalier » 13 июн 2019, 04:19

Of course, it takes time to get used to it; you can of course use both - I think there should be no collisions.
There are some things that are new, for example some details about H3MovementManager although quite a few fields I did not take the time to figure out as I already had what I needed from it.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

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

Сообщение as239 » 13 июн 2019, 05:03

Wow, what a great job!
But as i see ShowMovementCost is missing :(
Вернуться к началу

offlineАватара пользователя
Catastrophe  
имя: Alex
Посвященный
Посвященный
 
Сообщения: 88
Зарегистрирован: 07 мар 2019, 11:50
Пол: Мужчина
Поблагодарили: 22 раз.

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

Сообщение Catastrophe » 13 июн 2019, 06:17

Спасибо всем кто помогал. Теперь, спустя около год работы, я могу релизнуть свой мод. Пока доступна только русская версия, английская требует времени и внимания, скоро тоже будет.

https://rutracker.org/forum/viewtopic.php?t=5744038
Быстрее всего смогу ответить вам в Telegram: @PleaseAndThankYou
Вернуться к началу

offlinefeanor  
Новичок
Новичок
 
Сообщения: 14
Зарегистрирован: 15 мар 2016, 16:23
Пол: Не указан
Поблагодарили: 15 раз.

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

Сообщение feanor » 13 июн 2019, 10:48

Catastrophe писал(а):

How hard is it to add a new spell? For example, I want to replace Disguise spell with a Lightning Bolt with differerent effects. What I need to do?

- расширяем таблицу заклинаний
- расширяем либо обходим массив заклинаний в структуре героя, обеспечиваем сохранение охвостьев в сейве
- изменяем обращения к обоим массивам так, чтобы новая информация читалась из них
- пишем логику самого заклинания
вы находитесь здесь уже третий месяц, ленивая жопа
- ИИ, генерация в ГМ и шрайнах, далее, далее.

С заменой чуть проще, если не забуду, потом покажу как, как раз есть пример типа майндбласта.
Catastrophe писал(а):

I think many people know about "Fear" spell, that got removed from RoE, but does anyone know about "Spontaneous Combustion" spell?
Even wondered why "Fireball" spell sounds like something different? Even wondered why Xarfax specialty icon shows not fireball, but a flaming corpse? Изображение

Because Fireball was a replacement spell. What did he replace? Let's ask h3maped.exe with IDA:
Изображение

Fear spell preserved its icon, but lost gfx and sfx. Spontaneous Combustion is just the opposite. His only icon is Xarfax 44x44px specialty one.
However, his sound is preserved (fireball uses it), and graphic is still in the game archives - it's the C13SPF0.def in h3sprite.lod:

Изображение

It was probably a single-target direct damage spell, maybe that's why it got replaced with fireball.

Полагаю, что эти необузданные догадки все же ни на чем не основаны.
Ну то есть вот эта таблица с именами - это же таблица не заклинаний, а эффектов, и там оч многие анимашки не соответствуют реальному имени: Tough skin для анимашки камнекожи, Backlash для Волшебного зеркала, Fireblast для инферно, Firestorm для армагеддона, MuckAndMire для слоу, SacredBreath для холиворда, TailWind - хаста, Decay для имплы), и только насчет имплы есть подозрения, что она не то, чем кажется.

Да и предположение, что огненный шар, клишированное заклинание номер один, был введен на замену какому-то другому заклинанию - ну такое.

Полагаю, иконка Ксарфакса осталась либо с ранних версий графики (в мануале, например, есть альтернативный существующему графон силового поля, явно более старый на вид), либо когда-либо была идея делать менее банальные иконки специальностей.
Вернуться к началу

offlineАватара пользователя
Catastrophe  
имя: Alex
Посвященный
Посвященный
 
Сообщения: 88
Зарегистрирован: 07 мар 2019, 11:50
Пол: Мужчина
Поблагодарили: 22 раз.

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

Сообщение Catastrophe » 13 июн 2019, 11:52

feanor писал(а):

Да и предположение, что огненный шар, клишированное заклинание номер один, был введен на замену какому-то другому заклинанию - ну такое.

Инферно в таблице называется "Fireball", так что там судя по всему произошел сдвиг: | <- Самовозгорание <- Фаербол | <- Инферно
Плюс "странный" звуковой эффект, плюс иконка ксарфакса, которая ну очень подходит к неиспользуемой анимации.
Быстрее всего смогу ответить вам в Telegram: @PleaseAndThankYou
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

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

Сообщение as239 » 13 июн 2019, 13:34

I copied all base files.
Trying to use "H3Structures.h", but having a lot off erros, someting else is missing?
Вложения
Errors.txt
(11.58 КБ) Скачиваний: 238
Вернуться к началу

offlineRoseKavalier  
Мастер
Мастер
 
Сообщения: 331
Зарегистрирован: 23 сен 2017, 17:00
Пол: Не указан
Поблагодарили: 234 раз.

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

Сообщение RoseKavalier » 13 июн 2019, 15:12

as239 писал(а):

Wow, what a great job!
But as i see ShowMovementCost is missing :(


You have all the needed structures and functions to recreate it.
The logic steps are left to the user.
Код: Выделить всё
H3AdventureManager *adv = P_AdventureMgr;
UINT32 mixedDestination = adv->mousePosition.Mixed();
adv->MovementCalculations(mixedDestination);
H3TileMovement *mvmt = P_MovementMgr->GetMovementInfo(mixedDestination);
if (!mvmt->access.accessible)
   return;
UINT16 cost = mvmt->movementCost;


as239 писал(а):

I copied all base files.
Trying to use "H3Structures.h", but having a lot off erros, someting else is missing?

There are some collisions with homm3.h after all, for example H3DlgHintBar::ShowMessage is mistaken for #define ShowMessage in homm3.h headers.
Also I did not test with MSVC 2008, so that might be part of it:
H3Plugins писал(а):

The H3API headers were successfully tested using the 2013, 2015 and 2017 versions of MSVC.

I'll test with MSVC 2008 to kink out the differences, but I am not removing collisions with homm3.h headers.
You will have to work it out through different files (don't #include in all files, just specific ones).

EDIT: a quick look shows only warnings with MSVC 2008; my first though is that likely collision is the issue with your #include.
Enum warnings should be gone.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

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

Сообщение as239 » 13 июн 2019, 16:37

I have only #include homm3.h

 
Изображение


After uncomment #include "H3Structures.h"

 
Изображение
Последний раз редактировалось as239 13 июн 2019, 18:36, всего редактировалось 1 раз.
Вернуться к началу

Пред.След.

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

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

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

cron