Внимание!
Во время тестов в папке \bin\ не должно быть старых переименованных версий библиотек wrap_oal.dll или OpenAL32.dll.
Также обратите внимание, что при использовании разных драйверов для звуковой карты результаты могут отличаться.
В этой сборке были добавлены следующие улучшения:
* Dsound Software для принудительного включения Generic Software;
* Backup для восстановления в случае серьёзных проблем;
* Sound Fixx для ЧН и ЗП;
* Sound Fixx для ТЧ версии 1.0004;
* Sound Fixx для ТЧ версии 1.0006;
* варианты 15–19;
* поддержка ЗП при использовании Sound Fixx для ЧН и ЗП;
* обновление EAX.dll до версии 4.0.1.0.
Что такое Sound Environment в S.T.A.L.K.E.R?
Это принудительное изменение обычных звуков в определённых зонах. Например, логично, если, зайдя в подвал, пещеру или под мост, мы начнём слышать эхо от выстрелов, перезарядки или своих шагов и так далее. Сами зоны ставятся вручную в SDK и добавляются в папку уровня в виде файла level.snd_env или level.sound_environment для старых билдов.
Все билды от 18xx до ТЧ, ЧН и ЗП поддерживают Sound Environment. Из движка ТЧ его никто не вырезал.
Однако есть проблемы с реализацией:
1. Sound Environment работает только при включённом EAX.
2. Из OpenAL-библиотек (OpenAL32.dll + wrap_oal.dll) начиная с 2006 года исчезла поддержка EAX для звуковых карт предыдущих лет.
3. EAX, даже если поддерживается звуковой картой, может нормально работать не со всяким драйвером.
4. В ТЧ в опциях звука разрешено ставить галочку на EAX в любом случае, то есть игра не проверяет, включён ли он на самом деле. Это может привести к самообману, если не читать логи.
5. В финальной версии ТЧ Sound Environment был вырезан на большинстве уровней, кроме l07_military, l08_yantar, l12u_sarcofag, testers_mp_factory и testers_mp_pool.
Данная сборка предназначена для включения поддержки EAX игрой, а следовательно, и Sound Environment как для существующих уровней, так и для перспективных модификаций, в первую очередь для ТЧ.
Текущая сборка предназначена для билдов от 18xx до ТЧ \ ЧН \ ЗП.
Сборка состоит из папок с DLL-библиотеками, которые были портированы из разных версий OpenAL. В этих папках можно найти следующие файлы:
- eax.dll (не влияет на определение EAX);
- OpenAL32.dll;
- wrap_oal.dll.
Каждая папка имеет свой номер, который указывает на конкретный набор файлов. Чтобы найти нужный вариант, необходимо перебрать все комбинации и выбрать тот, который подходит для вашего оборудования и игры.
Задача сборки — найти комбинацию файлов, которая позволит включить поддержку Sound Environment и использовать эффекты в игре.
Для установки сборки необходимо выполнить следующие шаги:
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 для ЧН и ЗП\.
Если используем ТЧ v1.0004, то в папку \bin\ нужно поместить все файлы из папки \Sound Fixx для ТЧ v1.0004\.
Если используем ТЧ v1.0006, то в папку \bin\ нужно поместить все файлы из папки \Sound Fixx для ТЧ v1.0006\.
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 Tweaked 1\, проделываем то же самое, и так далее, проверяем все варианты.
Запоминаем, где включился EAX (пишет present в обеих строчках).
Если EAX включился в нескольких вариантах, оставляем тот, где даты файлов новее, или звук кажется лучше.
Возможны случаи, когда в логе в одной строчке написано present, в другой absent. Скорее всего, Sound Environment не будет работать.
Некоторые варианты могут оказаться несовместимы с конкретным билдом \ игрой \ системой и привести к вылету \ зависанию игры при запуске.
При включённом EAX с разными версиями могут появиться новые мелкие глюки, например, щелчки.
Нет гарантии, что на разных билдах \ играх будет корректно работать один и тот же вариант.
Для Sound Blaster live 5.1 (SB 0220) не рекомендуются драйвера серии KX Project. Рекомендуются серии NGO.
Вариант 14_ASUS_Xonar_DG_win7 (by Lyoko774) заточен под конкретную звуковую карту и win7. На других системах может не работать.
Если в результате тестирования в ЧН или ЗП звук ухудшился или игра не запускается, удалите файл dsound.dll (если устанавливали) и восстановитесь из нужной папки \.Backup...\.
Если вы уже попробовали все возможные решения, но проблема со звуком всё ещё не решена, есть несколько дополнительных вариантов, которые стоит рассмотреть:
1. Если у вас отдельная звуковая карта, попробуйте обновить её драйверы. Обратите внимание на поддержку EAX. Возможно, вам понадобятся неофициальные драйверы.
2. Если у вас встроенная звуковая карта, например, от Realtek, попробуйте обновить её драйверы. На сайтах поддержки материнских плат часто можно найти устаревшие версии драйверов. Лучше искать драйверы непосредственно от производителя чипа звуковой карты. Также на Windows Vista и Windows 7 вы можете попробовать использовать программу «Realtek 3D SoundBack».
3. За 20 долларов вы можете приобрести простую звуковую карту Sound Blaster Live/5.1. В зависимости от модели и операционной системы могут возникнуть проблемы с поиском драйверов, но эти звуковые карты должны поддерживать EAX и иметь возможность настройки.
4. Если вы опытный программист, вы можете скачать исходные коды OpenAL и скомпилировать персональные OpenAL32.dll и wrap_oal.dll для своей звуковой карты.
Теперь о том, как создать звуковую среду в SDK:
1. Откройте уровень.
2. В режиме редактирования выберите пункт «Sound Env» и поставьте точку на карте. Появится кубик.
3. Нажмите правой кнопкой мыши на кубик и выберите «Свойства».
4. В разделе «Environment Inner» выберите нужный тип окружения, например, «long_corridor».
5. В разделе «Environment Outer» выберите тип окружения, который будет окружать выбранный тип, например, «open_space».
6. Перемещайте и вращайте кубик, чтобы заполнить нужное вам помещение.
7. Когда вы настроите все параметры, нажмите «Compile» и «Make Game».
8. Поместите готовый уровень с расширением «.snd_env» в папку уровня в игре.
Обсуждение этого вопроса проходило с участием Lyoko774, РСФСР, MacroN, Veresk и VEX.
Метки:
Программы; моддинг; инструменты