- Added a range parameter to SNDINFO's $limit.

- Restored Dehacked music name replacement.


SVN r1416 (trunk)
This commit is contained in:
Christoph Oelckers 2009-02-08 11:28:30 +00:00
parent 05a8a49ea5
commit 4b064d9b5d
15 changed files with 339 additions and 215 deletions

View File

@ -1,3 +1,7 @@
February 8, 2009 (Changes by Graf Zahl)
- Added a range parameter to SNDINFO's $limit.
- Restored Dehacked music name replacement.
February 7, 2009
- Added GUICapture mouse events for Win32.
- Changed I_GetFromClipboard() to return an FString.

View File

@ -313,6 +313,7 @@ static int PatchText (int);
static int PatchStrings (int);
static int PatchPars (int);
static int PatchCodePtrs (int);
static int PatchMusic (int);
static int DoInclude (int);
static const struct {
@ -335,6 +336,7 @@ static const struct {
{ "[STRINGS]", PatchStrings },
{ "[PARS]", PatchPars },
{ "[CODEPTR]", PatchCodePtrs },
{ "[MUSIC]", PatchMusic },
{ NULL, },
};
@ -1848,6 +1850,26 @@ static int PatchCodePtrs (int dummy)
return result;
}
static int PatchMusic (int dummy)
{
int result;
DPrintf ("[Music]\n");
while ((result = GetLine()) == 1)
{
const char *newname = skipwhite (Line2);
FString keystring;
keystring << "MUSIC_" << Line1;
GStrings.SetString (keystring, newname);
DPrintf ("Music %s set to:\n%s\n", keystring.GetChars(), newname);
}
return result;
}
static int PatchText (int oldSize)
{
int newSize;
@ -1941,26 +1963,6 @@ static int PatchText (int oldSize)
}
}
#if 0
// Search through music names.
if (oldSize < 7)
{ // Music names are never >6 chars
char musname[9];
level_info_t *info = LevelInfos;
mysnprintf (musname, countof(musname), "d_%s", oldStr);
while (info->level_name)
{
if (info->music && stricmp (info->music, musname) == 0)
{
good = true;
strcpy (info->music, musname);
}
info++;
}
}
#endif
if (good)
goto donewithtext;

View File

@ -256,7 +256,7 @@ void F_Ticker ()
if (EndSequences[FinaleSequence].EndType == END_Bunny)
{
if (!EndSequences[FinaleSequence].Advanced)
S_StartMusic ("d_bunny");
S_StartMusic ("$music_bunny");
}
}
if (EndSequences[FinaleSequence].Advanced &&
@ -600,7 +600,7 @@ void F_StartCast (void)
castonmelee = 0;
castattacking = false;
if (!EndSequences[FinaleSequence].Advanced)
S_ChangeMusic ("d_evil");
S_ChangeMusic ("$music_evil");
}

View File

@ -212,12 +212,12 @@ gameinfo_t SharewareGameInfo =
"TITLEPIC",
"CREDIT",
"HELP2",
"D_INTRO",
"$MUSIC_INTRO",
5,
0,
200/35,
"misc/chat2",
"D_VICTOR",
"$MUSIC_VICTOR",
"FLOOR4_8",
"HELP2",
"VICTORY2",
@ -246,12 +246,12 @@ gameinfo_t RegisteredGameInfo =
"TITLEPIC",
"CREDIT",
"HELP2",
"D_INTRO",
"$MUSIC_INTRO",
5,
0,
200/35,
"misc/chat2",
"D_VICTOR",
"$MUSIC_VICTOR",
"FLOOR4_8",
"HELP2",
"VICTORY2",
@ -280,12 +280,12 @@ gameinfo_t ChexGameInfo =
"TITLEPIC",
"CREDIT",
"HELP1",
"D_INTRO",
"$MUSIC_INTRO",
5,
0,
200/35,
"misc/chat2",
"D_VICTOR",
"$MUSIC_VICTOR",
"FLOOR4_8",
"HELP2",
"VICTORY2",
@ -314,12 +314,12 @@ gameinfo_t Chex3GameInfo =
"TITLEPIC",
"ENDPIC",
"VICTORY2",
"D_INTRO",
"$MUSIC_INTRO",
5,
0,
200/35,
"misc/chat2",
"D_VICTOR",
"$MUSIC_VICTOR",
"ENDPIC01",
"CREDIT",
"CREDIT",
@ -348,12 +348,12 @@ gameinfo_t RetailGameInfo =
"TITLEPIC",
"CREDIT",
"CREDIT",
"D_INTRO",
"$MUSIC_INTRO",
5,
0,
200/35,
"misc/chat2",
"D_VICTOR",
"$MUSIC_VICTOR",
"FLOOR4_8",
"CREDIT",
"VICTORY2",
@ -382,12 +382,12 @@ gameinfo_t CommercialGameInfo =
"TITLEPIC",
"CREDIT",
"CREDIT",
"D_DM2TTL",
"$MUSIC_DM2TTL",
11,
0,
200/35,
"misc/chat",
"D_READ_M",
"$MUSIC_READ_M",
"SLIME16",
"CREDIT",
"CREDIT",
@ -416,12 +416,12 @@ gameinfo_t PlutoniaGameInfo =
"TITLEPIC",
"CREDIT",
"CREDIT",
"D_DM2TTL",
"$MUSIC_DM2TTL",
11,
0,
200/35,
"misc/chat",
"D_READ_M",
"$MUSIC_READ_M",
"SLIME16",
"CREDIT",
"CREDIT",
@ -450,12 +450,12 @@ gameinfo_t TNTGameInfo =
"TITLEPIC",
"CREDIT",
"CREDIT",
"D_DM2TTL",
"$MUSIC_DM2TTL",
11,
0,
200/35,
"misc/chat",
"D_READ_M",
"$MUSIC_READ_M",
"SLIME16",
"CREDIT",
"CREDIT",

View File

@ -89,12 +89,12 @@ typedef struct
char titlePage[9];
char creditPage1[9];
char creditPage2[9];
char titleMusic[9];
char titleMusic[16];
float titleTime;
float advisoryTime;
float pageTime;
char chatSound[16];
char finaleMusic[9];
char finaleMusic[16];
char finaleFlat[9];
char finalePage1[9];
char finalePage2[9];

View File

@ -494,6 +494,7 @@ int S_AddSoundLump (const char *logicalname, int lump)
newsfx.Volume = 1;
newsfx.PitchMask = CurrentPitchMask;
newsfx.NearLimit = 2;
newsfx.LimitRange = 256*256;
newsfx.bRandomHeader = false;
newsfx.bPlayerReserve = false;
newsfx.bForce11025 = false;
@ -584,7 +585,11 @@ static int S_AddSound (const char *logicalname, int lumpnum, FScanner *sc)
sfx->bRandomHeader = false;
sfx->link = sfxinfo_t::NO_LINK;
sfx->bTentative = false;
if (sfx->NearLimit == -1) sfx->NearLimit = 2;
if (sfx->NearLimit == -1)
{
sfx->NearLimit = 2;
sfx->LimitRange = 256*256;
}
//sfx->PitchMask = CurrentPitchMask;
}
else
@ -1154,13 +1159,17 @@ static void S_AddSNDINFO (int lump)
break;
case SI_Limit: {
// $limit <logical name> <max channels>
// $limit <logical name> <max channels> [<distance>]
int sfx;
sc.MustGetString ();
sfx = S_FindSoundTentative (sc.String);
sc.MustGetNumber ();
S_sfx[sfx].NearLimit = MIN(MAX(sc.Number, 0), 255);
if (sc.CheckFloat())
{
S_sfx[sfx].LimitRange = sc.Float * sc.Float;
}
}
break;

View File

@ -99,7 +99,7 @@ extern float S_GetMusicVolume (const char *music);
// PRIVATE FUNCTION PROTOTYPES ---------------------------------------------
static bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit);
static bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit, float limit_range);
static bool S_IsChannelUsed(AActor *actor, int channel, int *seen);
static void S_ActivatePlayList(bool goBack);
static void CalcPosVel(FSoundChan *chan, FVector3 *pos, FVector3 *vel);
@ -868,6 +868,7 @@ static FSoundChan *S_StartSound(AActor *actor, const sector_t *sec, const FPolyO
// When resolving a link we do not want to get the NearLimit of
// the referenced sound so some additional checks are required
int near_limit = sfx->NearLimit;
float limit_range = sfx->LimitRange;
rolloff = &sfx->Rolloff;
// Resolve player sounds, random sounds, and aliases
@ -877,18 +878,27 @@ static FSoundChan *S_StartSound(AActor *actor, const sector_t *sec, const FPolyO
{
sound_id = FSoundID(S_FindSkinnedSound (actor, sound_id));
near_limit = S_sfx[sound_id].NearLimit;
limit_range = S_sfx[sound_id].LimitRange;
rolloff = &S_sfx[sound_id].Rolloff;
}
else if (sfx->bRandomHeader)
{
sound_id = FSoundID(S_PickReplacement (sound_id));
if (near_limit < 0) near_limit = S_sfx[sound_id].NearLimit;
if (near_limit < 0)
{
near_limit = S_sfx[sound_id].NearLimit;
limit_range = S_sfx[sound_id].LimitRange;
}
if (rolloff->MinDistance == 0) rolloff = &S_sfx[sound_id].Rolloff;
}
else
{
sound_id = FSoundID(sfx->link);
if (near_limit < 0) near_limit = S_sfx[sound_id].NearLimit;
if (near_limit < 0)
{
near_limit = S_sfx[sound_id].NearLimit;
limit_range = S_sfx[sound_id].LimitRange;
}
if (rolloff->MinDistance == 0) rolloff = &S_sfx[sound_id].Rolloff;
}
sfx = &S_sfx[sound_id];
@ -912,7 +922,7 @@ static FSoundChan *S_StartSound(AActor *actor, const sector_t *sec, const FPolyO
// If this sound doesn't like playing near itself, don't play it if
// that's what would happen.
if (near_limit > 0 && S_CheckSoundLimit(sfx, pos, near_limit))
if (near_limit > 0 && S_CheckSoundLimit(sfx, pos, near_limit, limit_range))
{
chanflags |= CHAN_EVICTED;
}
@ -1056,6 +1066,7 @@ static FSoundChan *S_StartSound(AActor *actor, const sector_t *sec, const FPolyO
chan->Volume = volume;
chan->ChanFlags |= chanflags;
chan->NearLimit = near_limit;
chan->LimitRange = limit_range;
chan->Pitch = pitch;
chan->Priority = basepriority;
chan->DistanceScale = attenuation;
@ -1117,7 +1128,7 @@ void S_RestartSound(FSoundChan *chan)
// If this sound doesn't like playing near itself, don't play it if
// that's what would happen.
if (chan->NearLimit > 0 && S_CheckSoundLimit(&S_sfx[chan->SoundID], pos, chan->NearLimit))
if (chan->NearLimit > 0 && S_CheckSoundLimit(&S_sfx[chan->SoundID], pos, chan->NearLimit, chan->LimitRange))
{
return;
}
@ -1326,7 +1337,7 @@ bool S_CheckSingular(int sound_id)
//
//==========================================================================
bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit)
bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit, float limit_range)
{
FSoundChan *chan;
int count;
@ -1338,7 +1349,7 @@ bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit)
FVector3 chanorigin;
CalcPosVel(chan, &chanorigin, NULL);
if ((chanorigin - pos).LengthSquared() <= 256.0*256.0)
if ((chanorigin - pos).LengthSquared() <= limit_range)
{
count++;
}
@ -2001,6 +2012,15 @@ static FArchive &operator<<(FArchive &arc, FSoundChan &chan)
<< chan.Rolloff.MinDistance
<< chan.Rolloff.MaxDistance;
if (SaveVersion >= 1416)
{
arc << chan.LimitRange;
}
else
{
chan.LimitRange = 256*256;
}
if (arc.IsLoading())
{
chan.SfxInfo = &S_sfx[chan.SoundID];
@ -2178,6 +2198,20 @@ bool S_ChangeMusic (const char *musicname, int order, bool looping, bool force)
return false;
}
FString DEH_Music;
if (musicname[0] == '$')
{
// handle dehacked replacement.
// Any music name defined this way needs to be prefixed with 'D_' because
// Doom.exe does not contain the prefix so these strings don't either.
const char * mus_string = GStrings[musicname+1];
if (mus_string != NULL)
{
DEH_Music << "D_" << mus_string;
musicname = DEH_Music;
}
}
if (!mus_playing.name.IsEmpty() && stricmp (mus_playing.name, musicname) == 0)
{
if (order != mus_playing.baseorder)

View File

@ -46,6 +46,7 @@ struct sfxinfo_t
BYTE PitchMask;
SWORD NearLimit; // 0 means unlimited
float LimitRange; // Range for sound limiting (squared for faster computations)
WORD bRandomHeader:1;
WORD bPlayerReserve:1;
@ -178,6 +179,7 @@ struct FSoundChan : public FISoundChannel
SBYTE Priority;
SWORD NearLimit;
BYTE SourceType;
float LimitRange;
union
{
AActor *Actor; // Used for position and velocity.

View File

@ -1895,9 +1895,9 @@ void WI_Ticker(void)
else if (gameinfo.gametype == GAME_Strife) // Strife also needs a default
S_ChangeMusic ("d_slide");
else if (gamemode == commercial)
S_ChangeMusic ("d_dm2int");
S_ChangeMusic ("$MUSIC_DM2INT");
else
S_ChangeMusic ("d_inter");
S_ChangeMusic ("$MUSIC_INTER");
}

View File

@ -1400,3 +1400,76 @@ OB_MPP_SPLASH = "%o was hit by %k's propulsor.";
OB_MPPHASEZORCH = "%o was phase zorched by %k.";
OB_MPLAZ_BOOM = "%o fell prey to %k's LAZ device.";
OB_MPLAZ_SPLASH = "%o was lazzed by %k.";
// Music names for Doom. These are needed in the string table only so that they can
// be replaced by Dehacked.
// Note that these names are not prefixed with 'd_' because that's how Dehacked patches
// expect them.
MUSIC_E1M1 = "e1m1";
MUSIC_E1M2 = "e1m2";
MUSIC_E1M3 = "e1m3";
MUSIC_E1M4 = "e1m4";
MUSIC_E1M5 = "e1m5";
MUSIC_E1M6 = "e1m6";
MUSIC_E1M7 = "e1m7";
MUSIC_E1M8 = "e1m8";
MUSIC_E1M9 = "e1m9";
MUSIC_E2M1 = "e2m1";
MUSIC_E2M2 = "e2m2";
MUSIC_E2M3 = "e2m3";
MUSIC_E2M4 = "e2m4";
MUSIC_E2M5 = "e2m5";
MUSIC_E2M6 = "e2m6";
MUSIC_E2M7 = "e2m7";
MUSIC_E2M8 = "e2m8";
MUSIC_E2M9 = "e2m9";
MUSIC_E3M1 = "e3m1";
MUSIC_E3M2 = "e3m2";
MUSIC_E3M3 = "e3m3";
MUSIC_E3M4 = "e3m4";
MUSIC_E3M5 = "e3m5";
MUSIC_E3M6 = "e3m6";
MUSIC_E3M7 = "e3m7";
MUSIC_E3M8 = "e3m8";
MUSIC_E3M9 = "e3m9";
MUSIC_INTER = "inter";
MUSIC_INTRO = "intro";
MUSIC_BUNNY = "bunny";
MUSIC_VICTOR = "victor";
MUSIC_INTROA = "introa";
MUSIC_RUNNIN = "runnin";
MUSIC_STALKS = "stalks";
MUSIC_COUNTD = "countd";
MUSIC_BETWEE = "betwee";
MUSIC_DOOM = "doom";
MUSIC_THE_DA = "the_da";
MUSIC_SHAWN = "shawn";
MUSIC_DDTBLU = "ddtblu";
MUSIC_IN_CIT = "in_cit";
MUSIC_DEAD = "dead";
MUSIC_STLKS2 = "stlks2";
MUSIC_THEDA2 = "theda2";
MUSIC_DOOM2 = "doom2";
MUSIC_DDTBL2 = "ddtbl2";
MUSIC_RUNNI2 = "runni2";
MUSIC_DEAD2 = "dead2";
MUSIC_STLKS3 = "stlks3";
MUSIC_ROMERO = "romero";
MUSIC_SHAWN2 = "shawn2";
MUSIC_MESSAG = "messag";
MUSIC_COUNT2 = "count2";
MUSIC_DDTBL3 = "ddtbl3";
MUSIC_AMPIE = "ampie";
MUSIC_THEDA3 = "theda3";
MUSIC_ADRIAN = "adrian";
MUSIC_MESSG2 = "messg2";
MUSIC_ROMER2 = "romer2";
MUSIC_TENSE = "tense";
MUSIC_SHAWN3 = "shawn3";
MUSIC_OPENIN = "openin";
MUSIC_EVIL = "evil";
MUSIC_ULTIMA = "ultima";
MUSIC_READ_M = "read_m";
MUSIC_DM2TTL = "dm2ttl";
MUSIC_DM2INT = "dm2int";

View File

@ -50,7 +50,7 @@ sky1 SKY1 0
cluster 1
par 30
sucktime 1
music D_E1M1
music $MUSIC_E1M1
map E1M2 lookup CHUSTR_E1M2
levelnum 2
@ -61,7 +61,7 @@ sky1 SKY1 0
cluster 1
par 75
sucktime 1
music D_E1M2
music $MUSIC_E1M2
map E1M3 lookup CHUSTR_E1M3
levelnum 3
@ -72,7 +72,7 @@ sky1 SKY1 0
cluster 1
par 120
sucktime 1
music D_E1M3
music $MUSIC_E1M3
map E1M4 lookup CHUSTR_E1M4
levelnum 4
@ -83,7 +83,7 @@ sky1 SKY1 0
cluster 1
par 90
sucktime 1
music D_E1M4
music $MUSIC_E1M4
map E1M5 lookup CHUSTR_E1M5
levelnum 5
@ -94,28 +94,28 @@ sky1 SKY1 0
cluster 1
par 165
sucktime 1
music D_E1M5
music $MUSIC_E1M5
// Clusters (correspond with same-numbered episode)
clusterdef 1
flat FLOOR4_8
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup CE1TEXT
clusterdef 2
flat SFLR6_1
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup CE2TEXT
clusterdef 3
flat MFLR8_4
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup CE3TEXT
clusterdef 4
flat MFLR8_3
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup CE4TEXT

View File

@ -30,7 +30,7 @@ sky1 SKY1 0
cluster 1
par 30
sucktime 1
music D_E1M1
music $MUSIC_E1M1
map E1M2 lookup HUSTR_E1M2
levelnum 2
@ -41,7 +41,7 @@ sky1 SKY1 0
cluster 1
par 75
sucktime 1
music D_E1M2
music $MUSIC_E1M2
map E1M3 lookup HUSTR_E1M3
levelnum 3
@ -52,7 +52,7 @@ sky1 SKY1 0
cluster 1
par 120
sucktime 1
music D_E1M3
music $MUSIC_E1M3
map E1M4 lookup HUSTR_E1M4
levelnum 4
@ -63,7 +63,7 @@ sky1 SKY1 0
cluster 1
par 90
sucktime 1
music D_E1M4
music $MUSIC_E1M4
map E1M5 lookup HUSTR_E1M5
levelnum 5
@ -74,7 +74,7 @@ sky1 SKY1 0
cluster 1
par 165
sucktime 1
music D_E1M5
music $MUSIC_E1M5
map E1M6 lookup HUSTR_E1M6
levelnum 6
@ -85,7 +85,7 @@ sky1 SKY1 0
cluster 1
par 180
sucktime 1
music D_E1M6
music $MUSIC_E1M6
map E1M7 lookup HUSTR_E1M7
levelnum 7
@ -96,7 +96,7 @@ sky1 SKY1 0
cluster 1
par 180
sucktime 1
music D_E1M7
music $MUSIC_E1M7
map E1M8 lookup HUSTR_E1M8
levelnum 8
@ -111,7 +111,7 @@ nosoundclipping
baronspecial
specialaction_lowerfloor
sucktime 1
music D_E1M8
music $MUSIC_E1M8
map E1M9 lookup HUSTR_E1M9
levelnum 9
@ -122,7 +122,7 @@ sky1 SKY1 0
cluster 1
par 165
sucktime 1
music D_E1M9
music $MUSIC_E1M9
// Registered/Retail Episode 2
@ -135,7 +135,7 @@ sky1 SKY2 0
cluster 2
par 90
sucktime 1
music D_E2M1
music $MUSIC_E2M1
map E2M2 lookup HUSTR_E2M2
levelnum 12
@ -146,7 +146,7 @@ sky1 SKY2 0
cluster 2
par 90
sucktime 1
music D_E2M2
music $MUSIC_E2M2
map E2M3 lookup HUSTR_E2M3
levelnum 13
@ -157,7 +157,7 @@ sky1 SKY2 0
cluster 2
par 90
sucktime 1
music D_E2M3
music $MUSIC_E2M3
map E2M4 lookup HUSTR_E2M4
levelnum 14
@ -168,7 +168,7 @@ sky1 SKY2 0
cluster 2
par 120
sucktime 1
music D_E2M4
music $MUSIC_E2M4
map E2M5 lookup HUSTR_E2M5
levelnum 15
@ -179,7 +179,7 @@ sky1 SKY2 0
cluster 2
par 90
sucktime 1
music D_E2M5
music $MUSIC_E2M5
map E2M6 lookup HUSTR_E2M6
levelnum 16
@ -190,7 +190,7 @@ sky1 SKY2 0
cluster 2
par 360
sucktime 1
music D_E2M6
music $MUSIC_E2M6
map E2M7 lookup HUSTR_E2M7
levelnum 17
@ -201,7 +201,7 @@ sky1 SKY2 0
cluster 2
par 240
sucktime 1
music D_E2M7
music $MUSIC_E2M7
map E2M8 lookup HUSTR_E2M8
levelnum 18
@ -216,7 +216,7 @@ nosoundclipping
cyberdemonspecial
specialaction_exitlevel
sucktime 1
music D_E2M8
music $MUSIC_E2M8
map E2M9 lookup HUSTR_E2M9
levelnum 19
@ -227,7 +227,7 @@ sky1 SKY2 0
cluster 2
par 170
sucktime 1
music D_E2M9
music $MUSIC_E2M9
// Registered/Retail Episode 3
@ -240,7 +240,7 @@ sky1 SKY3 0
cluster 3
par 90
sucktime 1
music D_E3M1
music $MUSIC_E3M1
map E3M2 lookup HUSTR_E3M2
levelnum 22
@ -251,7 +251,7 @@ sky1 SKY3 0
cluster 3
par 45
sucktime 1
music D_E3M2
music $MUSIC_E3M2
map E3M3 lookup HUSTR_E3M3
levelnum 23
@ -262,7 +262,7 @@ sky1 SKY3 0
cluster 3
par 90
sucktime 1
music D_E3M3
music $MUSIC_E3M3
map E3M4 lookup HUSTR_E3M4
levelnum 24
@ -273,7 +273,7 @@ sky1 SKY3 0
cluster 3
par 150
sucktime 1
music D_E3M4
music $MUSIC_E3M4
map E3M5 lookup HUSTR_E3M5
levelnum 25
@ -284,7 +284,7 @@ sky1 SKY3 0
cluster 3
par 90
sucktime 1
music D_E3M5
music $MUSIC_E3M5
map E3M6 lookup HUSTR_E3M6
levelnum 26
@ -295,7 +295,7 @@ sky1 SKY3 0
cluster 3
par 90
sucktime 1
music D_E3M6
music $MUSIC_E3M6
map E3M7 lookup HUSTR_E3M7
levelnum 27
@ -306,7 +306,7 @@ sky1 SKY3 0
cluster 3
par 165
sucktime 1
music D_E3M7
music $MUSIC_E3M7
map E3M8 lookup HUSTR_E3M8
levelnum 28
@ -321,7 +321,7 @@ nosoundclipping
spidermastermindspecial
specialaction_exitlevel
sucktime 1
music D_E3M8
music $MUSIC_E3M8
map E3M9 lookup HUSTR_E3M9
levelnum 29
@ -332,7 +332,7 @@ sky1 SKY3 0
cluster 3
par 135
sucktime 1
music D_E3M9
music $MUSIC_E3M9
// Retail Episode 4
@ -344,7 +344,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E3M4
music $MUSIC_E3M4
map E4M2 lookup HUSTR_E4M2
levelnum 32
@ -354,7 +354,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E3M2
music $MUSIC_E3M2
map E4M3 lookup HUSTR_E4M3
levelnum 33
@ -364,7 +364,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E3M3
music $MUSIC_E3M3
map E4M4 lookup HUSTR_E4M4
levelnum 34
@ -374,7 +374,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E1M5
music $MUSIC_E1M5
map E4M5 lookup HUSTR_E4M5
levelnum 35
@ -384,7 +384,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E2M7
music $MUSIC_E2M7
map E4M6 lookup HUSTR_E4M6
levelnum 36
@ -396,7 +396,7 @@ cluster 4
cyberdemonspecial
specialaction_opendoor
sucktime 1
music D_E2M4
music $MUSIC_E2M4
map E4M7 lookup HUSTR_E4M7
levelnum 37
@ -406,7 +406,7 @@ secretnext E4M9
sky1 SKY4 0
cluster 4
sucktime 1
music D_E2M6
music $MUSIC_E2M6
map E4M8 lookup HUSTR_E4M8
levelnum 38
@ -420,7 +420,7 @@ nosoundclipping
spidermastermindspecial
specialaction_lowerfloor
sucktime 1
music D_E2M5
music $MUSIC_E2M5
map E4M9 lookup HUSTR_E4M9
levelnum 39
@ -430,27 +430,27 @@ secretnext E4M3
sky1 SKY4 0
cluster 4
sucktime 1
music D_E1M9
music $MUSIC_E1M9
// Clusters (correspond with same-numbered episode)
clusterdef 1
flat FLOOR4_8
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup E1TEXT
clusterdef 2
flat SFLR6_1
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup E2TEXT
clusterdef 3
flat MFLR8_4
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup E3TEXT
clusterdef 4
flat MFLR8_3
music D_VICTOR
music $MUSIC_VICTOR
exittext lookup E4TEXT

View File

@ -14,7 +14,7 @@ sky1 SKY1 0
cluster 5
par 30
sucktime 1
music D_RUNNIN
music $MUSIC_RUNNIN
map MAP02 lookup HUSTR_2
titlepatch CWILV01
@ -24,7 +24,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_STALKS
music $MUSIC_STALKS
map MAP03 lookup HUSTR_3
titlepatch CWILV02
@ -34,7 +34,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_COUNTD
music $MUSIC_COUNTD
map MAP04 lookup HUSTR_4
titlepatch CWILV03
@ -44,7 +44,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_BETWEE
music $MUSIC_BETWEE
map MAP05 lookup HUSTR_5
titlepatch CWILV04
@ -54,7 +54,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_DOOM
music $MUSIC_DOOM
map MAP06 lookup HUSTR_6
titlepatch CWILV05
@ -64,7 +64,7 @@ sky1 SKY1 0
cluster 5
par 150
sucktime 1
music D_THE_DA
music $MUSIC_THE_DA
map MAP07 lookup HUSTR_7
titlepatch CWILV06
@ -75,7 +75,7 @@ cluster 6
par 120
map07special
sucktime 1
music D_SHAWN
music $MUSIC_SHAWN
map MAP08 lookup HUSTR_8
titlepatch CWILV07
@ -85,7 +85,7 @@ sky1 SKY1 0
cluster 6
par 120
sucktime 1
music D_DDTBLU
music $MUSIC_DDTBLU
map MAP09 lookup HUSTR_9
titlepatch CWILV08
@ -95,7 +95,7 @@ sky1 SKY1 0
cluster 6
par 270
sucktime 1
music D_IN_CIT
music $MUSIC_IN_CIT
map MAP10 lookup HUSTR_10
titlepatch CWILV09
@ -105,7 +105,7 @@ sky1 SKY1 0
cluster 6
par 90
sucktime 1
music D_DEAD
music $MUSIC_DEAD
map MAP11 lookup HUSTR_11
titlepatch CWILV10
@ -115,7 +115,7 @@ sky1 SKY1 0
cluster 6
par 210
sucktime 1
music D_STLKS2
music $MUSIC_STLKS2
map MAP12 lookup HUSTR_12
titlepatch CWILV11
@ -125,7 +125,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_THEDA2
music $MUSIC_THEDA2
map MAP13 lookup HUSTR_13
titlepatch CWILV12
@ -135,7 +135,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DOOM2
music $MUSIC_DOOM2
map MAP14 lookup HUSTR_14
titlepatch CWILV13
@ -145,7 +145,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DDTBL2
music $MUSIC_DDTBL2
map MAP15 lookup HUSTR_15
titlepatch CWILV14
@ -155,7 +155,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_RUNNI2
music $MUSIC_RUNNI2
map MAP16 lookup HUSTR_16
titlepatch CWILV15
@ -165,7 +165,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DEAD2
music $MUSIC_DEAD2
map MAP17 lookup HUSTR_17
titlepatch CWILV16
@ -175,7 +175,7 @@ sky1 SKY2 0
cluster 7
par 420
sucktime 1
music D_STLKS3
music $MUSIC_STLKS3
map MAP18 lookup HUSTR_18
titlepatch CWILV17
@ -185,7 +185,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_ROMERO
music $MUSIC_ROMERO
map MAP19 lookup HUSTR_19
titlepatch CWILV18
@ -195,7 +195,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_SHAWN2
music $MUSIC_SHAWN2
map MAP20 lookup HUSTR_20
titlepatch CWILV19
@ -205,7 +205,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_MESSAG
music $MUSIC_MESSAG
map MAP21 lookup HUSTR_21
titlepatch CWILV20
@ -215,7 +215,7 @@ sky1 SKY3 0
cluster 8
par 240
sucktime 1
music D_COUNT2
music $MUSIC_COUNT2
map MAP22 lookup HUSTR_22
titlepatch CWILV21
@ -225,7 +225,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_DDTBL3
music $MUSIC_DDTBL3
map MAP23 lookup HUSTR_23
titlepatch CWILV22
@ -235,7 +235,7 @@ sky1 SKY3 0
cluster 8
par 180
sucktime 1
music D_AMPIE
music $MUSIC_AMPIE
map MAP24 lookup HUSTR_24
titlepatch CWILV23
@ -245,7 +245,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_THEDA3
music $MUSIC_THEDA3
map MAP25 lookup HUSTR_25
titlepatch CWILV24
@ -255,7 +255,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_ADRIAN
music $MUSIC_ADRIAN
map MAP26 lookup HUSTR_26
titlepatch CWILV25
@ -265,7 +265,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_MESSG2
music $MUSIC_MESSG2
map MAP27 lookup HUSTR_27
titlepatch CWILV26
@ -275,7 +275,7 @@ sky1 SKY3 0
cluster 8
par 330
sucktime 1
music D_ROMER2
music $MUSIC_ROMER2
map MAP28 lookup HUSTR_28
titlepatch CWILV27
@ -285,7 +285,7 @@ sky1 SKY3 0
cluster 8
par 420
sucktime 1
music D_TENSE
music $MUSIC_TENSE
map MAP29 lookup HUSTR_29
titlepatch CWILV28
@ -295,7 +295,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_SHAWN3
music $MUSIC_SHAWN3
map MAP30 lookup HUSTR_30
titlepatch CWILV29
@ -306,7 +306,7 @@ cluster 8
par 180
allowmonstertelefrags
sucktime 1
music D_OPENIN
music $MUSIC_OPENIN
map MAP31 lookup HUSTR_31
titlepatch CWILV30
@ -316,7 +316,7 @@ sky1 SKY3 0
cluster 9
par 120
sucktime 1
music D_EVIL
music $MUSIC_EVIL
map MAP32 lookup HUSTR_32
titlepatch CWILV31
@ -326,40 +326,40 @@ sky1 SKY3 0
cluster 10
par 30
sucktime 1
music D_ULTIMA
music $MUSIC_ULTIMA
// DOOM II first cluster (up thru level 6)
clusterdef 5
flat SLIME16
music D_READ_M
music $MUSIC_READ_M
exittext lookup C1TEXT
// DOOM II second cluster (up thru level 11)
clusterdef 6
flat RROCK14
music D_READ_M
music $MUSIC_READ_M
exittext lookup C2TEXT
// DOOM II third cluster (up thru level 20)
clusterdef 7
flat RROCK07
music D_READ_M
music $MUSIC_READ_M
exittext lookup C3TEXT
// DOOM II fourth cluster (up thru level 30)
clusterdef 8
flat RROCK17
music D_READ_M
music $MUSIC_READ_M
exittext lookup C4TEXT
// DOOM II fifth cluster (level 31)
clusterdef 9
flat RROCK13
music D_READ_M
music $MUSIC_READ_M
entertext lookup C5TEXT
// DOOM II sixth cluster (level 32)
clusterdef 10
flat RROCK19
music D_READ_M
music $MUSIC_READ_M
entertext lookup C6TEXT

View File

@ -14,7 +14,7 @@ sky1 SKY1 0
cluster 5
par 30
sucktime 1
music D_RUNNIN
music $MUSIC_RUNNIN
map MAP02 lookup PHUSTR_2
titlepatch CWILV01
@ -24,7 +24,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_STALKS
music $MUSIC_STALKS
map MAP03 lookup PHUSTR_3
titlepatch CWILV02
@ -34,7 +34,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_COUNTD
music $MUSIC_COUNTD
map MAP04 lookup PHUSTR_4
titlepatch CWILV03
@ -44,7 +44,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_BETWEE
music $MUSIC_BETWEE
map MAP05 lookup PHUSTR_5
titlepatch CWILV04
@ -54,7 +54,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_DOOM
music $MUSIC_DOOM
map MAP06 lookup PHUSTR_6
titlepatch CWILV05
@ -64,7 +64,7 @@ sky1 SKY1 0
cluster 5
par 150
sucktime 1
music D_THE_DA
music $MUSIC_THE_DA
map MAP07 lookup PHUSTR_7
titlepatch CWILV06
@ -75,7 +75,7 @@ cluster 6
par 120
sucktime 1
map07special
music D_SHAWN
music $MUSIC_SHAWN
map MAP08 lookup PHUSTR_8
titlepatch CWILV07
@ -85,7 +85,7 @@ sky1 SKY1 0
cluster 6
par 120
sucktime 1
music D_DDTBLU
music $MUSIC_DDTBLU
map MAP09 lookup PHUSTR_9
titlepatch CWILV08
@ -95,7 +95,7 @@ sky1 SKY1 0
cluster 6
par 270
sucktime 1
music D_IN_CIT
music $MUSIC_IN_CIT
map MAP10 lookup PHUSTR_10
titlepatch CWILV09
@ -105,7 +105,7 @@ sky1 SKY1 0
cluster 6
par 90
sucktime 1
music D_DEAD
music $MUSIC_DEAD
map MAP11 lookup PHUSTR_11
titlepatch CWILV10
@ -115,7 +115,7 @@ sky1 SKY1 0
cluster 6
par 210
sucktime 1
music D_STLKS2
music $MUSIC_STLKS2
map MAP12 lookup PHUSTR_12
titlepatch CWILV11
@ -125,7 +125,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_THEDA2
music $MUSIC_THEDA2
map MAP13 lookup PHUSTR_13
titlepatch CWILV12
@ -135,7 +135,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DOOM2
music $MUSIC_DOOM2
map MAP14 lookup PHUSTR_14
titlepatch CWILV13
@ -145,7 +145,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DDTBL2
music $MUSIC_DDTBL2
map MAP15 lookup PHUSTR_15
titlepatch CWILV14
@ -155,7 +155,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_RUNNI2
music $MUSIC_RUNNI2
map MAP16 lookup PHUSTR_16
titlepatch CWILV15
@ -165,7 +165,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DEAD2
music $MUSIC_DEAD2
map MAP17 lookup PHUSTR_17
titlepatch CWILV16
@ -175,7 +175,7 @@ sky1 SKY2 0
cluster 7
par 420
sucktime 1
music D_STLKS3
music $MUSIC_STLKS3
map MAP18 lookup PHUSTR_18
titlepatch CWILV17
@ -185,7 +185,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_ROMERO
music $MUSIC_ROMERO
map MAP19 lookup PHUSTR_19
titlepatch CWILV18
@ -195,7 +195,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_SHAWN2
music $MUSIC_SHAWN2
map MAP20 lookup PHUSTR_20
titlepatch CWILV19
@ -205,7 +205,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_MESSAG
music $MUSIC_MESSAG
map MAP21 lookup PHUSTR_21
titlepatch CWILV20
@ -215,7 +215,7 @@ sky1 SKY3 0
cluster 8
par 240
sucktime 1
music D_COUNT2
music $MUSIC_COUNT2
map MAP22 lookup PHUSTR_22
titlepatch CWILV21
@ -225,7 +225,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_DDTBL3
music $MUSIC_DDTBL3
map MAP23 lookup PHUSTR_23
titlepatch CWILV22
@ -235,7 +235,7 @@ sky1 SKY3 0
cluster 8
par 180
sucktime 1
music D_AMPIE
music $MUSIC_AMPIE
map MAP24 lookup PHUSTR_24
titlepatch CWILV23
@ -245,7 +245,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_THEDA3
music $MUSIC_THEDA3
map MAP25 lookup PHUSTR_25
titlepatch CWILV24
@ -255,7 +255,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_ADRIAN
music $MUSIC_ADRIAN
map MAP26 lookup PHUSTR_26
titlepatch CWILV25
@ -265,7 +265,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_MESSG2
music $MUSIC_MESSG2
map MAP27 lookup PHUSTR_27
titlepatch CWILV26
@ -275,7 +275,7 @@ sky1 SKY3 0
cluster 8
par 330
sucktime 1
music D_ROMER2
music $MUSIC_ROMER2
map MAP28 lookup PHUSTR_28
titlepatch CWILV27
@ -285,7 +285,7 @@ sky1 SKY3 0
cluster 8
par 420
sucktime 1
music D_TENSE
music $MUSIC_TENSE
map MAP29 lookup PHUSTR_29
titlepatch CWILV28
@ -295,7 +295,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_SHAWN3
music $MUSIC_SHAWN3
map MAP30 lookup PHUSTR_30
titlepatch CWILV29
@ -306,7 +306,7 @@ cluster 8
par 180
sucktime 1
allowmonstertelefrags
music D_OPENIN
music $MUSIC_OPENIN
map MAP31 lookup PHUSTR_31
titlepatch CWILV30
@ -316,7 +316,7 @@ sky1 SKY3 0
cluster 9
par 120
sucktime 1
music D_EVIL
music $MUSIC_EVIL
map MAP32 lookup PHUSTR_32
titlepatch CWILV31
@ -326,40 +326,40 @@ sky1 SKY3 0
cluster 10
par 30
sucktime 1
music D_ULTIMA
music $MUSIC_ULTIMA
// DOOM II first cluster (up thru level 6)
clusterdef 5
flat SLIME16
music D_READ_M
music $MUSIC_READ_M
exittext lookup P1TEXT
// DOOM II second cluster (up thru level 11)
clusterdef 6
flat RROCK14
music D_READ_M
music $MUSIC_READ_M
exittext lookup P2TEXT
// DOOM II third cluster (up thru level 20)
clusterdef 7
flat RROCK07
music D_READ_M
music $MUSIC_READ_M
exittext lookup P3TEXT
// DOOM II fourth cluster (up thru level 30)
clusterdef 8
flat RROCK17
music D_READ_M
music $MUSIC_READ_M
exittext lookup P4TEXT
// DOOM II fifth cluster (level 31)
clusterdef 9
flat RROCK13
music D_READ_M
music $MUSIC_READ_M
entertext lookup P5TEXT
// DOOM II sixth cluster (level 32)
clusterdef 10
flat RROCK19
music D_READ_M
music $MUSIC_READ_M
entertext lookup P6TEXT

View File

@ -14,7 +14,7 @@ sky1 SKY1 0
cluster 5
par 30
sucktime 1
music D_RUNNIN
music $MUSIC_RUNNIN
map MAP02 lookup THUSTR_2
titlepatch CWILV01
@ -24,7 +24,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_STALKS
music $MUSIC_STALKS
map MAP03 lookup THUSTR_3
titlepatch CWILV02
@ -34,7 +34,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_COUNTD
music $MUSIC_COUNTD
map MAP04 lookup THUSTR_4
titlepatch CWILV03
@ -44,7 +44,7 @@ sky1 SKY1 0
cluster 5
par 120
sucktime 1
music D_BETWEE
music $MUSIC_BETWEE
map MAP05 lookup THUSTR_5
titlepatch CWILV04
@ -54,7 +54,7 @@ sky1 SKY1 0
cluster 5
par 90
sucktime 1
music D_DOOM
music $MUSIC_DOOM
map MAP06 lookup THUSTR_6
titlepatch CWILV05
@ -64,7 +64,7 @@ sky1 SKY1 0
cluster 5
par 150
sucktime 1
music D_THE_DA
music $MUSIC_THE_DA
map MAP07 lookup THUSTR_7
titlepatch CWILV06
@ -75,7 +75,7 @@ cluster 6
par 120
sucktime 1
map07special
music D_SHAWN
music $MUSIC_SHAWN
map MAP08 lookup THUSTR_8
titlepatch CWILV07
@ -85,7 +85,7 @@ sky1 SKY1 0
cluster 6
par 120
sucktime 1
music D_DDTBLU
music $MUSIC_DDTBLU
map MAP09 lookup THUSTR_9
titlepatch CWILV08
@ -95,7 +95,7 @@ sky1 SKY1 0
cluster 6
par 270
sucktime 1
music D_IN_CIT
music $MUSIC_IN_CIT
map MAP10 lookup THUSTR_10
titlepatch CWILV09
@ -105,7 +105,7 @@ sky1 SKY1 0
cluster 6
par 90
sucktime 1
music D_DEAD
music $MUSIC_DEAD
map MAP11 lookup THUSTR_11
titlepatch CWILV10
@ -115,7 +115,7 @@ sky1 SKY1 0
cluster 6
par 210
sucktime 1
music D_STLKS2
music $MUSIC_STLKS2
map MAP12 lookup THUSTR_12
titlepatch CWILV11
@ -125,7 +125,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_THEDA2
music $MUSIC_THEDA2
map MAP13 lookup THUSTR_13
titlepatch CWILV12
@ -135,7 +135,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DOOM2
music $MUSIC_DOOM2
map MAP14 lookup THUSTR_14
titlepatch CWILV13
@ -145,7 +145,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DDTBL2
music $MUSIC_DDTBL2
map MAP15 lookup THUSTR_15
titlepatch CWILV14
@ -155,7 +155,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_RUNNI2
music $MUSIC_RUNNI2
map MAP16 lookup THUSTR_16
titlepatch CWILV15
@ -165,7 +165,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_DEAD2
music $MUSIC_DEAD2
map MAP17 lookup THUSTR_17
titlepatch CWILV16
@ -175,7 +175,7 @@ sky1 SKY2 0
cluster 7
par 420
sucktime 1
music D_STLKS3
music $MUSIC_STLKS3
map MAP18 lookup THUSTR_18
titlepatch CWILV17
@ -185,7 +185,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_ROMERO
music $MUSIC_ROMERO
map MAP19 lookup THUSTR_19
titlepatch CWILV18
@ -195,7 +195,7 @@ sky1 SKY2 0
cluster 7
par 210
sucktime 1
music D_SHAWN2
music $MUSIC_SHAWN2
map MAP20 lookup THUSTR_20
titlepatch CWILV19
@ -205,7 +205,7 @@ sky1 SKY2 0
cluster 7
par 150
sucktime 1
music D_MESSAG
music $MUSIC_MESSAG
map MAP21 lookup THUSTR_21
titlepatch CWILV20
@ -215,7 +215,7 @@ sky1 SKY3 0
cluster 8
par 240
sucktime 1
music D_COUNT2
music $MUSIC_COUNT2
map MAP22 lookup THUSTR_22
titlepatch CWILV21
@ -225,7 +225,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_DDTBL3
music $MUSIC_DDTBL3
map MAP23 lookup THUSTR_23
titlepatch CWILV22
@ -235,7 +235,7 @@ sky1 SKY3 0
cluster 8
par 180
sucktime 1
music D_AMPIE
music $MUSIC_AMPIE
map MAP24 lookup THUSTR_24
titlepatch CWILV23
@ -245,7 +245,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_THEDA3
music $MUSIC_THEDA3
map MAP25 lookup THUSTR_25
titlepatch CWILV24
@ -255,7 +255,7 @@ sky1 SKY3 0
cluster 8
par 150
sucktime 1
music D_ADRIAN
music $MUSIC_ADRIAN
map MAP26 lookup THUSTR_26
titlepatch CWILV25
@ -265,7 +265,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_MESSG2
music $MUSIC_MESSG2
map MAP27 lookup THUSTR_27
titlepatch CWILV26
@ -275,7 +275,7 @@ sky1 SKY3 0
cluster 8
par 330
sucktime 1
music D_ROMER2
music $MUSIC_ROMER2
map MAP28 lookup THUSTR_28
titlepatch CWILV27
@ -285,7 +285,7 @@ sky1 SKY3 0
cluster 8
par 420
sucktime 1
music D_TENSE
music $MUSIC_TENSE
map MAP29 lookup THUSTR_29
titlepatch CWILV28
@ -295,7 +295,7 @@ sky1 SKY3 0
cluster 8
par 300
sucktime 1
music D_SHAWN3
music $MUSIC_SHAWN3
map MAP30 lookup THUSTR_30
titlepatch CWILV29
@ -306,7 +306,7 @@ cluster 8
par 180
sucktime 1
allowmonstertelefrags
music D_OPENIN
music $MUSIC_OPENIN
map MAP31 lookup THUSTR_31
titlepatch CWILV30
@ -316,7 +316,7 @@ sky1 SKY3 0
cluster 9
par 120
sucktime 1
music D_EVIL
music $MUSIC_EVIL
map MAP32 lookup THUSTR_32
titlepatch CWILV31
@ -326,40 +326,40 @@ sky1 SKY3 0
cluster 10
par 30
sucktime 1
music D_ULTIMA
music $MUSIC_ULTIMA
// DOOM II first cluster (up thru level 6)
clusterdef 5
flat SLIME16
music D_READ_M
music $MUSIC_READ_M
exittext lookup T1TEXT
// DOOM II second cluster (up thru level 11)
clusterdef 6
flat RROCK14
music D_READ_M
music $MUSIC_READ_M
exittext lookup T2TEXT
// DOOM II third cluster (up thru level 20)
clusterdef 7
flat RROCK07
music D_READ_M
music $MUSIC_READ_M
exittext lookup T3TEXT
// DOOM II fourth cluster (up thru level 30)
clusterdef 8
flat RROCK17
music D_READ_M
music $MUSIC_READ_M
exittext lookup T4TEXT
// DOOM II fifth cluster (level 31)
clusterdef 9
flat RROCK13
music D_READ_M
music $MUSIC_READ_M
entertext lookup T5TEXT
// DOOM II sixth cluster (level 32)
clusterdef 10
flat RROCK19
music D_READ_M
music $MUSIC_READ_M
entertext lookup T6TEXT