- apparently, this was broken before which is why this neeeded this commit in the first place, but now it's been fixed in the official distribution, which makes this commit unnecessary. Or so I am told.

Revert "make the broken ID24 levelnums work somehow so that Legacy of Rust's intermissions play."

This reverts commit 59b567689a.
This commit is contained in:
Rachael Alexanderson 2025-02-01 07:38:47 -05:00
parent f21b68c8f6
commit ec8e0e667c
No known key found for this signature in database
GPG key ID: 26A8ACCE97115EE0
4 changed files with 6 additions and 16 deletions

View file

@ -2409,13 +2409,9 @@ static void SetLevelNum (level_info_t *info, int num)
for (unsigned int i = 0; i < wadlevelinfos.Size(); ++i)
{
if (wadlevelinfos[i].levelnum == num)
{
wadlevelinfos[i].levelnum = 0;
wadlevelinfos[i].broken_id24_levelnum = 0;
}
}
info->levelnum = num;
info->broken_id24_levelnum = num; // at least make it work - somehow.
}
//==========================================================================

View file

@ -324,7 +324,6 @@ struct FExitText
struct level_info_t
{
int levelnum;
int broken_id24_levelnum;
FString MapName;
FString NextMap;

View file

@ -60,7 +60,6 @@ struct UMapEntry
char intermusic[9] = "";
int partime = 0;
int nointermission = 0;
int id24_levelnum = 0; // note that this one's semantics are massively screwed up. Only to be used for ID24-style intermissions.
};
static TArray<UMapEntry> Maps;
@ -127,7 +126,7 @@ static int ParseLumpName(FScanner &scanner, char *buffer)
//
// -----------------------------------------------
static int ParseStandardProperty(FScanner &scanner, UMapEntry *mape, int *id24_levelnum)
static int ParseStandardProperty(FScanner &scanner, UMapEntry *mape)
{
// find the next line with content.
// this line is no property.
@ -281,7 +280,6 @@ static int ParseStandardProperty(FScanner &scanner, UMapEntry *mape, int *id24_l
epi.mEpisodeMap = mape->MapName;
epi.mPicName = split[0];
epi.mNoSkill = false;
mape->id24_levelnum = *id24_levelnum = 1;
unsigned i;
for (i = 0; i < AllEpisodes.Size(); i++)
@ -352,16 +350,15 @@ static int ParseStandardProperty(FScanner &scanner, UMapEntry *mape, int *id24_l
//
// -----------------------------------------------
static int ParseMapEntry(FScanner &scanner, UMapEntry *val, int *id24_levelnum)
static int ParseMapEntry(FScanner &scanner, UMapEntry *val)
{
scanner.MustGetToken(TK_Identifier);
val->MapName = scanner.String;
val->id24_levelnum = ++(*id24_levelnum);
scanner.MustGetToken('{');
while(!scanner.CheckToken('}'))
{
ParseStandardProperty(scanner, val, id24_levelnum);
ParseStandardProperty(scanner, val);
}
return 1;
}
@ -377,13 +374,12 @@ int ParseUMapInfo(int lumpnum)
FScanner scanner(lumpnum);
unsigned int i;
int id24_levelnum = 1;
while (scanner.GetToken())
{
scanner.TokenMustBe(TK_Map);
UMapEntry parsed;
ParseMapEntry(scanner, &parsed, &id24_levelnum);
ParseMapEntry(scanner, &parsed);
// Endpic overrides level exits.
if (parsed.endpic[0])
@ -493,7 +489,6 @@ void CommitUMapinfo(level_info_t *defaultinfo)
if (map.exitpic[0]) levelinfo->ExitPic = map.exitpic;
if (map.enteranim[0]) levelinfo->EnterAnim = map.enteranim;
if (map.exitanim[0]) levelinfo->ExitAnim = map.exitanim;
levelinfo->broken_id24_levelnum = map.id24_levelnum;
/* UMAPINFO's intermusic is for the text screen, not the summary.
if (map.intermusic[0])
{

View file

@ -302,7 +302,7 @@ private:
auto* li = FindLevelInfo(state != StatCount ? wbs->next.GetChars() : wbs->current.GetChars());
if (!li)
return false;
if (li->broken_id24_levelnum != condition.param)
if (li->levelnum != condition.param)
return false;
break;
}
@ -311,7 +311,7 @@ private:
auto* li = FindLevelInfo(state != StatCount ? wbs->next.GetChars() : wbs->current.GetChars());
if (!li)
return false;
if (li->broken_id24_levelnum <= condition.param)
if (li->levelnum <= condition.param)
return false;
break;
}