IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Doom 3. BFG Edition [.IDWAV]
Siberian GRemlin
Jul 3 2015, 15:14
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 501
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 216 раз(а)



Подумал: раз уж исходники открыты, то почему не попробовать перенести русскую озвучку из обычной версии. Загвоздка в новом формате звука. Кто-нибудь может глянуть исходники и подсказать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 4 2015, 00:17
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,291
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 300 раз(а)



Ты хоть бы для примера один файл .idwav формата куда-нибудь залил что-ли, для тех кто игры никогда в глаза не видел. К слову сказать, Поглядел в GitHub один файл - там, вроде бы, XMA2 какой-то. Может, в этом направлении копать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Jul 27 2015, 16:38
Сообщение #3


Advanced Member
***

Группа: CTPAX-X
Сообщений: 501
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 216 раз(а)



Файлы, которые я когда-то ковырял. idwav для компа, idxma для «xbox 2П».
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 28 2015, 08:06
Сообщение #4


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,291
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 300 раз(а)



Глянул - короче, там сплошной головняк.
Формат у .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 всё не так просто.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Mar 25 2017, 10:23
Сообщение #5


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,291
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 300 раз(а)



idTech 5 Audio:
_ttps://zenhax.com/viewtopic.php?f=6&t=810
Вроде и для Doom 3 скрипты есть.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 16th January 2021 - 14:58