Is it possible to lower the volume of the pre-rendered cutscenes?
I find that the pre-rendered cutscenes are way too loud -- what options might I have to lower the volume of them?
Ah yeah, I also started noticing this problem recently when I got some new, louder headphones. In the original MS-DOS engine, the sound effects volume slider also sets the volume of the movies - but in D2X-Rebirth, the movies ignore that slider and play at the maximum volume. Even version 0.58.1 behaves this way, so this might be a very old problem. If no one notices this thread, I'll create a bug report later.

Until this gets fixed, one workaround is to use your system's volume mixer to lower the volume of the entire game, and then raise the in-game volume sliders to compensate. (On Windows, secondary-click the volume icon in the notification area, and then click "Open Volume Mixer".)
If I recall correctly, the DOS game used an audio library that Parallax was not able to release, so the game was released without sound and an early open source task was to attach a replacement sound library to the game. Perhaps whoever worked on that failed to link the sound controls between the replacement and the movie subsystem. Reading through the MVE code, it looks to me like an entirely separate set of code paths is used for movie audio versus normal in-game audio. I see where the regular in-game audio subsystem is given the current value of the volume slider, and no indication that anyone attempted to pass this to the movie subsystem (as opposed to it being passed in, but ignored/overwritten). I looked up how the SDL_mixer interface is manipulated, but initial testing suggests that even without any change, the Fx Volume slider controls the briefing sounds for me. This is what is meant by "in-game cutscenes", right?
(09-09-2017, 09:16 PM)Kp Wrote: [...] the Fx Volume slider controls the briefing sounds for me.  This is what is meant by "in-game cutscenes", right?

Oh, actually I was referring to Descent II's full-motion videos: the intro movie, the movies that play when you arrive at a new planetary system, the movies that play when you escape a mine, and the ending movie. The "FX volume" slider doesn't control their volume, but it controls the volume of the briefings for me too.
Ah, right. I never watch those. I don't think I even installed them. If they're played by the mve code, I expect they would have the problem described here. I'll check this next time I have an opportunity to get those files off my CDs.

If you are willing to run a test for me, try applying this patch to tip, rebuilding, and testing out the cutscenes. If it works, I'll refine it (in particular, this one only works when using SDL_mixer) and publish it.
diff --git a/d2x-rebirth/libmve/mveplay.cpp b/d2x-rebirth/libmve/mveplay.cpp
index 0377a88b8..18754383a 100644
--- a/d2x-rebirth/libmve/mveplay.cpp
+++ b/d2x-rebirth/libmve/mveplay.cpp
@@ -37,6 +37,7 @@
#include "byteutil.h"
#include "decoders.h"
#include "libmve.h"
+#include "config.h"
#include "args.h"
#include "console.h"
#include "u_mem.h"
@@ -386,6 +387,7 @@ static int create_audiobuf_handler(unsigned char, unsigned char minor, const uns
    else {
        // MD2211: using the same old SDL audio callback as a postmixer in SDL_mixer
        Mix_SetPostMix(mve_audio_spec->callback, mve_audio_spec->userdata);
+        Mix_Volume(-1, GameCfg.DigiVolume * 16);
        mve_audio_canplay = 1;
No problem - I saved the patch to a file and tried applying it with the command, `patch -p1 < ../movie_volume_fix.diff`, but I got this error:

patching file d2x-rebirth/libmve/mveplay.cpp
patch: **** malformed patch at line 13: @@ -386,6 +387,7 @@ static int create_audiobuf_handler(unsigned char, unsigned char minor, const uns

However, I was able to apply the patch by manually copying the added lines into `d2x-rebirth/libmve/mveplay.cpp`. I rebuilt and played several cutscenes with my "FX volume" set to 1, but unfortunately, the cutscenes still played at the maximum volume.
Did you reply to my post and copy it from there or copy it from the main view? The forum's code tag seems not to preserve whitespace (which is disappointing, since whitespace preservation is a major point of using code tags). Unchanged lines should have a single leading space, but they have none in view mode.

As for the actual lack of effect, that is unfortunate. I will need to dig out my CDs and investigate how the movies are played.
You're right, it removed all of the leading spaces ... That's going to be really annoying when posting diffs! Confused Clicking "Reply" and copying the code from that view also didn't work for me, though: all of the tab characters got converted to single spaces. Thanks for looking into this, anyhow!
New answer: this is not possible in any released build (but since it's been about 4 years since the last release, there are a lot of things about which that can now be said Wink). However, just-published commit Apply SoundFx control to in-game movies implements this. Please grab a build from this commit or later and test it out.
Awesome, the "FX volume" slider once again controls the movie volume. Thanks! So yeah, if no D2X-Rebirth releases have that feature, that makes sense that it was probably never re-implemented after Parallax removed the closed-source sound library they were using.

Forum Jump:

Users browsing this thread: 1 Guest(s)