wessonsm
Posts: 792
|
(27.05.2014 03:21)hippocamus Wrote: Спрошу здесь: как заставить игру проиграть bik, если он есть?
В подавляющем большинстве случаев проигрывается smk, невзирая на наличие bik, на параметр в реестре...
Возможно, кто-то уже может ответить на этот вопрос?
Ведь времени прошло немало.
В первую очередь меня больше всего интересует воспроизведение credits.bik вместо credits.smk в главном меню, так как smk в 256 цветов дисгармонирует с полноцветной фоновой картинкой. В некоторых случаях можно четко различить границу краев анимации.
Может можно где-то это пропатчить?
Ну и насчет всего остального видео тоже интересно.
|
|
06.01.2022 08:42 |
|
XEPOMAHT
Posts: 2356
|
(06.01.2022 08:42)wessonsm Wrote: В первую очередь меня больше всего интересует воспроизведение credits.bik вместо credits.smk в главном меню, так как smk в 256 цветов дисгармонирует с полноцветной фоновой картинкой. В некоторых случаях можно четко различить границу краев анимации.
Может можно где-то это пропатчить?
Можно, но есть пара моментов:
I. Кодировщика формата bik нет ни у кого, т.к. Bink Tools 0.5 никогда не выкладывался в открытый доступ.
Решения:
1. использовать решение от MyOffice91, подменяющее библиотеку воспроизведения видео (порт с HoMM4 насколько помню), но там придётся перекодировать все видеоролики игры из старого формата bik в новый.
2. использовать решение от ГрейФейса из WoG 3.59, грузящее обе библиотеки и распределяющие вызовы к ним на основе данных заголовка bik-формата. Но оно сделано целиком на lua, что сильно затрудняет портирование на Ассемблер или Дельфи.
3. скопировать с кода Хроник Героев. Но тамошний код не разобран вообще никак и вряд ли кто-то станет этим заниматься.
II. Воспроизведение bik в главном меню вызывает сильное падение fps. По крайней мере в тестах на ERA+ у меня было так, поэтому я оставил там smk.
|
|
06.01.2022 09:35 |
|
wessonsm
Posts: 792
|
XEPOMAHT, может подскажешь как?
Quote:I. Кодировщика формата bik нет ни у кого
В первую очередь интересует воспроизведение уже готового видео bik.
О том, как добавить свои ролики, можно будет подумать потом.
Quote:II. Воспроизведение bik в главном меню вызывает сильное падение fps.
Можно сделать опционально, с возможностью отключения на слишком слабых ПК.
(This post was last modified: 06.01.2022 12:26 by wessonsm.)
|
|
06.01.2022 12:07 |
|
XEPOMAHT
Posts: 2356
|
(06.01.2022 12:07)wessonsm Wrote: может подскажешь как?
Quote:I. Кодировщика формата bik нет ни у кого
В первую очередь интересует воспроизведение уже готового видео bik.
О том, как добавить свои ролики, можно будет подумать потом.
Соотвествующий флаг в таблице с настройками видео выставляешь нужному тебе видеоролику. Таблица копируется вогом в динамическую память, поэтому патч - или в SoD до вога, или в ВоГ после. В Тифоне гораздо проще - готовая таблица тупо компилируется прямо из исходного кода, без воговских приблуд, соотвественно, можно изменять в текстовом виде на уровне исходников (т.е. принцип такой же как в исходниках SoD).
(06.01.2022 12:07)wessonsm Wrote: Quote:II. Воспроизведение bik в главном меню вызывает сильное падение fps.
Можно сделать опционально, с возможностью отключения на слишком слабых ПК.
В SoD так и было сделано. Но в модах на ERA было убрано, т.к. в меню ВоГа всегда smk, в bik видео конвертировать было невозможно как 20 лет назад, так и сейчас.
(This post was last modified: 06.01.2022 12:53 by XEPOMAHT.)
|
|
06.01.2022 12:51 |
|
wessonsm
Posts: 792
|
XEPOMAHT, спасибо.
А не подскажешь ещё, по какому адресу эту таблицу искать?
|
|
06.01.2022 13:15 |
|
XEPOMAHT
Posts: 2356
|
(06.01.2022 13:15)wessonsm Wrote: А не подскажешь ещё, по какому адресу эту таблицу искать?
683A10h
PS: В lua из WoG 3.59 к этой таблице тоже есть доступ через константу "VidArr", так что можешь попробвать практиковаться там (+ там поддерживается финальный bik, т.е. заменить видео в WoG 3.59 - вообще не проблема благодаря разработчикам CoreWoG Team, чего на ERA увы пока ещё никто не портировал).
|
|
06.01.2022 13:21 |
|
wessonsm
Posts: 792
|
XEPOMAHT, спасибо за помощь.
Нашел я эту таблицу, по базе IDA вычислил, что за Credits отвечает последовательность из 20 байт по адресу 00683СA4h, надеюсь не ошибся.
В SoD там такое:
54 49 68 00 60 12 69 00 01 00 00 00 00 00 00 00 00 00 00 00
В Эре такое:
54 49 68 00 60 12 69 00 00 00 00 01 00 00 00 00 00 00 00 00,
то есть отличаются 2 байта по адресам 00683CACh и 00683CAFh.
Предположительно, какой-то из них переключает воспроизведение bik/smk.
Сделал бинарный патч:
00683CAC 01000000, закинул в AfterWoG.
Но эффекта это не дало, по прежнему воспроизводится smk.
Пробовал и в BeforeWoG кидать, тоже никакого эффекта.
На этом я и застрял. Что-то я не так делаю?
|
|
11.01.2022 10:32 |
|
Berserker
Posts: 16657
|
|
11.01.2022 13:12 |
|
XEPOMAHT
Posts: 2356
|
(11.01.2022 10:32)wessonsm Wrote: Сделал бинарный патч:
00683CAC 01000000, закинул в AfterWoG.
В Тифоне было бы так:
Code:
dd WOG_T, 691260h ; 033: Credit.bik видео в главном меню
db 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Как-то наверное можно найти адрес этой 1 в содовском exe.
(11.01.2022 11:46)igrik Wrote: Я где-то уже об этом писал (не помню где): ты упускаешь одну важную проверку в функции OpenVideo 0x597891, где конкретно и точно сравнивается видео по id=33, коим и является анимация в главном меню.
Да, я уже забыл, что в ERA+ все проверки в этой функции были убраны и формат видео выбирается чётко исходя из флага isBink без исключений.
|
|
11.01.2022 13:34 |
|
Bes
Posts: 5422
|
|
11.01.2022 14:29 |
|
Berserker
Posts: 16657
|
|
11.01.2022 15:49 |
|
Berserker
Posts: 16657
|
|
11.01.2022 17:44 |
|