Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Удачи!
Друзья, спешите принять участие в поэтическом конкурсе "Весенние поэты 2024"!
Ждем именно вас!
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Gothic ½Субтитры к видео | zBinkSubtitles [универсальный плагин]
Требования: Union или SystemPack
Платформа: Gothic I, Gothic II NoTR
Архитектура: Union Framework
Исходный код: Gitlab
Релизы: Gitlab
Данный плагин позволит выводить текст поверх игровых видео. Для отрисовки текста, вы должны создать .d файл и реализовать следующие определения:
Строковые массивы: Bink_NpcName[] и Bink_Message[]. Каждый элемент массива соответствует текстовой строке. Элемент Bink_NpcName указывается, когда строка должна начинаться с имени персонажа. Вы можете пропустить данный пункт, если строка не должна начинаться с имени, либо является продолжением предыдущей строки.
Опционально может быть добавлена строковая константа BINK_SUBTITLES_FONT_NAME для определения пользовательских шрифтов субтитров.
Для любого видео, предполагающего наличие субтитров, должна быть определена соответствующая функция, имеющая следующую сигнатуру func void G_BinkPrintSubtitles_<VIDEO_NAME>(var int frameTime), где frameTime время целевого кадра в миллисекундах.
В Gothic.ini при первом запуске появится опция для отображения имени ролика, а также времени в миллисекундах: [BINK] BinkDebugInfo.
Gratt спасибо за плагин, начал для Одиссеи делать субтитры. Но там чото с временами совсем все криво. Пришлось пока сделать внешнюю функцию поиска подстроки Hlp_Ext_Str_Has(strBase,"5032704") и так определять нужное время.
Вроде немного читабельно, но frameTime в минус уходит иногда и недолго держится текст. Может имеет смысл передавать в функцию строку? А там уже сами или преобразуем в int если нормальное видео или поработать со строками можно. Я про
parser->CallFunc( funcIndex, GetFrameTime() );
Gratt, текст я поправлю еще длинный, как и сам перевод. Я только начал делать Что делать с кривыми временами, фиг знает. Думаешь такая проблема только в Одиссее?
Нет конечно. Я когда масштабирование видео делал, видел в некоторых роликах скорость када что-то типа 10000000. Умножение текущего кадра на скорость дало бы примерно такой же результат, как у тебя в примере. Можно, конечно, вообще отказаться от скорости кадра, но по нему чисто проще ориентироваться и не надо все субтитры переделывать, если пересохраняешь ролик с другой частотой. Скинь мне это видео, я гляну вечером его bink структуру.
Gratt, ок, как доделаю все в ближайшие дни, скину все три видео и скрипты к ним. Там в одном ролике как раз диалог будет с именами. В двух просто история. Ну и может еще со шрифтами поиграюсь.
Ну вроде пока так получается. Удобство плагина в том, что можно к одному видео сделать спокойно субтитры на нескольких языках, просто будет несколько .d файлов для разных языков. Если прикрутишь как хотел затемнение, то будет вообще красота.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.