Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenAL Sound issues #6

Closed
andrew-boyarshin opened this issue Aug 28, 2014 · 5 comments
Closed

OpenAL Sound issues #6

andrew-boyarshin opened this issue Aug 28, 2014 · 5 comments

Comments

@andrew-boyarshin
Copy link

RU

Добрый день!
После успешной компиляции абсолютно всех проектов в решении мною были предприняты следующие шаги:

  1. Очищена(конечно с бэкапом) папка bin оригинальной игры
  2. Содержимое binaries/Debug было скопировано в папку bin оригинальной игры
  3. Игра была запущена bin/xrEngine.exe из папки игры
  4. После отображения сплэш-скрина(он еще отображается) вылетает ошибка OpenAL: Can't create sound device. и игра закрывается.
    Последние строчки лога игры:
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices 
SOUND: OpenAL: system  default SndDevice name is 

Необходимо обратить внимание на пустое имя устройства.
Код C#( xrSound.OpenALDeviceList:75 ):

devices = (char *)alcGetString(NULL, ALC_DEVICE_SPECIFIER);
Msg("devices %s",devices);
m_defaultDeviceName = (char *)alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER);
Msg("SOUND: OpenAL: system  default SndDevice name is %s", m_defaultDeviceName.c_str());

В коде движка мною ничего не менялось.
Запуск с -nosound -nointro запускает игру без звука. Там есть свои проблемы, но о них не в этом тикете.
Я продолжаю исследовать причины ошибки.

@andrew-boyarshin
Copy link
Author

Обнаружил, что m_devices пустой. OpenAL возвращает пустой enumeration.

@nitrocaster
Copy link
Member

В репозиторий не включены некоторые DLL, необходимые для запуска игры; в частности, wrap_oal.dll.
Предполагается следующий порядок действий:
1] Создать копию оригинальной директории bin (например, bin_dev)
2] Скопировать скомпилированные новые бинарники в bin_dev с заменой
3] Создать директорию gamedata/shaders/r3 и поместить в нее файл mark_msaa_edges.ps (необходимо для запуска DX10 рендера)

Обновлю build.txt.

@nitrocaster
Copy link
Member

(в дополнение к вышеописанной инструкции)
Следующие файлы из оригинальной bin можно удалить:
d3dx9_40.dll
.manifest
msvcp80.dll
msvcr80.dll
stlport.5.0.dll
protect.

xrCPU_Pipe.dll
dedicated/*.manifest
dedicated/msvcr80.dll
dedicated/xrCPU_Pipe.dll
dedicated/xrGame.dll

@andrew-boyarshin
Copy link
Author

Спасибо! А я как раз нашел функцию поиска wrap_oal.dll в коде xrSound...
Закрою тикет как только проверю.

@andrew-boyarshin
Copy link
Author

Звук заработал! Спасибо за помощь!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants