Объявления

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

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

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

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

Сообщение Ben80 » 08 окт 2017, 14:57

Все что нужно, я мигом поправлю.
Просто лично мне не всегда легко и быстро переходить от одного кода к другому.
У меня все-таки по другому было. И там, кстати, были ошибки. Которые со временем поправил бы, конечно.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 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)
Поблагодарили: 2185 раз.

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

Сообщение AlexSpl » 08 окт 2017, 14:59

Адрес возврата нашёл. Я привык их видеть рядом с return. А по единичкам см.

Код: Выделить всё
// Не палимся, если выбрали модификатор, отличный от нуля
if ( index && armyCount < 1 ) armyCount = 1;

и ещё в одном месте.
Вернуться к началу

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

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

Сообщение Ben80 » 08 окт 2017, 15:02

AlexSpl писал(а):

Адрес возврата нашёл. Я привык их видеть рядом с return. А по единичкам см.

Код: Выделить всё
// Не палимся, если выбрали модификатор, отличный от нуля
if ( index && armyCount < 1 ) armyCount = 1;

и ещё в одном месте.


Да, есть такое дело. Зря убрал. Видимо, мне не понравилось слово "Не палимся", тем более дважды в коде :lol:
Вернуться к началу

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

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

Сообщение Ben80 » 08 окт 2017, 15:05

Напишу комментарий "Спасаем единички"
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 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)
Поблагодарили: 2185 раз.

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

Сообщение AlexSpl » 08 окт 2017, 15:05

Проверку на index можно убрать, всё равно нет коэффицента 0.

Цитата:
Напишу комментарий "Спасаем единички"

Там не только единички при маленьких множителях в 0 уходят :)
Вернуться к началу

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

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

Сообщение Ben80 » 08 окт 2017, 15:11

AlexSpl писал(а):

Проверку на index можно убрать, всё равно нет коэффицента 0.


В коде запутался окончательно :smile1:
На самом деле я использую в своем коде index = 0
(соответствует 1.0f в multipliers).
Вернуться к началу

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

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

Сообщение Ben80 » 08 окт 2017, 15:12

То есть вот здесь

Код: Выделить всё
// Добавляем надписи с численностью отрядов
        getArmyCountText(curHero, i);
        dlg->AddItem(_DlgStaticText_::Create(leftX + 1 + i * 34, 144, 32, 16,
            o_TextBuffer, "tiny.fnt", 1, 20 + i, ALIGN_H_CENTER | ALIGN_V_TOP, 0));


В getArmyCountText
попадает index=0
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 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)
Поблагодарили: 2185 раз.

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

Сообщение AlexSpl » 08 окт 2017, 15:16

Вот ещё код выключения кнопки OK:

Код: Выделить всё
// Добавляем кнопку OK
dlg->AddItem(_DlgStaticPcx8_::Create(30, dlg->height - 61, 0, "Box64x30.pcx"));
dlg->AddItem(_DlgButton_::Create(31, dlg->height - 60, 64, 30, 30722, "iOkay.def", 0, 1, 1, 28, 2));
dlg->GetItem(30722)->SetEnabled(0);


И в колбэке:
Код: Выделить всё
nPos = click_id - ((_DlgScroll_*)dlg->GetItem(40))->ticks_count / 2;
dlg->GetItem(30722)->SetEnabled(nPos != 0);
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 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)
Поблагодарили: 2185 раз.

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

Сообщение AlexSpl » 08 окт 2017, 15:20

Да, но эта проверка (на index) была нужна, когда был вариант сделать все отряды нулями. Теперь этого нет. На самом деле, численность может стать 0 только при коэффициентах меньше 0. Так что можно заменить условие ( index ) на ( index < 0 ), но это не принципиально: и так будет работать.

Лучше убрать. Она лишняя, когда нет варианта 0%. Т.е. так сделать:

Код: Выделить всё
if ( armyCount < 1 ) armyCount = 1;

Код: Выделить всё
if ( ghostHero->army.count[i] < 1 ) ghostHero->army.count[i] = 1;
Вернуться к началу

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

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

Сообщение Ben80 » 08 окт 2017, 16:29

На данный момент только у красного заклинание действует 2 хода. Красный же смотрит синего при действии заклинания только 1 ход.
Столько раз уже адреса хуков переносились...

Хот-сит, SoD, Ваш/наш/мой код.
Вернуться к началу

Пред.След.

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

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

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

cron