Все про Star Wars Battlefront, Квадрокоптеры с камерой и без, обзоры квадрокоптеров

[ Личные сообщения() · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Dim 
Форум Company of Heroes 2 и Company of Heroes » Кузница модов для CoH и CoH 2 » МОДОСТРОЕНИЕ в Company of Heroes: практика » data\sound (звуки в игре)
data\sound
DimДата: Четверг, 28.09.2017, 16:41 | Сообщение # 1


Сообщений: 1704
Статус: Offline
В данной теме будет описание системы адресации, куда прописано - где что лежит.
А так же софт для замены или добавления звуков.
 
DimДата: Суббота, 30.09.2017, 06:21 | Сообщение # 2


Сообщений: 1704
Статус: Offline
speech или Как организована озвучка юнитов.
Откройте корсиксом любой мод, и откройте файл data\game\speechtuning.lua правой кнопкой - нижний пункт View as text file
В этом файле заданы суффиксы и префиксы.
Например, строка 250
Код

    allies =
    {
  { "en1", { CAT_OC, CAT_EV, CAT_BC }     },  -- Engineer Sgt

теперь лезем в папку атрибутов ищем allies и Engineer
attrib\attrib\ebps\races\allies\soldiers\engineer.rgd
открываем , смотрим
ui_ext
. . . . \speaker
. . . . . . . . \code_1 = en
. . . . . . . . \code_2 = gs
. . . . . . . . \code_3
. . . . \speech_code_2
. . . . . . . . \code_1 = En
. . . . . . . . \code_2 = In
. . . . \speech_code_3
. . . . . . . . \code_1 = Eng
. . . . . . . . \code_2 = Inf
из всей этой таблицы ассоциации навивает En и Eng
далее открываем сквад
attrib\attrib\sbps\races\allies\soldiers\engineer_infantry.rgd
squad_ui_ext
. . . . \speaker_generic общие звуки для данного класса юнитов
. . . . \speaker_specific индивидуальная озвучка для юнита.
. . . . \speech_code_2 \attrib\type_speaker\en.rgd
. . . . . . . . \code_1 = En
. . . . . . . . \code_2 = In
. . . . . . . . \code_3
. . . . \speech_code_3
. . . . . . . . \code_1 = Eng
. . . . . . . . \code_2 = Inf
. . . . . . . . \code_3
Как видно, тот же код.
Что ещё есть в data\game\speechtuning.lua
Строка 109
Код
    { evt = "abt", specific = true, specific_percentage = 1.0, play_in_tacmap = true, priority = 1, min_freq = 1.0, low_verb = speech_low_verb_time, med_verb = speech_med_verb_time, ack_verb = 0 },    -- ability

abt - в коде является суффиксом для абилити
у даного сквада есть абилити
squad_ability_ext
abilities\repair_ability.lua идём в папку с абилками, ищем и открываем
смотрим в строчку
speech_code_2 = rp
speech_code_3 = rpr

У нас уже есть сквад, код абилти, и код ремонта. выстраивается формула Eng + abt + rpr
Эта абилити вписана и в пионера тоже, а тот шпрэхает по своему. Значит ещё есть значение расы.
Открываем файл расы \attrib\racebps\allied_rifle_company.rgd
race_path
. . . . \speech_code = l
какая-то палочка ???
абра- кадабра , контрл+цэ, контрл+эф, контрл+вэ, = вуаля, эта палочка , ничто иное, как буржуйская эЛь.
Формула приобретает финальные черты L_Eng_abt_rpr
Как-то так должен называться файл, который звучит во время тырканья инженерами на объект, для починки оного.
Теперь идём искать файл который является озвучкой абилити ремонта.
data\sound\speech\mp\allies\en1\orderconfirmations\ability\lb_en1_abt_rprgen_li_s.bsc
lb_en1_abt_rprgen
из увиденного файла можно понять. что вся моя писанина могоБукф, это не все подробности, из которых формируется формула названия файла.
Но я надеюсь, вы поняли схему, и с сокращениями вы разберётесь.
lb_en1_abt_rprgen_li_s.bsc генерируйщися вариант. Да. Это не сам звуковой файл, это контейнер, в котором список файлов, которые звучат в произвольном порядке, чтобы игрока не утомляла монотонность рапортов.
Можно экстрактить контейнер, и открыть его прогой по типу WinHex. Не сказать чтобы содержание отобразилось в удобной форме для редактирования, но этого достаточно, чтобы понять структуру.
Внутри контейнера ссылки ведущие на файлы, и вот один из них :
data\sound\wav\speech\mp\allies\en1\ability\lb_en1_abt_rprgen_li_s_5062900a.smf
Релики любят запаковывать контент не только в архив, который перекодируют от патча к патчу, но и внутри архива файлы ещё раз пакуются в разные реликовские форматы. В данном случае мы сталкиваемся с очередным таким примером, wav запакован в SMF.
Но фанаты игры не пальцем деланы, и каждый раз вздючивают все реликовские попытки спрятать ресурсы от бедных людей.
Па-Бам - https://yadi.sk/d/SAE3Dwg67auaG
SMFPlay2.0.exe
Запускаем прогу, в папке с игрой находим архив Company of Heroes\WW2\Archives
WW2ALLIESSPEECHверсия локализации.SGA
например
WW2ALLIESSPEECHRUSSIAN.SGA
WW2AlliesSpeechEnglish.sga
открыли архив, далее по папкам
speech\mp\allies\en1\ability\
lb_en1_abt_rprgen_nt_s_5162820a.smf
В разных локализациях разная структура папок, и количество файлов. Но организация формулы одинакова.

Я думаю вам понятно, что формула может усложнятся ... если вы тыркаете инженерами починить барак,
А у барака \ebps\races\allies\buildings\barracks.rgd ui_ext speech_code_3 \ code_1 = brk
То озвучка будет data\sound\speech\mp\allies\en1\orderconfirmations\ability\lb_en1_abt_rprbrk_li_s.bsc

Вот так, если коротко.
Эта инфа только чтобы зайти на дискотеку. А чтобы потанцевать, .... там другие объёмы и глубина.
ту би континиум .....
 
DimДата: Суббота, 30.09.2017, 17:43 | Сообщение # 3


Сообщений: 1704
Статус: Offline
Из выше описанного понятно, что есть адрес контейнеров - таблиц со списком адресов самих звуков, для рандомной озвучки
data\sound\speech\
И есть сам звуковые файлы
data\sound\wav\
Какое тут есть поле для моддинга?
В традициях моддинга, первое что приходит на ум, это копи-пастинг - взять у одного, добавить другому.
Казалось бы, всё уже понятно: есть адреса папок, выявлена составная формула.
Как вариант, можно попытаться дать абилити ремонта рейнджерам, чтобы абилити была с озвучкой.
Скопировать абилити у сквада это всем понятно.
По логике нужно сделать копию контейнера, переложить и переименовать.
data\sound\speech\mp\allies\en1\orderconfirmations\ability\lb_en1_abt_rprgen_li_s.bsc
в
data\sound\speech\mp\allies\rg1\orderconfirmations\ability\
переименование файла по формуле должно быть приблизительно вот так
lb_rg1_abt_rprgen_li_s.bsc

Если сделать все эти манипуляции и запустить игру в надежде услышать озвучку абилити ремонта, то спешу расстроить, озвучка не сработает.

В архиве есть ещё один файл data\sound\speech\mp\speechmanagercoh.cache
в котором перечисляются все контейнеры со звуками. Если в спич_менеджере чего-то нет, то в игре этой зучки не будет.
Можно попытаться отредактировать speechmanagercoh.cache, .. у меня не получилось открыть данный файл в удобной для редактирования форме.

И тут снова приходят на помощь фанаты игры, создающие софт.
CoHSpeechManager.exe
данная утилита перезаписывает speechmanagercoh.cache , добавляя те контейнеры, который лежат в папке мода.

Сам speechmanagercoh.cache можно переименовать и прописать в модуль.файле
Код
SpeechManagerCache = SpeechManagerCoH изменённое имя.cache
Прикрепления: CoHSpeechManage.zip(5Kb)
 
DimДата: Суббота, 30.09.2017, 19:18 | Сообщение # 4


Сообщений: 1704
Статус: Offline
С озвучкой юнитов разобрались, теперь озвука моделей.
Например, у техники звук двигателя и стрельбы из орудий.

Есть прога Object Editor. По ней нужна отдельная тема с видосами и скринами.
Звук в модель вписывается по средством Object Editor, а точнее, синхронизация - соединение анимации модели со звуковыми файлами.
Для выяснения адресов звуков нужно открывать модель в Object Editor, либо подбором.

Для подмены звуков не нужно шаманить с speechmanagercoh.cache
Подмена - это когда в папку мода кладутся другие файлы поверх оригинальных.

Замена звуков.
Допустим, у вас есть хорошие звуки оружия.
Вы открываете data\sound\weapons\ уточняете нужный адрес , находите data\sound\wav\weapons\
Если вы вытащили звуки из другого мода, то они уже запакованы в SMF.
Если вы вытащили звуки из другой игры, то их нужно запаковать в SMF.
Прикрепления: SMFConvert.rar(190Kb)
 
DimДата: Суббота, 30.09.2017, 19:59 | Сообщение # 5


Сообщений: 1704
Статус: Offline
локализация

В разных странах разные языки, по этому игры переводят для разных стран.
Всё бы ничего, если бы не переводили реплики юнитов. Интерфейс и всякий текст смотрится логично, а когда американцы говорят по-русски, немцы по-английски, это не кашерно.
Есть возможность сделать расам аутентичные языки.
Для этого нужны локализации тех стран, чей язык вы хотите добавит.
С поиском английской версии проблем не возникает.
Нужно скачать WW2AlliesSpeechEnglish.sga чтобы американцы говорили на своём языке.
Выпуская аддон Opposing Fronts релики не стали делать раздельные архивы для каждой расы, британцы и ПанцерЭлит слиты
OFCoreSpeechEnglish.sga
OFFullSpeechEnglish.sga
нужно скачивать немецкую локализацию, распаковывать архив, и отделять мух от котлет.
Озвучка вермахта в отдельном файле WW2AxisSpeechGerman
данный файл нужно переложить в папку с архивами, переименовав в вид вашей локализации, либо в модуль.файле указать вместо того, который по дефолту прописан в вашей локализации.

ссылки на немецкую речь , любезно размещённые serg_codmod'ом
https://drive.google.com/file....sharing
https://drive.google.com/file....sharing
https://drive.google.com/file....sharing
файлы уже переименованы под английскую версию игры.
 
Форум Company of Heroes 2 и Company of Heroes » Кузница модов для CoH и CoH 2 » МОДОСТРОЕНИЕ в Company of Heroes: практика » data\sound (звуки в игре)
Страница 1 из 11
Поиск:

Company of Heroes 2 & Company of Heroes
РуCoH.ru © 2012-2013

Создать бесплатный сайт с uCoz