mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-24 13:01:47 +00:00
- Added DefaultEnvironment MAPINFO option to set the default sound environment for the whole map.
SVN r2261 (trunk)
This commit is contained in:
parent
ba29ffd405
commit
aa86e62693
4 changed files with 27 additions and 1 deletions
|
@ -1319,6 +1319,8 @@ void G_InitLevelLocals ()
|
|||
compatflags.Callback();
|
||||
|
||||
NormalLight.ChangeFade (level.fadeto);
|
||||
|
||||
level.DefaultEnvironment = info->DefaultEnvironment;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
|
|
@ -279,6 +279,7 @@ struct level_info_t
|
|||
DWORD compatflags;
|
||||
DWORD compatmask;
|
||||
FString Translator; // for converting Doom-format linedef and sector types.
|
||||
int DefaultEnvironment; // Default sound environment for the map.
|
||||
|
||||
// Redirection: If any player is carrying the specified item, then
|
||||
// you go to the RedirectMap instead of this one.
|
||||
|
@ -391,6 +392,7 @@ struct FLevelLocals
|
|||
fixed_t aircontrol;
|
||||
fixed_t airfriction;
|
||||
int airsupply;
|
||||
int DefaultEnvironment; // Default sound environment.
|
||||
|
||||
FSectorScrollValues *Scrolls; // NULL if no DScrollers in this level
|
||||
|
||||
|
|
|
@ -265,6 +265,7 @@ void level_info_t::Reset()
|
|||
bordertexture[0] = 0;
|
||||
teamdamage = 0.f;
|
||||
specialactions.Clear();
|
||||
DefaultEnvironment = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1250,6 +1251,20 @@ DEFINE_MAP_OPTION(mapbackground, true)
|
|||
parse.ParseLumpOrTextureName(info->mapbg);
|
||||
}
|
||||
|
||||
DEFINE_MAP_OPTION(defaultenvironment, false)
|
||||
{
|
||||
int id;
|
||||
|
||||
parse.ParseAssign();
|
||||
parse.sc.MustGetNumber();
|
||||
id = parse.sc.Number << 8;
|
||||
if (parse.CheckNumber())
|
||||
{
|
||||
id |= parse.sc.Number;
|
||||
}
|
||||
info->DefaultEnvironment = id;
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
|
|
|
@ -729,6 +729,7 @@ void P_FloodZone (sector_t *sec, int zonenum)
|
|||
void P_FloodZones ()
|
||||
{
|
||||
int z = 0, i;
|
||||
ReverbContainer *reverb;
|
||||
|
||||
for (i = 0; i < numsectors; ++i)
|
||||
{
|
||||
|
@ -739,9 +740,15 @@ void P_FloodZones ()
|
|||
}
|
||||
numzones = z;
|
||||
zones = new zone_t[z];
|
||||
reverb = S_FindEnvironment(level.DefaultEnvironment);
|
||||
if (reverb == NULL)
|
||||
{
|
||||
Printf("Sound environment %d, %d not found\n", level.DefaultEnvironment >> 8, level.DefaultEnvironment & 255);
|
||||
reverb = DefaultEnvironments[0];
|
||||
}
|
||||
for (i = 0; i < z; ++i)
|
||||
{
|
||||
zones[i].Environment = DefaultEnvironments[0];
|
||||
zones[i].Environment = reverb;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue