Skip to content

Commit

Permalink
Fix maplist CCMD for Legacy of Rust
Browse files Browse the repository at this point in the history
  • Loading branch information
bradharding committed Oct 19, 2024
1 parent d0d3316 commit 9190682
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
26 changes: 19 additions & 7 deletions src/c_cmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -4710,7 +4710,7 @@ static void maplist_func2(char *cmd, char *parms)
M_StringCopy(wadname, leafname(lumpinfo[i]->wadfile->path), sizeof(wadname));
replaced = (W_GetNumLumps(lump) > 1 && !chex && !FREEDOOM);
pwad = (lumpinfo[i]->wadfile->type == PWAD);
M_StringCopy(mapinfoname, P_GetMapName(ep--, map--), sizeof(mapinfoname));
M_StringCopy(mapinfoname, P_GetMapName(ep, map), sizeof(mapinfoname));

switch (gamemission)
{
Expand All @@ -4727,7 +4727,7 @@ static void maplist_func2(char *cmd, char *parms)
else if (M_StringCompare(lump, "E1M8B"))
temp = titlecase(s_HUSTR_E1M8B);
else
temp = titlecase(*mapinfoname ? mapinfoname : *mapnames[ep * 9 + map]);
temp = titlecase(*mapinfoname ? mapinfoname : *mapnames[(ep - 1) * 9 + map - 1]);

removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t" ITALICS("%s") "\t%s",
Expand All @@ -4745,20 +4745,32 @@ static void maplist_func2(char *cmd, char *parms)
{
if (!D_IsDOOM2IWAD(wadname))
{
temp = titlecase(M_StringReplaceFirst(*mapnames2[map], ": ", MONOSPACEDOFF "\t" ITALICSON));
temp = titlecase(M_StringReplaceFirst(*mapnames2[map - 1], ": ", MONOSPACEDOFF "\t" ITALICSON));
removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACEDON "%s" ITALICSOFF "\t%s", temp, wadname);
free(temp);
}
}
else
{
if (legacyofrust && D_IsLegacyOfRustWAD(wadname))
{
if (map <= 7)
M_snprintf(lump, sizeof(lump), "E1M%i", map);
else if (map == 15)
M_StringCopy(lump, "E1M8", sizeof(lump));
else if (map == 16)
M_StringCopy(lump, "E2M8", sizeof(lump));
else if (map != 99)
M_snprintf(lump, sizeof(lump), "E2M%i", map - 7);
}

if (replaced && dehcount == 1 && !nerve && !*mapinfoname)
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t\x96\t%s",
lump, wadname);
else
{
temp = titlecase(*mapinfoname ? mapinfoname : (bfgedition ? *mapnames2_bfg[map] : *mapnames2[map]));
temp = titlecase(*mapinfoname ? mapinfoname : (bfgedition ? *mapnames2_bfg[map - 1] : *mapnames2[map - 1]));
removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t" ITALICS("%s") "\t%s",
lump, temp, wadname);
Expand All @@ -4772,7 +4784,7 @@ static void maplist_func2(char *cmd, char *parms)
case pack_nerve:
if (D_IsNERVEWAD(wadname))
{
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamesn[map]);
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamesn[map - 1]);
removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t" ITALICS("%s") "\t%s",
lump, temp, wadname);
Expand All @@ -4789,7 +4801,7 @@ static void maplist_func2(char *cmd, char *parms)
lump, wadname);
else
{
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamesp[map]);
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamesp[map - 1]);
removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t" ITALICS("%s") "\t%s",
lump, temp, wadname);
Expand All @@ -4807,7 +4819,7 @@ static void maplist_func2(char *cmd, char *parms)
lump, wadname);
else
{
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamest[map]);
temp = titlecase(*mapinfoname ? mapinfoname : *mapnamest[map - 1]);
removemapnum(temp);
M_snprintf(maps[count++], sizeof(maps[0]), MONOSPACED("%s") "\t" ITALICS("%s") "\t%s",
lump, temp, wadname);
Expand Down
5 changes: 5 additions & 0 deletions src/d_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -860,6 +860,11 @@ bool D_IsNERVEWAD(char *filename)
return (M_StringCompare(leafname(filename), "NERVE.WAD"));
}

bool D_IsLegacyOfRustWAD(char *filename)
{
return (M_StringCompare(leafname(filename), "ID1.WAD"));
}

bool D_IsEXTRASWAD(char *filename)
{
return (M_StringCompare(leafname(filename), "extras.wad"));
Expand Down
1 change: 1 addition & 0 deletions src/d_main.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ bool D_IsDOOMIWAD(char *filename);
bool D_IsDOOM1IWAD(char *filename);
bool D_IsDOOM2IWAD(char *filename);
bool D_IsNERVEWAD(char *filename);
bool D_IsLegacyOfRustWAD(char *filename);
bool D_IsEXTRASWAD(char *filename);
bool D_IsSIGILWAD(char *filename);
bool D_IsSIGILSHREDSWAD(char *filename);
Expand Down

0 comments on commit 9190682

Please sign in to comment.