![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Siberian GRemlin |
![]()
Сообщение
#1
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) ![]() |
Подумал: раз уж исходники открыты, то почему не попробовать перенести русскую озвучку из обычной версии. Загвоздка в новом формате звука. Кто-нибудь может глянуть исходники и подсказать?
|
-=CHE@TER=- |
![]()
Сообщение
#2
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) ![]() |
Ты хоть бы для примера один файл .idwav формата куда-нибудь залил что-ли, для тех кто игры никогда в глаза не видел. К слову сказать, Поглядел в GitHub один файл - там, вроде бы, XMA2 какой-то. Может, в этом направлении копать?
|
Siberian GRemlin |
![]()
Сообщение
#3
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) ![]() |
Файлы, которые я когда-то ковырял. idwav для компа, idxma для «xbox 2П».
|
-=CHE@TER=- |
![]()
Сообщение
#4
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) ![]() |
Глянул - короче, там сплошной головняк.
Формат у .idwav / .idxma примерно такой: CODE uint32 magic; // const uint32 SOUND_MAGIC_IDMSA = 0x6D7A7274 int64 timestamp; // 8 bytes (ID_TIME_T) bool loaded; // 1 byte int playBegin; // 4 bytes int playLength; // 4 bytes idWaveFile::waveFmt_t format; // vary - see "/neo/sound/WaveFile.h" int num; // 4 bytes BYTE amplitude[num]; // num bytes int totalBufferSize; // 4 bytes int num; // 4 bytes [num] structs: int numSamples // 4 bytes int bufferSize // 4 bytes BYTE [bufferSize] // bufferSize bytes См. файлы: /neo/sound/XAudio2/XA2_SoundSample.cpp /neo/sound/XAudio2/XA2_SoundSample.h Например метод: bool idSoundSample_XAudio2::LoadGeneratedSample( const idStr &filename ) Это загрузка такого файла. Определённый интерес вызывает там idWaveFile::ReadWaveFormatDirect( format, fileIn ); которая, как я понял, читает format, который, в свою очередь, будет разного размера в зависимости от типа закодированного звука (см. комментарии в XA2_SoundSample.h). И ещё я не понял что такое amplitude и зачем оно нужно. Теоретически, т.к. здесь хранится заголовок waveFmt_t от .WAV, то можно собрать .WAV файл. Практически - как ты видишь звук побит на блоки и с тем же IMA ADPCM всё не так просто. Спасибо сказали:
|
-=CHE@TER=- |
![]()
Сообщение
#5
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,360 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 313 раз(а) ![]() |
idTech 5 Audio:
_ttps://zenhax.com/viewtopic.php?f=6&t=810 Вроде и для Doom 3 скрипты есть. |
![]() ![]() |
Упрощённая версия | Сейчас: 10th September 2024 - 21:29 |