Звуки и звуковое окружение |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Звуки и звуковое окружение |
19.08.2012, 13:38
Сообщение
#61
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
Введение Что такое Sound Environment в STALKERе? Это принудительное изменение привычных звуков в определенных зонах. Например, логично, если зайдя в подвал/пещеру/под мост мы начнем слышать эхо от выстрелов/перезарядки/своих шагов и т.п. Сами зоны ставятся вручную в SDK и в дальнейшем добавляются в папку уровня в виде файла level.snd_env (или как level.sound_environment для старых билдов). Все билды от 18xx до ТЧ/ЧН поддерживают Sound Environment. Из движка ТЧ его никто не вырезал. Но есть проблемы с реализацией: Первая проблема в том, что Sound Environment работает только при включенном EAX. Вторая проблема в том, из OpenAL-библиотек (OpenAL32.dll+wrap_oal.dll) начиная где-то с 2006 года вдруг исчезла поддержка EAX для звуковых карт за предыдущие годы. Третья проблема в том, что EAX даже если поддерживается звуковухой, нормально работает/определяется не со всяким драйвером. Четвертая проблема в том, что в ТЧ в опциях звука разрешено ставить галку на EAX в любом случае, то есть игра не проверяет включен ли он на самом деле, что приводит к самообману, если не читать лог. Пятая проблема в том, что в финалке ТЧ этот самый Sound Environment зачем-то был вырезан на большинстве уровней. Остался только где-то на:
EAX FIXX ver 3 Что нового добавлен !!!_dsound_software для принудительного включения Generic Software добавлен !!!_backup для восстановления на случай серьезных проблем добавлены варианты 15-19 добавлен !!!_sound_fixx_for_cs_cop добавлен !!!_sound_fixx_for_shoc_10004 добавлен !!!_sound_fixx_for_shoc_10006 обновлен eax.dll до v4.0.1.0 добавлена поддержка ЗП (при использовании !!!_sound_fixx_for_cs_cop) Ссылка: Данная сборка (EAX FIXX) предназначена для включения поддержки EAX игрой, а следовательно и Sound Environment как для существующих уровней, так и для перспективных модов, в первую очередь для ТЧ. Текущая сборка предназначена для билдов от 18xx до ТЧ/ЧН. Сборка состоит из пронумерованных папок с dllками, где в разных комбинациях встречаются портированные из билдов/ТЧ/ЧН OpenAL-библиотеки всевозможных версий. Каждая папка включает:
Установка 1. В user.ltx один раз правим (или через консоль вводим) команды: snd_efx on (разрешаем игре использовать эффекты) snd_targets 24 (старые варианты dllок могут ругаться, если число больше. Можно после тестов выставить 32.) snd_volume_eff 1 (максимальная громкость эффектов) snd_volume_music 0 (музыку отключаем, чтобы не мешала) snd_volume_master 1 (общая максимальная громкость, команда для билдов 18xx) 2. Запускаем игру (билд от 18xx до ТЧ/ЧН/ЗП) и смотрим, что написано в консоли или логе в двух строчках, определяющих EAX. Если написано: * sound: EAX 2.0 extension: present * sound: EAX 2.0 deferred: present значит, скорее всего, и так все в порядке, EAX работает. Дальнейшие эксперименты можно не проводить. Если написано: * sound: EAX 2.0 extension: absent * sound: EAX 2.0 deferred: absent Или только в одной строчке absent, значит, EAX не работает или может глючить, и можно поэкспериментировать. 3. Куда-нибудь бекапим папку bin. Если используем билды, пункт 4 пропускаем. 4. Если используем ЧН/ЗП, то в папку bin суем все из !!!_sound_fixx_for_cs_cop. Если используем ТЧ 1.0004, то в папку bin суем все из !!!_sound_fixx_for_shoc_10004. Если используем ТЧ 1.0006, то в папку bin суем все из !!!_sound_fixx_for_shoc_10006. 5. Проверяем. Для ЧН/ЗП в случае отсутствия EAX или проблем со звуком, в игре меню звуковых опций меняем Generic Hardware на Generic Software или наоборот, перезапускаем игру, проверяем снова. Для билдов/ТЧ в случае отсутствия EAX или проблем со звуком, копируем dsound.dll из !!!_dsound_software в папку bin. Звук должен принудительно перейти в режим Generic Software. Для ЧН/ЗП, если в опциях не переключается (Generic Hardware/Generic Software), можно тоже попробовать с dsound.dll. 6. Если не заработало, начинаем полномасштабное тестирование: (Для ЧН/ЗП полное тестирование можно проводить дважды - сначала с выбранным в опциях вариантом Generic Hardware, потом с Generic Software). (Для билдов/ТЧ полное тестирование можно проводить дважды - сначала обычно, потом через !!!_dsound_software). Берем все dllки из папки 01_18xx-22xx_default и кладем в папку bin. Запускаем игру и читаем в логе/консоли строчки о EAX. Далее берем dllки из папки 02_18xx-22xx_tweaked1, проделываем то же самое, и так далее, проверяем все варианты. Запоминаем, где включился EAX (пишет present в обеих строчках). Если EAX включился в нескольких вариантах, оставляем тот, где даты файлов новее, или звук кажется лучше. Возможны случаи, когда в логе в одной строчке написано present, в другой absent. Скорее всего Sound Environment не попрет. Некоторые варианты могут оказаться несовместимы с конкретным билдом/игрой/системой и во время тестов привести к вылету/зависанию игры при запуске. При включенном EAX с разными версиями возможно появление новых мелких глюков, например щелчков. Нет гарантии, что на разных билдах/играх будет корректно работать один и тот же вариант. Если в результате тестов в ТЧ/ЧН/ЗП звук ухудшился, или игра не запускается - удалите dsound.dll (если устанавливали) и восстановитесь из !!!_backup. Что делать, если не помогло 1. Если звуковуха отдельная, попробовать обновить ее драйвера, обращать внимание на поддержку EAX. Драйверов может быть несколько вариантов, в том числе неофициальные. 2. Если звуковуха встроенная, например Realtek, попробовать обновить ее драйвера. Часто на сайтах поддержки материнских плат лежат устаревшие варианты. То есть лучше искать драйвера непосредственно от производителя чипа звуковухи. Также можно погуглить на тему проги "Realtek 3D SoundBack", может пригодится. 3. За 20 баксов приобрести простенький Sound Blaster Live/5.1. В зависимости от модели/операционной системы не исключены проблемы с поиском драйверов, но по крайней мере эти звуковухи должны поддерживать EAX с одним из вариантов фикса. 4. Скачать Как самостоятельно в SDK создать Sound Environment? Допустим, у нас уже открыт какой-то уровень. Edit Mode -> Sound Env -> Ставим точку на карте. Появится кубик. Правой кнопкой заходим в его свойства. Environment Inner ставим long_corridor (например). Environment Outer ставим open_space. Далее зумим/вращаем наш кубик, чтобы заполнить нужное помещение. Когда наставили достаточно кубиков, говорим Compile -> Make Game. И суем готовый level.snd_env в игру в папку уровня. EAX params help (eng) Код Environment // sets all listener properties Size // environment size in meters Diffusion // environment diffusion Room Room // room effect level at low frequencies RoomHF // room effect high-frequency level re. low frequency level Distance Effects RoomRolloffFactor // like DS3D flRolloffFactor but for room effect AirAbsorptionHF // change in level per meter at 5 kHz Reflections Reflections // early reflections level relative to room effect ReflectionsDelay // initial reflection delay time Reverb Reverb // late reverberation level relative to room effect ReverbDelay // late reverberation delay time relative to initial reflection Decay DecayTime // reverberation decay time at low frequencies DecayHFRatio // high-frequency to low-frequency decay time ratio В обсуждении вопроса принимали участие: Lyoko774, РСФСР, MacroN, Veresk Сообщение отредактировал RayTwitty - 09.12.2017, 21:15 |
 
|
|
|
|
24.08.2012, 21:23
Сообщение
#62
|
|
Почти Игроман Репутация: 201 Группа: Участник Сообщений: 611 Награды: 4 Регистрация: 05.08.2009 |
Scarabay, так вроде чего хотели добились У большинства заработал EAX, готовые звуковые зоны тоже есть, некоторые сразу подойдут, какие-то нужно пересобрать СДК. Так то они работают нормально, хотя нужно пробовать настраивать senvironment.xr для более хорошей работы, потому-что он не менялся с 1935 билда. Я бы доделал level.snd_env для всех лок, но скора уплываю на две недели, поэтому не стал продолжать. Думаю за это время кто-нибудь уже всё сделает.
-------------------- Cоветы,по какому либо делу стоит давать только тогда, когда умеешь делать это дело лучше того, кого пытаешься наставлять.
|
 
|
|
24.08.2012, 22:36
Сообщение
#63
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
Мне вот интересно. Что, если на локации не ставить open space на всю локу? Какой будет эффект? В билдах open space был на всех локах.
Сообщение отредактировал SkyLoader - 24.08.2012, 22:37 |
 
|
|
24.08.2012, 23:09
Сообщение
#64
|
|
Продвинутый геймер Репутация: 33 Группа: Участник Сообщений: 339 Награды: 4 Регистрация: 11.09.2008 |
И что, теперь, со озвучкой оружия делать? -- Она-же вся со "вшитой" реверберацией.
-------------------- Всё легко, но все хлюпики.
|
 
|
|
24.08.2012, 23:22
Сообщение
#65
|
|
Почти Игроман Репутация: 201 Группа: Участник Сообщений: 611 Награды: 4 Регистрация: 05.08.2009 |
SkyLoader, если не ставить то никого эффекта и не будет на открытом пространстве . Те зоны которые работали внутри огромного open space, всё равно будут работать как раньше.
И что, теперь, со озвучкой оружия делать? -- Она-же вся со "вшитой" реверберацией. Помойму это совсем не мешает, и я бы сказал что в таком варианте даже "лучше" звучит. Разница в реверберации в звуковой зоне и после выхода из неё всёравно заметна, не зависимо как звучит оружие. -------------------- Cоветы,по какому либо делу стоит давать только тогда, когда умеешь делать это дело лучше того, кого пытаешься наставлять.
|
 
|
|
25.08.2012, 00:07
Сообщение
#66
|
|
Продвинутый геймер Репутация: 33 Группа: Участник Сообщений: 339 Награды: 4 Регистрация: 11.09.2008 |
Про пересечение звуковых зон.
Например, если звуковые зоны вложены одна в другую -- что будет со звуками в центре? Сообщение отредактировал 7.9 - 25.08.2012, 00:08 -------------------- Всё легко, но все хлюпики.
|
 
|
|
25.08.2012, 02:44
Сообщение
#67
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
Если предположить что в билдах над локацией был open space, внутри которого были другие звуковые зоны, скорее всего будет работать та, которая ближе до игрока.
-------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
25.08.2012, 11:48
Сообщение
#68
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
VEX, а с open space будет то затухание, про которое говорили ранее? Тогда логичней пересобрать локи без этого open space.
|
 
|
|
25.08.2012, 14:51
Сообщение
#69
|
|
Опытный Геймер Репутация: 12 Группа: Участник Сообщений: 160 Награды: 2 Регистрация: 09.07.2008 |
Я не понял а зачем EAX FIXX из шапки, автор убрал? Я только хотел попробовать...
Я что опоздал ) Сообщение отредактировал alex-san - 25.08.2012, 14:52 |
 
|
|
25.08.2012, 15:06
Сообщение
#70
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
|
 
|
|
28.08.2012, 08:40
Сообщение
#71
|
|
Почти Игрок Репутация: 3 Группа: Участник Сообщений: 18 Награды: 2 Регистрация: 26.06.2012 |
А как сделать чтоб в sdk 0.7 заработал EAX?
|
 
|
|
28.08.2012, 12:10
Сообщение
#72
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
А как сделать чтоб в sdk 0.7 заработал EAX? Примерно как в билдах. Найти все xrsound.dll и xrSoundB.dll, открыть в хекседиторе, искать слово Generic. Должно найтись несколько фраз: Generic Software и Generic Hardware. Меняем слова Software и Hardware на 12345678. Сохраняем, проверяем. Если все равно не определяется, перебираем варианты c разными наборами openal-dllок. Сообщение отредактировал macron - 28.08.2012, 12:11 |
 
|
|
28.08.2012, 18:32
Сообщение
#73
|
|
Почти Игрок Репутация: 3 Группа: Участник Сообщений: 18 Награды: 2 Регистрация: 26.06.2012 |
У меня в игре работает а в sdk нет
|
 
|
|
28.08.2012, 18:43
Сообщение
#74
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
|
 
|
|
28.08.2012, 18:46
Сообщение
#75
|
|
Почти Игрок Репутация: 3 Группа: Участник Сообщений: 18 Награды: 2 Регистрация: 26.06.2012 |
macron,
|
 
|
|
30.08.2012, 11:12
Сообщение
#76
|
|
Почти Игроман Репутация: 126 Группа: Участник Сообщений: 533 Награды: 4 Регистрация: 15.04.2009 |
Внесу свои 5 копеек. Другие версии dll. Проверял, в 1902 и 1935 eax есть, в ТЧ нету.
-------------------- Самоутверждайтесь в жизни, а не в игре. © A4S
|
 
|
|
30.08.2012, 16:29
Сообщение
#77
|
|
Мастер Игры Репутация: 270 Группа: Участник Сообщений: 1375 Награды: 6 Регистрация: 13.09.2009 |
у меня вопрос, так как ТЧ нет, да и других версий, в файлах .dll или же в самом .exe должны быть вызовы этих файлов, так вот есть идея по поводу универсальности, если в этих .dll-ках сменить имя вызываемого файла для eax на другое, тем же размером, и переменовать эти 4 .dll-ки, то движок уже не будет требовать те самые файлы(которые корявые и в самой системе) и будет работать у всех(это пока предположения).
точно знаю: xrsound.dll вызывает: eax.dll, openal32.dll. wrap_oal.dll ни кто не вызывает и даже eax.dll и openal32.dll. wrap_oal.dll вызывается уже directx-ом, а точнее directsound3d, и его как раз не отредактируешь((( p.s. да не удержался установил и посмотрел сам все dll-ки. Сообщение отредактировал Freack - 30.08.2012, 16:57 |
 
|
|
30.08.2012, 22:22
Сообщение
#78
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
wrap_oal.dll ни кто не вызывает и даже eax.dll и openal32.dll. wrap_oal.dll вызывается уже directx-ом, а точнее directsound3d, и его как раз не отредактируешь((( Насчет wrap_oal.dll: игра при запуске сканирует папку на *_oal.dll. Если в ЧН/ЗП после установки фикса, например, добавить еще один wrap_oal.dll из 04_23xx, обозвав как wrap2_oal.dll, то в выборе устройств появятся новые, в том числе дублирующиеся из обеих dll. В остальном, игра сейчас уже работает самодостаточно. А универсальности в определении EAX на разном железе с разными драйверами не может быть в принципе, так уж сложилось. Все что дает сборка, это многократно повышает шансы на это самое определение. Что касается eax.dll, то насколько понимаю, непосредственно к определению он не относится. Надо тупо ставить последнюю версию (4.0.1.0) и и все. Сообщение отредактировал macron - 30.08.2012, 22:27 |
 
|
|
31.08.2012, 02:18
Сообщение
#79
|
|
Мастер Игры Репутация: 270 Группа: Участник Сообщений: 1375 Награды: 6 Регистрация: 13.09.2009 |
wrap_oal.dll ни кто не вызывает и даже eax.dll и openal32.dll. wrap_oal.dll вызывается уже directx-ом, а точнее directsound3d, и его как раз не отредактируешь((( Насчет wrap_oal.dll: игра при запуске сканирует папку на *_oal.dll. Если в ЧН/ЗП после установки фикса, например, добавить еще один wrap_oal.dll из 04_23xx, обозвав как wrap2_oal.dll, то в выборе устройств появятся новые, в том числе дублирующиеся из обеих dll. В остальном, игра сейчас уже работает самодостаточно. А универсальности в определении EAX на разном железе с разными драйверами не может быть в принципе, так уж сложилось. Все что дает сборка, это многократно повышает шансы на это самое определение. Что касается eax.dll, то насколько понимаю, непосредственно к определению он не относится. Надо тупо ставить последнюю версию (4.0.1.0) и и все. по поводу eax.dll там со всех времен одна и та же процедура вызова, тока список устройств больше предоставлен, ну и добавление новых возможностей. по поводу наводки wrap_oal.dll спасибо, его как раз и сканирует сам openal32.dll на наличие(это в ТЧ, ЧН нету к сожалению), в win8 не стоит openal, и хорошо можно наблюдать за вызовом его, если его удалить в ЗП(фикс конечно установить кроме wrap_oal.dll) игра запустилась, но звука нет вообще, так как нет устройств, можно поставить на то дело другой файл определения в самом openal32.dll(например там идет вызов по маске типа *oal.dll, изменить можно на *adf.dll) как раз универсальность и заключается в том, чтоб игра не пыталась вытянуть библиотека из системы(особенно ХП), конечно можно тупо убрать регистрацию библиотеки из системы. тогда опять есть поле для экспериментов. И все таки я попробую и за исходники openal'а спасибо, по экспериментируем. Сообщение отредактировал Freack - 31.08.2012, 02:18 |
 
|
|
31.08.2012, 04:35
Сообщение
#80
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Регистрация: 22.02.2006 |
как раз универсальность и заключается в том, чтоб игра не пыталась вытянуть библиотека из системы(особенно ХП), Так вот когда мы в bin ставим фикс, включающий все перечисленные dllки, игра и не должна лезть в систему, найдя все необходимое в своей папке. А если хочется универсальности - заделай патчер для билдов, который сам искал бы и правил в любом xrsound.dll фразы "Generic Software" и "Generic Hardware", вместо хекседитора, для ленивых. А вообще интересно, почему в отличие от билдовских, последние версии openal помимо "Generic Software" и "Generic Hardware" не детектят DirectSound3D, DirectSound, MMSYSTEM. Сообщение отредактировал macron - 31.08.2012, 04:54 |
 
|
|
31.08.2012, 05:52
Сообщение
#81
|
|
Мастер Игры Репутация: 270 Группа: Участник Сообщений: 1375 Награды: 6 Регистрация: 13.09.2009 |
как раз универсальность и заключается в том, чтоб игра не пыталась вытянуть библиотека из системы(особенно ХП), Так вот когда мы в bin ставим фикс, включающий все перечисленные dllки, игра и не должна лезть в систему, найдя все необходимое в своей папке. А если хочется универсальности - заделай патчер для билдов, который сам искал бы и правил в любом xrsound.dll фразы "Generic Software" и "Generic Hardware", вместо хекседитора, для ленивых. А вообще интересно, почему в отличие от билдовских, последние версии openal помимо "Generic Software" и "Generic Hardware" не детектят DirectSound3D, DirectSound, MMSYSTEM. такс у меня только после добавления твой библиотеки (openal32.dll и wrap_oal.dll) из всех версий работает на ура(Звук у меня Realtek ALC888S) и это без правки xrsound.dll, при том на creativ blaster модели не помню точно тоже запустилось на ура после этих двух библиотек, так же на 6 компах на работе(3 realtek остальное я не записал) тоже все на ура, версия игры 1.0006, так что я не думаю что все тут так запущено. ну не которые версии файлов могут быть к тому же битые или не хорошо скомпилены, вот он и лезет в систему за нормальными(!), остается только правильно подредактировать openal32.dll и wrap_oal.dll, и то не обязательно именно все варианты карт рассматривать, ведь реалтек использует только два вида драйверов, creativ использует одну версию драйверов, AMD и NVidia HDMI тоже работают все на ура. и про последнее, а зачем тебе остальные варианты? |
 
|
|
Текстовая версия | Сейчас: 29.03.2024, 17:17 |