Объявления

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

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

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

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

Сообщение as239 » 12 ноя 2019, 18:18

it seems that only one problem remained.
Вложения
Errors.txt
(5.83 КБ) Скачиваний: 163
Вернуться к началу

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

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

Сообщение RoseKavalier » 12 ноя 2019, 19:14

Hmm this one is odd, looks like your installation doesn't like reinterpret_cast<>. I've ___At macros to C-style, hopefully that does it.
Вернуться к началу

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

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

Сообщение as239 » 13 ноя 2019, 05:48

RoseKavalier писал(а):

Hmm this one is odd, looks like your installation doesn't like reinterpret_cast<>. I've ___At macros to C-style, hopefully that does it.

It works!
I need only new syntax for:
Код: Выделить всё
   H3Stream *s = (H3Stream*)c->ecx;
   s->Load(&FreshData, sizeof(FreshData));
   s->Save(&FreshData, sizeof(FreshData));
Вернуться к началу

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

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

Сообщение RoseKavalier » 13 ноя 2019, 14:27

Renamed to H3Streambuf after what could be its [url=std::streambuf]namesake[/url].
Код: Выделить всё
H3Streambuf* s = (H3Streambuf*)c->ecx;


I've also modified H3Dlg a bit since previous headers (background drawing), it is now 4 bytes longer... I don't remember if this poses a problem to you for the HD_Dlg format.
Вернуться к началу

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

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

Сообщение as239 » 13 ноя 2019, 14:43

Build is ok! Thanks a lot.
But yes, after clicking at "Gameplay changes" is crash.
Код: Выделить всё
         H3Msg my_msg{ H3Msg::MC_MouseButton, H3Msg::MS_LButtonDown, Item2StackID, 0, 0, 0, 0, 0 };
         STDCALL_2(int, dlg->HDproc, dlg, &my_msg);//crash is here
Вернуться к началу

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

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

Сообщение RoseKavalier » 13 ноя 2019, 14:51

Hmmk, I'll add a dedicated member function instead.
I don't have your code anymore, are there other uses for HD_Dlg?
Вернуться к началу

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

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

Сообщение as239 » 13 ноя 2019, 14:57

RoseKavalier писал(а):

Hmmk, I'll add a dedicated member function instead.
I don't have your code anymore, are there other uses for HD_Dlg?

Here is the code.
Вложения
Service.cpp
(11.78 КБ) Скачиваний: 131
Вернуться к началу

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

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

Сообщение RoseKavalier » 13 ноя 2019, 15:20

Ok, I added HDDlg to H3API, you can delete it from Service.cpp

Replace these:
Код: Выделить всё
STDCALL_2(int, dlg->HDproc, dlg, &my_msg);

by:
Код: Выделить всё
dlg->CallHDProc(my_msg);
Вернуться к началу

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

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

Сообщение as239 » 13 ноя 2019, 15:37

After deleting local structure HDDlg build is ok.
But after adding this:
Код: Выделить всё
dlg->CallHDProc(my_msg);

Error.
Вложения
Errors.txt
(436 байт) Скачиваний: 142
Вернуться к началу

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

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

Сообщение RoseKavalier » 13 ноя 2019, 15:45

Modified it and fixed another mistake, hopefully valid now.

EDIT
Just modified again, it was a silly mistake of two functions with same name((
Последний раз редактировалось RoseKavalier 13 ноя 2019, 15:54, всего редактировалось 1 раз.
Вернуться к началу

Пред.След.

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

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

Сейчас этот форум просматривают: void_17 и гости: 1