Wake of Gods Forum | Форум Во Имя Богов
Video menu for the launcher Ru - Eng - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+---- Forum: Игровая графика (/forumdisplay.php?fid=188)
+----- Forum: Видео (/forumdisplay.php?fid=197)
+----- Thread: Video menu for the launcher Ru - Eng (/showthread.php?tid=6684)


Video menu for the launcher Ru - Eng - Suft - 09.10.2022 10:09

Video menu for the launcher

Видео-меню Инферно HD качестве.
Модификация добавляет видеоролик в главного меню в HD Качестве, подменю, интерфейс, обои, экраны загрузки, музыку в главном меню

Автор: Myoffice91, Daemon_n, Berserker, Suftfree.
Язык: RU
Формат: папка с модом.
Установка: кинуть в папку Mod, включить мод в менеджере модификаций ERA оба мода.
Версия: 1.2 (требует ЭРА 3)
Весит: 125 Мб (одна локализация - Ru - Eng)
Скачать Video menu Inferno:
Google: https://drive.google.com/file/d/1m-l9hvNfVOmR31RifJykHuTyQislA_ch/view?usp=share_link
Скачать Video menu Heroes 2 (Летняя тема):
Yandex: https://disk.yandex.ru/d/pdm9EzYeo567KQ
Google: https://drive.google.com/file/d/1cnyq8ewdRDozUXMZq1AKVJF6HzV3US4-/view?usp=share_link
Image: ad01b5616b99fbeacfafc29a430931a5.png
Скачать New Year 's video menu RU - ENG (Зимняя тема) :
Google: https://drive.google.com/file/d/1Uro-JMEaPXixvj0LeCZfWvq0sbu7by4s/view?usp=sharing
Image: 3758fdc0b502a436d7f8b863e278d2a7.png


RE: Video menu for the launcher Ru - Eng - Bes - 09.10.2022 10:17

круто132


RE: Video menu for the launcher Ru - Eng - Elmore - 09.10.2022 11:07

Как по мне это видео топ, если сделать незаметный переход:
https://cdn.discordapp.com/attachments/689563100604530712/1017501821096435722/Heroes_of_Might_and_Magic_III_2022-09-08_21-27-29.mp4


RE: Video menu for the launcher Ru - Eng - Guru105 - 11.10.2022 09:16

Ламповое и уютное.
Кнопки при первом запуске заметно подтормаживают.
Но при втором запуске и дальше уже всё нормально - наверное винда кэширует а памяти что-то.


RE: Video menu for the launcher Ru - Eng - Suft - 28.10.2022 17:29

Скачать Video menu Heroes 2:
Yandex: https://disk.yandex.ru/d/pdm9EzYeo567KQ
Google: https://drive.google.com/file/d/1cnyq8ewdRDozUXMZq1AKVJF6HzV3US4-/view?usp=share_link


RE: Video menu for the launcher Ru - Eng - Suft - 12.12.2022 11:35

Image: 3758fdc0b502a436d7f8b863e278d2a7.png
Скачать New Year 's video menu RU - ENG:
Google: https://drive.google.com/file/d/1Uro-JMEaPXixvj0LeCZfWvq0sbu7by4s/view?usp=sharing


RE: Video menu for the launcher Ru - Eng - ArKan - 18.12.2022 08:50

Конфликт с плагином TavernVideosBIKv3HD


RE: Video menu for the launcher Ru - Eng - Suft - 19.12.2022 08:51

ArKan, Нужная версия уже встроена в мод (плагины разных версий) - просто отключите ненужный плагин...


RE: Video menu for the launcher Ru - Eng - Suft - 05.11.2024 12:32

Так как плагин устарел - видео на версии с лаунчера не работает - нужно обновить - пока что возможна только замена плагина вручную...
Еще надо обновить плагин с логотипом... (логотип был сделан плагином - а был участком верхней кнопки)


RE: Video menu for the launcher Ru - Eng - Guru105 - 06.11.2024 08:30

(05.11.2024 12:32)Suft Wrote:  Так как плагин устарел - видео на версии с лаунчера не работает - нужно обновить - пока что возможна только замена плагина вручную...
Еще надо обновить плагин с логотипом... (логотип был сделан плагином - а был участком верхней кнопки)

У меня работает (Era 3.9.15).
Видимо, дело в том, что в сборке daemon_n добавил LegendMenu в мод WoG без возможности его отключения, и они конфликтуют между собой.
В общем, нужно не обновлять мод, а исправлять сборку.


RE: Video menu for the launcher Ru - Eng - Guru105 - 02.01.2025 19:27

Здравствуйте и с Новым Годом.

Я обновил плагин "credits unlink" специально для этого мода,
теперь он поддерживает полноэкранное видео в главном меню.

Что нового:
- Титры корректно отрисовываются поверх видео (не нужен mainmenu.pcx или кусочек gamselbk.pcx).
- Полностью устранен эффект "мерцания" при ведении мыши и эффект "сияния".
Механизм следующий: удалены множественные "редроу" итемов в главном меню,
теперь экран перерисовывается один раз при отрисовке кадра видео.
- Нет необходимости использовать композитные png для кнопок в главном меню, обычные кнопки с полупрозрачностью нормально отрисовываются, не нужен громоздкий json.
- Пофиксен (пофикшен?) эффект раздвоения кнопок при нажатии.
- Плагин умеет рисовать лого поверх видео (настраивается с помощью ключей в json), не нужна костыльная кнопка с лого.

Я протестировал плагин в трех разных ситуациях, как с bik, так и с smk:
1)видео отсутствует (мод Random Wallpapers),
2)маленькое видео (анимированный туман в оригинальном SOD и вращающийся меч в WOG)
3)полноэкранное видео из этого мода,
багов не заметил.

Единственный недостаток - кнопки безбожно тормозят на старых компьютерах без SSD. Причина в том, что одновременно с жесткого диска загружается кадр видео (а оно в этом моде очень тяжелое и с высоким фреймрейтом) и png фреймы кнопок.
То есть тормозит чтение с HDD.
Возможно, предзагрузка кадров png могла бы это исправить. Но такого механизма Era не предоставляет.

Я потерял доступ к своему аккаунту Яндекс Диск (не могу восстановить, требуют паспортные данные, психи),
Поэтому пока кидаю на DropMeFiles, можно скачать в течении двух недель.
Кто не успел - я не виноват.
В архиве плагин и json.
https://dropmefiles.com/ - ссылка удалена. Актуальная ссылка в этом посте:
http://wforum.heroes35.net/showthread.php?tid=6684&pid=139967#pid139967
Плагин требует C++ 2010 Redistributable (x86) или хотя бы msvcr100.dll.


RE: Video menu for the launcher Ru - Eng - Elmore - 02.01.2025 21:36

wessonsm, github? Идеальное решение.


RE: Video menu for the launcher Ru - Eng - Guru105 - 02.01.2025 21:57

(02.01.2025 21:36)Elmore Wrote:  wessonsm, github? Идеальное решение.

Elmore, для меня это сложно.
Я немолодой человек, и для меня трудно что-то менять и осваивать новые инструменты.
Вечная проблема для тех, кто постарше.


RE: Video menu for the launcher Ru - Eng - Elmore - 02.01.2025 22:16

wessonsm, Я имел ввиду не GIT, а просто возможности сайта github.com
Могу написать пошагово от регистрации как разместить/обновлять там файлы. Если использовать его только через web, то он достаточно прост.


RE: Video menu for the launcher Ru - Eng - Berserker - 02.01.2025 22:33

wessonsm, спасибо, звучит просто шикарно. Скачал уже 132. Насчёт предзагрузки png мысль, конечно, здравая.

В Эре есть ещё неэкспортированная функция GetPcxPng, позволяющая по имени оригинального pcx загрузить png ресурс и разместить в кэше. Другое дело, что нужно было бы знать, какие именно кадры дефов и в каком количестве понадобятся для отрисовки заранее и в конкретном месте кода сделать это. То есть я пока не вижу варианта механизма для автоматического интеллектуального кэширования (с учётом того, что кэш вытесняющий).

Я так понимаю, что нужна была бы функция вида PrecacheDefPng с указанием дефа и PrecachePcxPng с указанием конкретного pcx. И именно в коде их нужно было бы вызвать. Всё так?


RE: Video menu for the launcher Ru - Eng - Guru105 - 02.01.2025 22:53

Berserker, для дефов типа "интерфейс" было бы шикарно. Их не так много, и объем памяти потребуется небольшой.
Да, я предполагаю, что достаточно было бы возможности вызвать функцию, чтобы png кадры дефа закэшировались в памяти.
С pcx нет таких проблем, соответствующие png загружаются сразу.
То есть когда вызываем функцию 0x55AA10, например (LoadPcx8), сразу же в память загружается и соответствующий png.
А с дефами чуть не так.


RE: Video menu for the launcher Ru - Eng - Berserker - 03.01.2025 01:20

wessonsm, записал себе. А исходники ты не включал, как вижу.


RE: Video menu for the launcher Ru - Eng - Guru105 - 03.01.2025 01:35

Berserker, я смотрел graph.pas, пытался разобраться.
Но я вообще не программист, поэтому для меня это несколько сложно.
А что значит "включал"?
Я не знаю, как включить исходники на Delphi или Паскале в проект на C++.


RE: Video menu for the launcher Ru - Eng - Berserker - 03.01.2025 03:59

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


RE: Video menu for the launcher Ru - Eng - Guru105 - 03.01.2025 22:14

(03.01.2025 03:59)Berserker Wrote:  Я имею в виду не включил исходники в архив для будущих поколений. Вдруг понадобится доработать или адаптировать. Ты скажи, после того, как навёл мышь на одну и ту же кнопку, последующие наведения всё ещё тормозят?

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

Исходники будут в ближайшее время.


RE: Video menu for the launcher Ru - Eng - Elmore - 03.01.2025 22:25

Их нужно кому-то залить на github, иначе потеряются со временем.


RE: Video menu for the launcher Ru - Eng - Berserker - 04.01.2025 03:29

wessonsm, ещё от RoseKavalier неплох и pvoid17 что-то готовит.

Quote:Как насрала всем необходимость использовать VPN.
Блокировок везде всё больше, то же ощущение, когда не можешь зайти в онлайн-кинотеатр.

Вот мелкие подтормаживания — это уже из кэша. Быстрее не будет. А для ускорения загрузки с диска можно png в zip-архивах хранить, тоже работают.

Функцию на экспорт из era.dll я смогу предоставить, если будет толк от неё, конечно.


RE: Video menu for the launcher Ru - Eng - XEPOMAHT - 04.01.2025 03:59

(04.01.2025 02:06)wessonsm Wrote:  Только ИГРИК исользует SDK Бараторча, а ведь он великолепен!

Оно вроде только ходит по рукам, в открытом доступе отсутствует. Лично мне при чтении исходников Игрика часто приходится гадать на кофейной гуще, т.к. за 10 лет у меня скопилась куча всяких фанатских SDK к HoMM и ни одна не подходит.

(04.01.2025 03:29)Berserker Wrote:  ещё от RoseKavalier неплох и pvoid17 что-то готовит.

У RoseKavalier-а монстроидальная SDK, подходит для суровых профи а-ля DoR Team, мне не хватает опыта, чтобы в ней ориентироваться. ERA+ создана и компилируется моповскими структурами и описателями данных - для меня это по-прежнему лучшее решение из того, что я видел из-за предельной простоты и низкоуровневости.

(04.01.2025 03:29)Berserker Wrote:  А для ускорения загрузки с диска можно png в zip-архивах хранить, тоже работают.

Хм... не знал, думал наоборот, т.к. ЦП тратит дополнительное время на распаковку zip-архива в памяти.


RE: Video menu for the launcher Ru - Eng - Berserker - 04.01.2025 05:20

XEPOMAHT, можно zip-архив делать с нулевой компрессией. Заголовочники от baratorch & Hota старые авторы разрешили для публикации, на дискорде уже заливал, продублирую ещё.


RE: Video menu for the launcher Ru - Eng - Guru105 - 04.01.2025 23:34

Обновил плагин, добавил исходник, перезалил на Гугл Диск:
credits_unlink.

Короткая инструкция (Click to View)

А также пересобрал мод, поскольку голый плагин вряд ли кому-то интересен.
Гугл Диск, 116 МБ:
Video Menu Ru v2.

Я надеюсь, Suft пересоберет его снова, если там потребуется что-то изменить или добавить.

Напоминаю, что для мода требуется плагин от myoffice91 "Воспроизведение видео в формате Bik"
http://wforum.heroes35.net/showthread.php?tid=6573


RE: Video menu for the launcher Ru - Eng - XEPOMAHT - 05.01.2025 01:22

(04.01.2025 23:34)wessonsm Wrote:  Обновил плагин, добавил исходник, перезалил на Гугл Диск:
credits_unlink.

Перекидывает на accounts.google.com, поэтому скачивание невозможно для забаненных в Гугле типа меня. Bad


RE: Video menu for the launcher Ru - Eng - Guru105 - 05.01.2025 02:11

(05.01.2025 01:22)XEPOMAHT Wrote:  Перекидывает на accounts.google.com, поэтому скачивание невозможно для забаненных в Гугле типа меня. Bad

Упс. Пока не могу придумать, куда еще залить.
Могу снова залить на DropMeFiles.
Плагин: https://dropmefiles.com/9xnHi
Мод: https://dropmefiles.com/PN8Jx
В плагине без мода смысла немного.

Кто еще не может скачать с Гугла?
Может я неправильно заливаю?


RE: Video menu for the launcher Ru - Eng - Berserker - 05.01.2025 02:14

Quote:Плагин требует наличия на компьютере C++ 2010 Redistributable x86.
Можно же собрать dll без зависимостей. Всё время забываю этот флаг, /MT или MultiThreading, если верно помню.

   
Quote: Right-click your project in “Solution Explorer”, select “Properties” from the popped menu. Then the “Property Pages” dialog opens.

    In the opened “Property Pages” dialog, select “Configuration Properties->C/C++->Code Generation->Runtime Library” , set its value to “Multi-threaded (/MT)” or “Multi-threaded Debug(/MTd)”.

А не было возможности сделать так, чтобы композитные png не были нужны вообще для главного меню?

wessonsm,

Quote:Нет доступа
Запросите доступ к файлу или войдите в аккаунт с правом доступа. Подробнее…

Это не публичная ссылка. Как-то можно скопировать публичную или настроить публичный доступ к файлу.


RE: Video menu for the launcher Ru - Eng - Elmore - 05.01.2025 02:21

Быстрее залить на github 105

К тому же мод можно добавить в mod browser. Отдельно там его нет, только в составе гигабайтной солянки.


RE: Video menu for the launcher Ru - Eng - Guru105 - 05.01.2025 03:35

Так. Вторая попытка:
Мод
Плагин

С Гитхабом пока повременим, так как потребуется время, чтобы разобраться.

(05.01.2025 02:14)Berserker Wrote:  Можно же собрать dll без зависимостей. Всё время забываю этот флаг, /MT или MultiThreading, если верно помню.

У daemon_n в сборке лежит файл msvcr100.dll.
По идее, его должно быть достаточно даже без установки c++ 2010 x86 redistributable.
Мне просто не очень нравится идея тащить в плагин библиотечные функции c++, которые и так есть в общих библиотеках.
Эти библиотеки требуются постоянно для самого разного софта, и лучше всегда иметь их на компьютере просто на всякий случай.
Могу попробовать пересобрать, но чтобы протестировать, нужна будет виртуальная машина, чтобы не удалять Visual Studio, а потом опять устанавливать, это довольно много лишних движений.

(05.01.2025 02:14)Berserker Wrote:  А не было возможности сделать так, чтобы композитные png не были нужны вообще для главного меню?
Такая возможность есть.
Я и пытался так сделать первоначально, но это утяжелило код и сделало его довольно запутанным из-за множества проверок условий типа видео есть/видео нет, полноэкранное/нет.
Это почти неизбежно, когда пытаешься сделать код универсальным, охватывающим все возможные случаи.
Дело в том, что если кнопка отрисовывается не поверх видео,
то в любом случае нужно сначала нарисовать что-то под ней, чтобы убрать этот эффект множественных отрисовок поверх себя.
То есть принципиальных отличий от использования композитных png нет, и я подумал, что зря усложнил себе задачу, раз уже существует один нормально работающий механизм, который решает эту проблему.
Но если я придумаю, как сделать это максимально эффективно и просто, то вернусь к этому варианту.

Текущий вариант плагина хорошо работает с полноэкранным видео, в этом случае композитные png не нужны.
Также, как и раньше, он отвязывает показ титров от воспроизведения видео, если видео отсутствует.
Но нужны либо кнопки без полупрозрачности, либо композитные png.
По сути единственный недостаток композитных png - это что требуется громоздкий json для настройки.


RE: Video menu for the launcher Ru - Eng - Berserker - 05.01.2025 22:55

Quote:Мне просто не очень нравится идея тащить в плагин библиотечные функции c++, которые и так есть в общих библиотеках.
Сама игра запускается и при отсутствии Visual C++ Redistributanble 2005, 2008, 2010, etc. Это удобно, в том числе на Линуксе.

Спасибо!


RE: Video menu for the launcher Ru - Eng - Berserker - 15.01.2025 17:13

wessonsm, я бы эти проверки как-то вынес в промежуточную функцию. Я так понимаю, нужно просто по условию вместо отрисовки видеокадра отрисовать pcx-фон. Возможно, какая-то сложность ускользает.

Code:
// Фикс раздвоения кнопок при нажатии
int __stdcall hook_ButtonDraw(LoHook* hook, HookContext* c) {
    if ( (IsVideoFullScreen())&&(PlayingCredits()) ) {
        VideoDrawCurrentFrame();
    }
    return EXEC_DEFAULT;    
}
Вот здесь вместо VideoDrawCurrentFrame(), если нет видео, вставить вызов отрисовки PCX задника. Только ты перехватил отрисовку любых кнопок в игре ведь?


RE: Video menu for the launcher Ru - Eng - Guru105 - 15.01.2025 22:34

Да, надо будет пару вечеров посидеть еще над этим плагином. Меня самого не вполне устраивает текущий вариант.


RE: Video menu for the launcher Ru - Eng - Guru105 - 20.01.2025 20:52

(05.01.2025 02:14)Berserker Wrote:  А не было возможности сделать так, чтобы композитные png не были нужны вообще для главного меню?


Сделал.
Оптимизировал хуки, немного причесал исходник.
Композитные png не требуются в главном меню (но не в других диалогах).
Если в json имеются ключи вида "era:{png_backs:{***}}" для кнопок главного меню,
их требуется удалить для корректной работы плагина.

По совету Берсеркера скомпилировал с ключом /MT, чтобы не было зависимостей от внешних библиотек.
Это привело к увеличению размера плагина в 4 раза - с 14,5 кБ до 58 кБ Ab

Ссылки остались те же:
Мод
Плагин


(15.01.2025 17:13)Berserker Wrote:  Только ты перехватил отрисовку любых кнопок в игре ведь?

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


RE: Video menu for the launcher Ru - Eng - Berserker - 20.01.2025 22:34

Quote:Это привело к увеличению размера плагина в 4 раза - с 14,5 кБ до 58 кБ
Это превышает свободное место на моей 3-дюймовой дискете )))

Отличное обновление, спасибо! Такое можно по умолчанию в сборках использовать. Только можешь описать все фишки плагина (прототип readme?).

Quote:Вот теперь тебя люблю я,
Вот тебя тебя хвалю я
Потому что даже Берсу
Твой плагин да угодил ))) © Плагдодыр



RE: Video menu for the launcher Ru - Eng - Guru105 - 29.01.2025 23:27

Berserker, я придумал как сделать, чтобы png кадры дефов кнопок главного меню заранее кэшировались в памяти, такой маленький трюк.
Еще перед созданием диалога последовательно рисую их в экранный буффер функцией 0x47B820_Def_DrawSimple, это провоцирует помещение их в кэш.
На экране их не видно, потому что нет перерисовки экрана, но в кэш они попадают.
Субъективно тормозов стало меньше.

Теперь вопрос как бы измерить, насколько уменьшились тормоза?
Субъективным ощущениям доверять не стоит.
Первое, что приходит в голову замерять время отрисовки кнопки при клике на нее функцией GetTime(), до и после.
Если кадр нажатой кнопки есть в кэше, время будет меньше.
Скоро наверное выложу обновленный плагин и результаты тестов.


RE: Video menu for the launcher Ru - Eng - Bes - 30.01.2025 00:23

wessonsm, можно нагрузить процессор сторонней задачей, и следом открывать игру, замеряя время...
Думаю с нагрузкой "наглядность" станет осязаема даже таймером


RE: Video menu for the launcher Ru - Eng - Berserker - 30.01.2025 03:33

wessonsm, у меня была идея сделать отслеживание жизни def-ов и принудительно кэшировать кадры, но отложил. Там есть нюансы, что из возможности динамического перенаправления кадров дефов на произвольную png картинку, можно получить вечную блокировку (мёртвый груз в кэше) для ранее загруженных кадров.

Ты всё верно делаешь, правда, сама по себе отрисовка время забирает. А сравнить можно так: засекаешь через GetTime() время до и после вызова функции отрисовки изображения в первый раз, а затем во второй. Находишь разницу. Можно без хуков.