- 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 February 7, 2009
- Added GUICapture mouse events for Win32. - Added GUICapture mouse events for Win32.
- Changed I_GetFromClipboard() to return an FString. - Changed I_GetFromClipboard() to return an FString.

View file

@ -313,6 +313,7 @@ static int PatchText (int);
static int PatchStrings (int); static int PatchStrings (int);
static int PatchPars (int); static int PatchPars (int);
static int PatchCodePtrs (int); static int PatchCodePtrs (int);
static int PatchMusic (int);
static int DoInclude (int); static int DoInclude (int);
static const struct { static const struct {
@ -335,6 +336,7 @@ static const struct {
{ "[STRINGS]", PatchStrings }, { "[STRINGS]", PatchStrings },
{ "[PARS]", PatchPars }, { "[PARS]", PatchPars },
{ "[CODEPTR]", PatchCodePtrs }, { "[CODEPTR]", PatchCodePtrs },
{ "[MUSIC]", PatchMusic },
{ NULL, }, { NULL, },
}; };
@ -1848,6 +1850,26 @@ static int PatchCodePtrs (int dummy)
return result; 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) static int PatchText (int oldSize)
{ {
int newSize; 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) if (good)
goto donewithtext; goto donewithtext;

View file

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

View file

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

View file

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

View file

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

View file

@ -99,7 +99,7 @@ extern float S_GetMusicVolume (const char *music);
// PRIVATE FUNCTION PROTOTYPES --------------------------------------------- // 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 bool S_IsChannelUsed(AActor *actor, int channel, int *seen);
static void S_ActivatePlayList(bool goBack); static void S_ActivatePlayList(bool goBack);
static void CalcPosVel(FSoundChan *chan, FVector3 *pos, FVector3 *vel); 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 // When resolving a link we do not want to get the NearLimit of
// the referenced sound so some additional checks are required // the referenced sound so some additional checks are required
int near_limit = sfx->NearLimit; int near_limit = sfx->NearLimit;
float limit_range = sfx->LimitRange;
rolloff = &sfx->Rolloff; rolloff = &sfx->Rolloff;
// Resolve player sounds, random sounds, and aliases // 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)); sound_id = FSoundID(S_FindSkinnedSound (actor, sound_id));
near_limit = S_sfx[sound_id].NearLimit; near_limit = S_sfx[sound_id].NearLimit;
limit_range = S_sfx[sound_id].LimitRange;
rolloff = &S_sfx[sound_id].Rolloff; rolloff = &S_sfx[sound_id].Rolloff;
} }
else if (sfx->bRandomHeader) else if (sfx->bRandomHeader)
{ {
sound_id = FSoundID(S_PickReplacement (sound_id)); 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; if (rolloff->MinDistance == 0) rolloff = &S_sfx[sound_id].Rolloff;
} }
else else
{ {
sound_id = FSoundID(sfx->link); 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; if (rolloff->MinDistance == 0) rolloff = &S_sfx[sound_id].Rolloff;
} }
sfx = &S_sfx[sound_id]; 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 // If this sound doesn't like playing near itself, don't play it if
// that's what would happen. // 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; chanflags |= CHAN_EVICTED;
} }
@ -1056,6 +1066,7 @@ static FSoundChan *S_StartSound(AActor *actor, const sector_t *sec, const FPolyO
chan->Volume = volume; chan->Volume = volume;
chan->ChanFlags |= chanflags; chan->ChanFlags |= chanflags;
chan->NearLimit = near_limit; chan->NearLimit = near_limit;
chan->LimitRange = limit_range;
chan->Pitch = pitch; chan->Pitch = pitch;
chan->Priority = basepriority; chan->Priority = basepriority;
chan->DistanceScale = attenuation; 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 // If this sound doesn't like playing near itself, don't play it if
// that's what would happen. // 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; 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; FSoundChan *chan;
int count; int count;
@ -1338,7 +1349,7 @@ bool S_CheckSoundLimit(sfxinfo_t *sfx, const FVector3 &pos, int near_limit)
FVector3 chanorigin; FVector3 chanorigin;
CalcPosVel(chan, &chanorigin, NULL); CalcPosVel(chan, &chanorigin, NULL);
if ((chanorigin - pos).LengthSquared() <= 256.0*256.0) if ((chanorigin - pos).LengthSquared() <= limit_range)
{ {
count++; count++;
} }
@ -2001,6 +2012,15 @@ static FArchive &operator<<(FArchive &arc, FSoundChan &chan)
<< chan.Rolloff.MinDistance << chan.Rolloff.MinDistance
<< chan.Rolloff.MaxDistance; << chan.Rolloff.MaxDistance;
if (SaveVersion >= 1416)
{
arc << chan.LimitRange;
}
else
{
chan.LimitRange = 256*256;
}
if (arc.IsLoading()) if (arc.IsLoading())
{ {
chan.SfxInfo = &S_sfx[chan.SoundID]; chan.SfxInfo = &S_sfx[chan.SoundID];
@ -2177,7 +2197,21 @@ bool S_ChangeMusic (const char *musicname, int order, bool looping, bool force)
S_StopMusic (true); S_StopMusic (true);
return false; 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 (!mus_playing.name.IsEmpty() && stricmp (mus_playing.name, musicname) == 0)
{ {
if (order != mus_playing.baseorder) if (order != mus_playing.baseorder)

View file

@ -46,6 +46,7 @@ struct sfxinfo_t
BYTE PitchMask; BYTE PitchMask;
SWORD NearLimit; // 0 means unlimited SWORD NearLimit; // 0 means unlimited
float LimitRange; // Range for sound limiting (squared for faster computations)
WORD bRandomHeader:1; WORD bRandomHeader:1;
WORD bPlayerReserve:1; WORD bPlayerReserve:1;
@ -178,6 +179,7 @@ struct FSoundChan : public FISoundChannel
SBYTE Priority; SBYTE Priority;
SWORD NearLimit; SWORD NearLimit;
BYTE SourceType; BYTE SourceType;
float LimitRange;
union union
{ {
AActor *Actor; // Used for position and velocity. 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 else if (gameinfo.gametype == GAME_Strife) // Strife also needs a default
S_ChangeMusic ("d_slide"); S_ChangeMusic ("d_slide");
else if (gamemode == commercial) else if (gamemode == commercial)
S_ChangeMusic ("d_dm2int"); S_ChangeMusic ("$MUSIC_DM2INT");
else 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_MPPHASEZORCH = "%o was phase zorched by %k.";
OB_MPLAZ_BOOM = "%o fell prey to %k's LAZ device."; OB_MPLAZ_BOOM = "%o fell prey to %k's LAZ device.";
OB_MPLAZ_SPLASH = "%o was lazzed by %k."; 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 cluster 1
par 30 par 30
sucktime 1 sucktime 1
music D_E1M1 music $MUSIC_E1M1
map E1M2 lookup CHUSTR_E1M2 map E1M2 lookup CHUSTR_E1M2
levelnum 2 levelnum 2
@ -61,7 +61,7 @@ sky1 SKY1 0
cluster 1 cluster 1
par 75 par 75
sucktime 1 sucktime 1
music D_E1M2 music $MUSIC_E1M2
map E1M3 lookup CHUSTR_E1M3 map E1M3 lookup CHUSTR_E1M3
levelnum 3 levelnum 3
@ -72,7 +72,7 @@ sky1 SKY1 0
cluster 1 cluster 1
par 120 par 120
sucktime 1 sucktime 1
music D_E1M3 music $MUSIC_E1M3
map E1M4 lookup CHUSTR_E1M4 map E1M4 lookup CHUSTR_E1M4
levelnum 4 levelnum 4
@ -83,7 +83,7 @@ sky1 SKY1 0
cluster 1 cluster 1
par 90 par 90
sucktime 1 sucktime 1
music D_E1M4 music $MUSIC_E1M4
map E1M5 lookup CHUSTR_E1M5 map E1M5 lookup CHUSTR_E1M5
levelnum 5 levelnum 5
@ -94,28 +94,28 @@ sky1 SKY1 0
cluster 1 cluster 1
par 165 par 165
sucktime 1 sucktime 1
music D_E1M5 music $MUSIC_E1M5
// Clusters (correspond with same-numbered episode) // Clusters (correspond with same-numbered episode)
clusterdef 1 clusterdef 1
flat FLOOR4_8 flat FLOOR4_8
music D_VICTOR music $MUSIC_VICTOR
exittext lookup CE1TEXT exittext lookup CE1TEXT
clusterdef 2 clusterdef 2
flat SFLR6_1 flat SFLR6_1
music D_VICTOR music $MUSIC_VICTOR
exittext lookup CE2TEXT exittext lookup CE2TEXT
clusterdef 3 clusterdef 3
flat MFLR8_4 flat MFLR8_4
music D_VICTOR music $MUSIC_VICTOR
exittext lookup CE3TEXT exittext lookup CE3TEXT
clusterdef 4 clusterdef 4
flat MFLR8_3 flat MFLR8_3
music D_VICTOR music $MUSIC_VICTOR
exittext lookup CE4TEXT exittext lookup CE4TEXT

View file

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

View file

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

View file

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

View file

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