Skocz do zawartości

Sound Environment w S.T.A.L.K.E.R.


Rekomendowane odpowiedzi

image.jpg

NAZWA: Sound Environment w S.T.A.L.K.E.R.
TWÓRCA: Macron

 

O SOUND ENVIROMENT SŁÓW KILKA:

Spoiler

Czym jest Sound Environment w S.T.A.L.K.E.R.? Jest to wymuszona zmiana zwykłych dźwięków w niektórych obszarach. Na przykład logiczne jest, jeśli po wejściu do piwnicy/jaskini/pod most, zaczynamy słyszeć echo od strzałów/przeładowania/naszych kroków, itp.

Same strefy są ustawiane ręcznie w SDK, a później dodawane do folderu poziomu jako plik level.snd_env (lub jako level.sound_environment w przypadku starszych buildów).

Wszystkie buildy od 18xx do Cienia Czarnobyla/Czystego Nieba obsługują Sound Environment. Nikt tego nie wyciął z silnika Cienia Czarnobyla.

 

IMPLEMENTACJA SOUND ENVIRONMENT:

Spoiler

Są problemy z implementacją:

  1. Pierwszy problem polega na tym, że Sound Environment działa tylko wtedy, gdy włączony jest EAX.
  2. Drugi problem polega na tym, że z bibliotek OpenAL (OpenAL32.dll+wrap_oal.dll), począwszy od 2006 roku, nagle zniknęła obsługa EAX dla kart dźwiękowych z poprzednich lat.
  3. Trzeci problem polega na tym, że EAX, nawet jeśli jest obsługiwany przez kartę dźwiękową, normalnie działa nie z każdym sterownikiem.
  4. Czwarty problem polega na tym, że w SoC w opcjach dźwięku dozwolone jest ustawianie EAX w dowolnym przypadku, tzn. gra nie sprawdza, czy faktycznie jest włączony, co prowadzi do samooszukiwania się, jeśli nie czyta się logu.
  5. Piąty problem polega na tym, że w finale SoC ten sam Sound Environment został z jakiegoś powodu wycięty na większości poziomów. Pozostał tylko gdzieś na:
    • l07_wojsko
    • l08_jantar
    • l12u_sarcofag
    • testers_mp_factory
    • testers_mp_pool

EAX FIXX ver 3:

Spoiler

dodano !!!_dsound_software dla wymuszonego włączenia Generic Software
dodano !!!_backup dla przywrócenia w przypadku poważnych problemów
dodano warianty 15-19
dodano !!!_sound_fixx_for_cs_cop
dodano !!!_sound_fixx_for_shoc_10004
dodano !!!_sound_fixx_for_shoc_10006
zaktualizowano eax.dll do wersji v4.0.1.0
dodano obsługę CoP (przy użyciu !!!_sound_fixx_for_cs_cop)

Link: https://disk.yandex.ru/d/lGuwBsvVQpnub

Dana paczka (EAX FIXX) jest przeznaczona do włączenia obsługi EAX przez grę, a co za tym idzie Sound Environment zarówno dla istniejących poziomów, jak i perspektywnych modów, w pierwszej kolejności dla SoC. Ta paczka jest przeznaczona dla buildów od 18xx do SoC/CS.

Paczka składa się z numerowanych folderów z plikami .dll, gdzie w różnych kombinacjach są spotykane importowane z buildów/SoC/CS biblioteki OpenAL wszystkich możliwych wersji.

Każdy folder zawiera:

  • eax.dll (standardowa wersja)
  • OpenAL32.dll
  • wrap_oal.dll

Zadanie paczki: metodą przeszukiwania wszystkich kombinacji wybrać opcję, przy której na konkretnym sprzęcie i w konkretnym buildzie/grze zadziała EAX, a co za tym idzie zostanie włączona obsługa Sound Environment.

 

Instalacja:

1. W user.ltx jeden raz poprawiamy (lub przez konsolę wprowadzamy) komendy:

  • snd_efx on (pozwalamy grze na używanie efektów)
  • snd_targets 24 (starsze warianty plików .dll mogą "kłócić się", jeśli wartość jest duża. Można po testach ustawić 32.)
  • snd_volume_eff 1 (maksymalna głośność efektów)
  • snd_volume_music 0 (muzykę wyłączamy, aby nie przeszkadzała)
  • snd_volume_master 1 (ogólna maksymalna głośność, komenda dla buildów 18xx)

2. Uruchamiamy grę (build od 18xx do SoC/CS/CoP) i patrzymy co jest napisane w konsoli lub logu w dwóch linijkach definiujących EAX.

Jeśli zostało napisane:
* sound: EAX 2.0 extension: present
* sound: EAX 2.0 deferred: present
znaczy najprawdopodobniej, że wszystko jest w porządku, EAX działa. Dalsze eksperymenty można pominąć.
 

Jeśli zostało napisane:
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
Lub tylko w jednej linii jest absent, to oznacza, że EAX nie działa lub może zawierać błędy i można eksperymentować.

3. Tworzymy kopię zapasową folderu bin w jakimś miejscu. Jeśli korzystamy z buildów, pomijamy punkt 4.

4. Jeśli korzystamy z CS/CoP, to do folderu bin wrzucamy wszystko z !!!_sound_fixx_for_cs_cop
Jeśli korzystamy z SoC 1.0004, to do folderu bin wrzucamy wszystko z !!!_sound_fixx_for_shoc_10004
Jeśli korzystamy z SoC 1.0006, to do folderu bin wrzucamy wszystko z !!!_sound_fixx_for_shoc_10006

5. Sprawdzamy.
Dla CS/CoP w przypadku braku EAX lub problemów z dźwiękiem, w grze w opcjach dźwięku zmieniamy z Generic Hardware na Generic Software lub odwrotnie, restartujemy grę i sprawdzamy jeszcze raz.
Dla buildów/SoC w przypadku braku EAX lub problemów z dźwiękiem, kopiujemy dsound.dll z !!!_dsound_software do folderu bin. Dźwięk powinien zostać przełączony w tryb Generic Software.

Dla CS/CoP, jeśli nie przełącza się w opcjach (Generic Hardware/Generic Software), można także spróbować sztuczkę z plikiem dsound.dll.

6. Jeśli to nie zadziała, zaczynamy testy na pełną skalę:
(Dla CS/CoP pełne testy można wykonać dwukrotnie - najpierw z wybranym w opcjach Generic Hardware, a następnie z Generic Software).
(Dla buildów/SoC pełne testy można wykonać dwukrotnie - najpierw zwykle, a następnie z pomocą !!!_dsound_software).

Bierzemy wszystkie biblioteki .dll z folderu 01_18xx-22xx_default i umieszczamy je w folderze bin. Uruchamiamy grę i czytamy w logu/konsoli linijki o EAX. Następnie bierzemy biblioteki .dll z folderu 02_18xx-22xx_tweaked1, robimy to samo i tak dalej, sprawdzamy wszystkie warianty. Pamiętamy, gdzie włączył się EAX (zapisane jest present w obu liniach). Jeśli EAX jest włączony w kilku opcjach, zostawiamy tę, w której daty plików są nowsze lub dźwięk wydaje się lepszy. Zdarzają się przypadki, gdy w dzienniku jedna linia mówi, że jest present, a inna jest absent. Najprawdopodobniej Sound Environment nie będzie wywalać.
Niektóre warianty mogą nie być zgodne z określonym buildem/grą/systemem i podczas testowania mogą powodować do wylotu/zawieszania się gry podczas uruchamiania. Gdy EAX jest włączony w różnych wersjach, mogą pojawić się nowe drobne usterki, takie jak kliknięcia. Nie ma gwarancji, że ten sam wariant będzie działał poprawnie w różnych buildach/grach.

Jeśli w wyniku testów w SoC/CS/CoP dźwięk pogorszył się lub gra się nie uruchamia, usuwamy dsound.dll (jeśli jest zainstalowany) i przywracamy z !!!_backup.

Co robić, jeśli to nic nie pomogło:
1. Jeśli układ dźwiękowy nie jest wbudowany/jest włożona do komputera karta dźwiękowa, spróbuj zaktualizować jego/jej sterowniki, zwróć uwagę na obsługę EAX.
Sterowników może być kilka, w tym nieoficjalne.

2. Jeśli system dźwiękowy jest wbudowany, na przykład Realtek, spróbuj zaktualizować jego sterowniki. Często na stronach pomocy technicznej dla płyt głównych dostępne są nieaktualne opcje. Oznacza to, że lepiej jest szukać sterowników bezpośrednio od producenta układu dźwiękowego. Możesz też wygooglować program "Realtek 3D SoundBack", może się przydać.

3. Kup prosty Sound Blaster Live/5.1 za 20$. W zależności od modelu/systemu operacyjnego problemy ze znalezieniem sterowników nie są wykluczone, ale przynajmniej te urządzenia audio powinny obsługiwać EAX z jedną z opcji fixa.

4. Pobierz kody źródłowe OpenAL i będąc dobrym programistą, skompiluj pod własny układ dźwiękowy osobisty OpenAL32.dll+wrap_oal.dll.

 

Jak samodzielnie stworzyć Sound Environment w SDK?
Załóżmy, że otwartą jakąś lokację/poziom.
Edit Mode -> Sound Env -> Ustawiamy punkt na mapie. Pojawi się sześcian. Klikamy prawym przyciskiem myszy w jego właściwości.

Environment Inner ustawiamy long_corridor (np).
Environment Outer ustawiamy open_space.

Następnie przybliżamy/obracamy naszą kostkę, aby wypełnić pomieszczenie. Po ustawieniu wystarczającej liczby kostek mówimy: Compile -> Make Game. I umieszczamy gotowy plik level.snd_env w grze w folderze poziomu.

 

PRZYKŁAD WYKORZYSTANIA SOUND ENVIRONMENT NA KORDONIE:

Spoiler

 

 

OPIS PRESETÓW:

Spoiler
  • Alley - Aleja
  • Arena - Arena
  • Auditorium - Audytorium
  • Bathroom - Łazienka (pomieszczenie wyłożony kafelkami)
  • Carpeted Hallway - Korytarz (przedpokój) wyłożony dywanami (z pewnością będzie wpływać na dźwięk kroków?)
  • Cave - Jaskinia
  • City - Miasto
  • Concert Hall - Sala koncertowa
  • Dizzy - Zawroty głowy
  • Drugged - Pod wpływem różnych substancji
  • Forest - Las
  • Generic - Ogólny
  • Hallway - Korytarz
  • Hangar - Hangar
  • Livingroom - Pokój dzienny
  • Mountains - Góry
  • Padded Cell - Wyściełana filcem komórka
  • Parkinglot - Parking
  • Plain - Równina
  • Quarry - Kamieniołom
  • Room - Pokój
  • Sewer Pipe - Kanał (np. na Jantarze)
  • Stone Corridor - Kamienny korytarz
  • Stone Room - Pokój z kamienia
  • Under Water - Pod wodą

 

ŹRÓDŁO:

https://ap-pro.ru/forums/topic/1174-sound-environment-v-stalker/

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony, zgadzasz się na nasze Warunki użytkowania.