Add if-D2 to Dont_start_sound_objects
Dont_start_sound_objects is defined for D1, but never set. Restrict it to D2 and let D1 skip the test.
This commit is contained in:
parent
40588aaa0a
commit
fee144261f
|
@ -126,9 +126,10 @@ extern void digi_start_sound_queued( short soundnum, fix volume );
|
||||||
extern int digi_volume;
|
extern int digi_volume;
|
||||||
#if defined(DXX_BUILD_DESCENT_I)
|
#if defined(DXX_BUILD_DESCENT_I)
|
||||||
extern int digi_sample_rate;
|
extern int digi_sample_rate;
|
||||||
|
#elif defined(DXX_BUILD_DESCENT_II)
|
||||||
|
extern int Dont_start_sound_objects;
|
||||||
#endif
|
#endif
|
||||||
extern int SoundQ_channel;
|
extern int SoundQ_channel;
|
||||||
extern int Dont_start_sound_objects;
|
|
||||||
void digi_select_system(int);
|
void digi_select_system(int);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -293,8 +293,10 @@ static void digi_unpause_looping_sound()
|
||||||
digi_play_sample_looping_sub();
|
digi_play_sample_looping_sub();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(DXX_BUILD_DESCENT_II)
|
||||||
//hack to not start object when loading level
|
//hack to not start object when loading level
|
||||||
int Dont_start_sound_objects = 0;
|
int Dont_start_sound_objects = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void digi_start_sound_object(sound_object &s)
|
static void digi_start_sound_object(sound_object &s)
|
||||||
{
|
{
|
||||||
|
@ -304,8 +306,10 @@ static void digi_start_sound_object(sound_object &s)
|
||||||
if ( s.volume <= 0 )
|
if ( s.volume <= 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#if defined(DXX_BUILD_DESCENT_II)
|
||||||
if ( Dont_start_sound_objects )
|
if ( Dont_start_sound_objects )
|
||||||
return;
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
// only use up to half the sound channels for "permanent" sounts
|
// only use up to half the sound channels for "permanent" sounts
|
||||||
if ((s.flags & SOF_PERMANENT) && (N_active_sound_objects >= max(1, digi_max_channels / 4)))
|
if ((s.flags & SOF_PERMANENT) && (N_active_sound_objects >= max(1, digi_max_channels / 4)))
|
||||||
|
@ -334,11 +338,13 @@ static void digi_link_sound_common(cobjptr_t viewer, sound_object &so, const vms
|
||||||
so.max_distance = max_distance;
|
so.max_distance = max_distance;
|
||||||
so.volume = 0;
|
so.volume = 0;
|
||||||
so.pan = 0;
|
so.pan = 0;
|
||||||
|
#if defined(DXX_BUILD_DESCENT_II)
|
||||||
if (Dont_start_sound_objects) { //started at level start
|
if (Dont_start_sound_objects) { //started at level start
|
||||||
so.flags |= SOF_PERMANENT;
|
so.flags |= SOF_PERMANENT;
|
||||||
so.channel = -1;
|
so.channel = -1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
digi_get_sound_loc(viewer->orient, viewer->pos, viewer->segnum,
|
digi_get_sound_loc(viewer->orient, viewer->pos, viewer->segnum,
|
||||||
pos, segnum, so.max_volume,
|
pos, segnum, so.max_volume,
|
||||||
|
|
Loading…
Reference in a new issue