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


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

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

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

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

Сообщение Rolex » 17 мар 2021, 13:48

В общем по сути, звук Зеркала и резиста слышно. Но исчезли некоторые оригинальные звуки к части заклов. Например, Жажда крови, не при одиночном касте, не при масскасте звука нет. Проклятие звук есть только на масскасте. Стена огня тоже звука нет вообще нигде. Ослепление тоже звука нет. Снятие заклинаний, Лечение тоже нет звука. Все заклы проверить не могу, но к многим звука нет.
Вернуться к началу

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 » 17 мар 2021, 13:59

Ну да, потому что мы убрали оригинальный код, который проигрывал звук не только для масскаста :smile4: Нужно будет делать проверку на масскаст, и если не масскаст, то оставлять оригинальный код.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

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

Сообщение Rolex » 17 мар 2021, 14:10

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

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 » 17 мар 2021, 14:16

Эти не проходят через нашу функцию. Наша функция - это следующие кейсы: 005A065D cases 27-34,36,41,42,44-46,48-56,58,60-62,73,74.
Вернуться к началу

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 » 17 мар 2021, 14:30

Попробуйте добавить хук:

Код: Выделить всё
int __stdcall skipOrigSound(LoHook* h, HookContext* c)
{
    if ( ((char*)0x5A2B48)[*(int*)(c->ebp + 8) - 0xA] != 0x11 )
        return EXEC_DEFAULT;
   
    c->return_address = 0x5A0646;
    return NO_EXEC_DEFAULT;
}
...
_PI->WriteLoHook(0x5A0634, skipOrigSound);

и убрать патч WriteByte().
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

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

Сообщение Rolex » 17 мар 2021, 14:45

Сделал. Стало получше. Но все равно одиночные заклы пока без звука. Успел проверить Медлительность, Каменная кожа и Слабость.
Вернуться к началу

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 » 17 мар 2021, 14:48

Вот, уже хорошо. Теперь в хук нужно добавить проверку на масскаст.

Код: Выделить всё
int __stdcall skipOrigSound(LoHook* h, HookContext* c)
{
    // Отключаем оригинальный звук, если это масскаст, тип 0x11, или битва невидима (по умолчанию)
    if ( !c->edi && ((char*)0x5A2B48)[*(int*)(c->ebp + 8) - 0xA] == 0x11 || ShouldNotRenderBattle() )
    {
        c->return_address = 0x5A0646;
        return NO_EXEC_DEFAULT;
    }
   
    return EXEC_DEFAULT;
}
...
_PI->WriteLoHook(0x5A062D, skipOrigSound);

Так, вроде, должно быть OK.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

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

Сообщение Rolex » 17 мар 2021, 15:14

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

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 » 17 мар 2021, 15:17

Цитата:
Но остался один баг и он есть в оригинале. При наложении одиночного закла на отряд под Зеркалом не проигрывается звук Зеркала при отражении. В масскасте вы этот баг исправили.

Вы попросили добавить звук Magic Mirror, я добавил, а в оригинале - кто знает - может, и планировалась анимация отражения без звука.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

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

Сообщение Rolex » 17 мар 2021, 15:21

AlexSpl писал(а):

а в оригинале - кто знает - может, и планировалась анимация отражения без звука.

Вряд ли, любое проигрывание анимации сопровождается ее звуком. Тем более, что анимация таже, что при наложении, что при отражении. Просто сейчас при масскасте звук при отражении есть, а при одиночном нет, надо бы как-то привести все к общему знаменателю что ли.
Вернуться к началу

Пред.След.

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

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

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