Heyho, I hope you can help me out a bit.
For the first time I started working on custom sounds but not everything works as it should. I followed the tutorial on how to add custom ambiance music which took me 10 minutes to work. Then I wanted to add some effects, followed the tutorial but ...nothing. I don't get any munge errors and my lvl file under _LVL_PC\sounds increased in file size but I can't hear the effects ingame. I have absolutely no idea what could be wrong; I spent hours on this.
Some of you are quite experienced in terms of adding sound, maybe you can find something. I have marked stuff in different colors to point out what refers to what.
effects\Wraith_Medium_Plasma.wav -resample xbox 22050 pc 22050
SG1gcw_effects_config.snd:
Hidden/Spoiler:
// ----- effects template (copied from mass effect mod) ----------
SoundProperties()
{
Name("sg1_weapon_template"); // sound name to be called from
Group("weapons"); // sound group
Bus("soundfx"); // audio send bus
Pitch(1.0); // pitch of sound (0.0 to 1.0)
PitchDev(0.08); // variance of pitch (e.g., if Pitch were set to "0.5" and PitchDev to "0.1", sound would play anywhere at pitch of 0.4 to 0.6)
Gain(1.0); // amplification, or volume of sound (0.0 to 1.0)
GainDev(0.1); // variance of gain, see PitchDev
ReverbGain(0.0); //
Pan(0.0); // pan (transition) of sound (-1.0 to 1.0) (e.g., if Pan were set to "0.0", sound would be played at 50% gain through right and left speakers; if Pan were set to "-0.5", sound would be played at 75% gain through left speaker, 25% through right speaker)
RollIn(0.0); //
RollInDistance(1.0); //
MinDistance(1.0); // minimum distance sound gain will begin its drop-off
MuteDistance(5000.0); // distance from source the sound will be muted
MaxDistance(5000.0); // maximum distance the sound may be heard from its original source
RollOff(0.0); // slope of drop-off point graph of sound
Mode3D(1); // whether or not sound is three-dimensional (0 is disabled, 1 is enabled) (e.g., effects and voice overs are typically three-dimensional, meaning they are played through whichever speaker channels are closest to the sound's source relative to the player's position, whereas music and environmental streams are typically two-dimensional, meaning they are constantly played through the same channel(s))
ModeDoppler(0); // doppler effects toggle (0 is disabled, 1 is enabled)
Bias(0.0001); //
Priority(1.0); //
PlayProbability(1.0); // likelihood that the sound will play (0.0 to 1.0)
PlayInterval(0.0); // amount of time that must elapse before the sound may be played again
PlayIntervalDev(0.0); // variance of PlayInterval, see PitchDev
RandomPlayPos(0); //
CyclePlayback(0); // toggle whether or not sound should cycle through list of samples (0 is disabled, 1 is enabled)
SpaceDistance(8.0); //
}
Get rid of both instances of that; OpenAudioStream is only for opening .stm and .st4 files. Also, make sure the capitalization and spelling is consistent in your sample (and stream) names across your bank and config files.
Have you normalized your sound in Audacity? Make sure it's at its maximum amplified gain.
Re: Custom sound effects won't work...
Posted: Mon Jun 24, 2013 11:32 am
by Locutus
Thanks for your quick reply.
As you suggested, I removed the lines from the script, fixed the capitalization in the asfx file, removed all pre-munged sound stuff and munged again. Still no luck ingame.
I'm not using audacity but I'm pretty sure the file is loud enough - definitely louder than my music stream file when i play it.
I get a 4,96kb lvl file if I only munge the sound without the streams even though the sound file itself is 19,2kb in size.
One thing I forgot to mention: My munge log says: "Der Befehl "soundflmunge" ist entweder falsch geschrieben oder konnte nicht gefunden werden." which means "The command "soundflmunge" is either spelled wrong or could not be found". Could that be an issue?
(It didn't seem to affect my stream munge, though).
Re: Custom sound effects won't work...
Posted: Mon Jun 24, 2013 3:20 pm
by Marth8880
You have the sound munge fix, correct?
Re: Custom sound effects won't work...
Posted: Mon Jun 24, 2013 3:31 pm
by Locutus
Yup.
soundmunge.bat:
Hidden/Spoiler:
@if %1x==x goto noplatform
@set MUNGE_PLATFORM=%1
@set MUNGE_DIR=MUNGED\%MUNGE_PLATFORM%
@rem EDIT THE LINE BELOW TO POINT TO YOUR BF2 INTSALL PATH
@set BF2_SOUNDPATH="c:\Program Files\LucasArts\Star Wars Battlefront II\"
@rem EDIT THE TWO LINES BELOW TO POINT TO YOUR MOD BY REPLACING SND WITH YOUR WORLD ABBREVIATION
@call soundmungedir _BUILD\sound\worlds\snd\%MUNGE_DIR% sound\worlds\snd sound\worlds\snd\%MUNGE_PLATFORM% %MUNGE_PLATFORM% _BUILD _LVL_%MUNGE_PLATFORM%\sound _BUILD\sound snd
xcopy _LVL_%MUNGE_PLATFORM%\sound\* %BF2_SOUNDPATH%GameData\addon\SND\data\_LVL_PC\Sound\ /Y
@goto exit
:noplatform
@echo Platform must be specified as the first argument
:exit
soundmungedir.bat:
Hidden/Spoiler:
@rem Save the starting directory
@for /F %%A in ('cd') do @set STARTDIR=%%A
@rem Build up a list of directories for level pack to search for source files
@Setlocal enabledelayedexpansion
@set LEVELSRCDIR=
@set PATH="%CD%"\..\ToolsFL\Bin;%PATH%
@rem Should we munge this level ?
@if /i not "%SOUNDLVL%"=="" (
@for %%A in (%SOUNDLVL%) do @if /i "%%A"=="%8" @goto mungeit
@goto exit
)
:mungeit
@if "%MUNGE_LOG%"=="" set MUNGE_LOG=%LOGDIR%\%4%_MungeLog.txt
@if not EXIST %SOURCEDIR% (
@echo Unable to munge %SOURCEDIR% as it doesn't exist! 1>> %MUNGE_LOG%
@goto exit
)
@rem Localization
@rem Setup the extension of localized stream files (if it's english we'll just use the default extension)
@set LANGVERSION=
@rem @for /F %%A in (%MUNGE_LANGVERSION%) do @set LANGVERSION=%%~A
@set LANGVERSION=%MUNGE_LANGVERSION%
@if /i %LANGVERSION%x==Englishx ( @set LOCALIZEEXT= ) else ( @set LOCALIZEEXT=stm_%LANGVERSION% )
@rem make the directory for language-specific stuff if it doesn't exist - H8 h8 h8!
@if EXIST %MUNGEDIR%\%LANGVERSION% goto skipcreatelangdir
@echo Creating dir %MUNGEDIR%\%LANGVERSION%\
@mkdir %MUNGEDIR%\%LANGVERSION%
:skipcreatelangdir
@rem Munge localized stream files
@if /i not %MUNGESTREAMS%x==0x @if /i not %LANGVERSION%x==Englishx @for /R %%A in (*.%LOCALIZEEXT%) do @echo Munging %%~nA%%~xA to %MUNGEDIR%\%LANGVERSION%\ & soundflmunge -platform %4 -banklistinput %%A -bankoutput %MUNGEDIR%\%LANGVERSION%\%%~nA.str -stream %CHECKDATE% -resample %CHECKID% noabort %SOUNDOPT% %STREAMOPT% 2>>%MUNGE_LOG% 1>>%SOUNDLOGOUT%
@rem Build up a list of 1 substream streams to munge,
@rem Filtering the localize streams and if on xbox 4 channel streams
@set MUNGESUBSTREAM1=
@if /i not %MUNGESTREAMS%x==0x @for /R %%A in (*.stm) do @if /i %%~xA==.stm ( @if not EXIST %%~dA%%~pA%%~nA.%LOCALIZEEXT% ( @if /i %MUNGE2SUBSTREAMS%==1 ( @if not EXIST %%~dA%%~pA%%~nA.st4 @set MUNGESUBSTREAM1=!MUNGESUBSTREAM1! %%A ) else ( @set MUNGESUBSTREAM1=!MUNGESUBSTREAM1! %%A ) ) )
@rem build up a list of include directories for levelpack
@rem language overrides first!
@if %LANGVERSION%x==x goto skiplang
@for /F %%A in ('dir /AD /B %STARTDIR%\%7') do @set LANGSRCDIR=!LANGSRCDIR! %STARTDIR%\%7\%%A\MUNGED\%4\%LANGVERSION%
@for /F %%A in ('dir /AD /B %STARTDIR%\%7\Worlds') do @set LANGSRCDIR=!LANGSRCDIR! %STARTDIR%\%7\Worlds\%%A\MUNGED\%4\%LANGVERSION%
:skiplang
@for /F %%A in ('dir /AD /B %STARTDIR%\%7') do @set LEVELSRCDIR=!LEVELSRCDIR! %STARTDIR%\%7\%%A\MUNGED\%4
@for /F %%A in ('dir /AD /B %STARTDIR%\%7\Worlds') do @set LEVELSRCDIR=!LEVELSRCDIR! %STARTDIR%\%7\Worlds\%%A\MUNGED\%4
@for /R %%A in (*.req) do @if /i not %%A==%SOURCEDIR%\%LEVELFILEREQ% levelpack -inputfile %%~nA%%~xA -platform %4 -sourcedir %SOURCEDIR% %LANGSRCDIR% %PLATFORMDIR% -inputdir %LEVELSRCDIR% -outputdir %MUNGEDIR% -continue %CHECKDATE%
:nomungedir
@echo Munge directory must be specified as the first argument
@goto exit
:nosourcedir
@echo Source data directory must be specified as the second argument
@goto exit
:nooverridedir
@echo Platform specific source data directory must be specified as the third argument
@goto exit
:noplatform
@echo Platform must be specified as the fourth argument
@goto exit
:nomungelogdir
@echo Munge log directory must be specified as the fifth argument
@goto exit
:noleveldir
@echo Level output directory must be specified as the sixth argument
@goto exit
:nolevelsrcdir
@echo Level source direct must be specified as the seventh argument
@goto exit
:nolevelfile
@echo Final output level file must be specified as the eighth argument
@goto exit
:exit
@endlocal
@cd %STARTDIR%
...\_BUILD\Sound\munge.bat:
Hidden/Spoiler:
@REM WARNING: enabledelayedexpansion means ! is a special character,
@REM which means it isn't available for use as the mungeapp recursive
@REM wildcard character. Use the alternate $ instead.
@setlocal enabledelayedexpansion
@set MUNGE_ROOT_DIR=..\..
@if not "%1"=="" set MUNGE_PLATFORM=%1
@if %MUNGE_PLATFORM%x==x set MUNGE_PLATFORM=PC
@if "%MUNGE_BIN_DIR%"=="" (
@set MUNGE_BIN_DIR=%CD%\%MUNGE_ROOT_DIR%\..\ToolsFL\Bin
@set PATH=%CD%\..\..\..\ToolsFL\Bin;%PATH%
@echo MUNGE_BIN_DIR=!MUNGE_BIN_DIR!
)
@rem convert to lower case
@if %MUNGE_PLATFORM%==PC set MUNGE_PLATFORM=pc
@if %MUNGE_PLATFORM%==XBOX set MUNGE_PLATFORM=xbox
@if %MUNGE_PLATFORM%==PS2 set MUNGE_PLATFORM=ps2
@if /i not "%SOUNDLVL%"=="" (
@for %%A in (%SOUNDLVL%) do @if /i "%%A"=="global" @goto buildglobalbank
@goto skipglobalbank
)
:buildglobalbank
@rem Build a global sound bank...
@set BANKLIST=
@for /R %%A in (*.sfx) do @set BANKLIST=!BANKLIST! %%A
@for /R %%A in (*.asfx) do @set BANKLIST=!BANKLIST! %%A
@if %SOUNDLOG%x==1x ( @set SOUNDOPT=-verbose & @set SOUNDLOGOUT=%LOGDIR%\SoundBankLog.txt ) else ( @set SOUNDOPT= & @set SOUNDLOGOUT=NUL )
@if not %MUNGE_PLATFORM%==pc goto skipglobalbank
@echo Munging common.bnk, this could take a while...
@soundflmunge -platform %MUNGE_PLATFORM% -banklistinput %BANKLIST% -bankoutput _LVL_%MUNGE_PLATFORM%\Sound\common.bnk -checkdate -resample -compact nowarning -checkid noabort -relativepath %SOUNDOPT% 2>>%MUNGE_LOG% 1>>%SOUNDLOGOUT%
:skipglobalbank
@cd _BUILD\Sound
@REM If the munge log was created locally and has anything in it, view it
@if not %MUNGE_LOG%x==%LOCAL_MUNGE_LOG%x goto skip_mungelog
@set FILE_CONTENTS_TEST=
@if exist %MUNGE_LOG% for /f %%i in (%MUNGE_LOG:"=%) do @set FILE_CONTENTS_TEST=%%i
@if not "%FILE_CONTENTS_TEST%"=="" ( Notepad.exe %MUNGE_LOG% ) else ( if exist %MUNGE_LOG% (del %MUNGE_LOG%) )
:skip_mungelog
@rem convert to upper case
@if %MUNGE_PLATFORM%==pc set MUNGE_PLATFORM=PC
@if %MUNGE_PLATFORM%==xbox set MUNGE_PLATFORM=XBOX
@if %MUNGE_PLATFORM%==ps2 set MUNGE_PLATFORM=PS2
@endlocal
Re: Custom sound effects won't work...
Posted: Mon Jun 24, 2013 4:23 pm
by AceMastermind
soundmunge.bat:
Hidden/Spoiler:
@if %1x==x goto noplatform
@set MUNGE_PLATFORM=%1
@set MUNGE_DIR=MUNGED\%MUNGE_PLATFORM%
@rem EDIT THE LINE BELOW TO POINT TO YOUR BF2 INTSALL PATH
@set BF2_SOUNDPATH="c:\Program Files\LucasArts\Star Wars Battlefront II\"
...
...
I just want to point out that if you use the Steam version of SWBF2 then you'll need to update the BF2_SOUNDPATH line since the path is different.
Re: Custom sound effects won't work...
Posted: Tue Jun 25, 2013 2:18 pm
by Locutus
Thanks for the info:)
I'm not using the steam version, though.
Would be awesome if someone was willing to try out my files. I bet I'm missing something stupid here:/ PM maybe?