Master Levels Support

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

Scuba Steve
Posts: 1059
Joined: Sat Mar 27, 2004 8:56 pm

Master Levels Support

Post by Scuba Steve »

Is there a reason GZDoom doesn't have native support for Master levels? Shouldn't there be a doom.id.doom2.master filter and when starting GZDoom, have Master Levels listed as one of the iwad choices?
User avatar
Rachael
Posts: 13558
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Master Levels Support

Post by Rachael »

The biggest reason: It's a bunch of wads, most of them "MAP01" (or some other arbitrary map number) - and, also, the need for an organized set is also catered by Wadsmoosh which organizes them nicely.
Gez
 
 
Posts: 17835
Joined: Fri Jul 06, 2007 3:22 pm

Re: Master Levels Support

Post by Gez »

Technically there's an all-in-one masterlevels.wad file found in the PSN version. This one could potentially be supported as an IWAD in the fashion of Deathkings for Hexen (as in, loading Doom II first).

But since it was never officially available on PCs, support for this version is not exactly a priority. I think Crispy Doom officially supports it, though.
Scuba Steve
Posts: 1059
Joined: Sat Mar 27, 2004 8:56 pm

Re: Master Levels Support

Post by Scuba Steve »

Eternity supports Master levels natively. Couldn't GZDoom rename the maps like it does for NRFTL and just add a Master Levels Episode?
Blzut3
 
 
Posts: 3144
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: Master Levels Support

Post by Blzut3 »

It could, but there's far too many opinions on how the master levels should be handled that I don't think it's possible to really do satisfactory handling. I suppose the best two options are to either handle like the Unity port (Master Level Menu Interface and EE), or go strictly like PSN (similar to Wadsmoosh or my merging utility and I think Crispy?). GZDoom could definitely pick a side, but we have a healthy ecosystem of mods to let users decide for themselves, so not sure if it's worth bothering? Especially since that doesn't even touch on questions like pistol start and music selections for which there are a ton of opinions. (Or how in the PSN case the map ordering is quite lazy.)
Scuba Steve
Posts: 1059
Joined: Sat Mar 27, 2004 8:56 pm

Re: Master Levels Support

Post by Scuba Steve »

I have always felt that GZDoom should have native support for all id Software commercial releases, and Master Levels fits the bill. It might be a a mismatch of separate pwads, but I feel a player should be able to dump the pwads into a folder or compress them into a zip and GZDoom knows to rename them and apply something akin to a doom.id.doom2.master filter and have 'Master Levels' appear in the starting interface along with Plutonia, TNT, and NRFTL.
User avatar
krutomisi
Posts: 24
Joined: Mon Jan 11, 2021 10:17 am

Re: Master Levels Support

Post by krutomisi »

Scuba Steve wrote:.
your best bet is either "Blutz3 Unofficial Master Levels for Doom 2 Patch" (here) or WadSmoosh

I would advise going with WadSmoosh as it will then allow you to play the Works of the Masters
Scuba Steve
Posts: 1059
Joined: Sat Mar 27, 2004 8:56 pm

Re: Master Levels Support

Post by Scuba Steve »

I used the Blutz method, but I wanted to run a custom title screen, but it would be really helpful to have an internal filter to sort Master Levels titlepics/interpics.
User avatar
Rachael
Posts: 13558
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Master Levels Support

Post by Rachael »

I do realize what you are asking us to do but I am not comfortable implementing such a thing simply because it increases complexity of the code in a not-completely-performance-critical-area-but-its-something-to-look-out-for-spot. Plus such an implementation could have unintended side effects if it is not done carefully.

That being said though, I do not mind adapting and updating Blzut3's compiler, if nothing else to provide the internal filter. Furthermore it is possible to create a pseudo-ipk3 such as is done here to load such an archive with your own custom IWADINFO settings. That was never the intended usage of IWADINFO but it does work, nevertheless.
User avatar
Rachael
Posts: 13558
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Master Levels Support

Post by Rachael »

After some thought about this, I have come up with a solution that I might be happy with, but, it will be some time before I will be able to implement it. So for now, this post merely serves as a blueprint.

The current version of the "nerve.wad" rename scheme would be refactored and made into a lump with the following format:

Lump Name: compat-renames.txt

Code: Select all

// alias, size, md5, filename
"nerve-original" 3819855 967d5ae23daf45196212ae1b605da3b0 nerve.wad {
  map01 level01
  map02 level02
  // .. etc ..
}

"nerve-new" 3821966 4214c47651b63ee2257b1c2490a518c9 nerve.wad {
  alias "nerve-original"
}
// .. etc..
It would also deal with the Heretic/Hexen/Strife renames as example:

Code: Select all

iwad game.heretic {
  sprite HEAD LICH
  // ..etc..
}
For the checks, the check order is very important in order to avoid impacting loading times too much. First the size would be checked, then the file name, then the md5 hash sum. Order of least impactful to most impactful.

Also, dropping it into a lump allows it to be loaded through a filter, i.e. specifically specifying "master levels" as an iwad, so that they can still be loaded in their original way.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Master Levels Support

Post by Graf Zahl »

Most of what's needed here already exists in Raze's GRPINFO parser. It can identify files by a CRC32/size pair and optionally rename/remove entries to make them work.
What we really need is to merge this with IWADINFO into one format.
Devalaous
Posts: 23
Joined: Fri Apr 23, 2021 6:30 pm
Graphics Processor: nVidia with Vulkan support
Location: New Zealand

Re: Master Levels Support

Post by Devalaous »

Rachael wrote:After some thought about this, I have come up with a solution that I might be happy with, but, it will be some time before I will be able to implement it. So for now, this post merely serves as a blueprint.

The current version of the "nerve.wad" rename scheme would be refactored and made into a lump with the following format:

Lump Name: compat-renames.txt

Code: Select all

// alias, size, md5, filename
"nerve-original" 3819855 967d5ae23daf45196212ae1b605da3b0 nerve.wad {
  map01 level01
  map02 level02
  // .. etc ..
}

"nerve-new" 3821966 4214c47651b63ee2257b1c2490a518c9 nerve.wad {
  alias "nerve-original"
}
// .. etc..
It would also deal with the Heretic/Hexen/Strife renames as example:

Code: Select all

iwad game.heretic {
  sprite HEAD LICH
  // ..etc..
}
For the checks, the check order is very important in order to avoid impacting loading times too much. First the size would be checked, then the file name, then the md5 hash sum. Order of least impactful to most impactful.

Also, dropping it into a lump allows it to be loaded through a filter, i.e. specifically specifying "master levels" as an iwad, so that they can still be loaded in their original way.
Not too long ago I was working on a QoL mod for the Master Levels that added dehacked/mapinfo, Scuba Steve's custom-made widescreen titlepic and interpic, and the NRFTL midipack, and I was making two versions; one for all the loose levels, including the 7 rejected Master Levels that are on the idgames archive, and one for the all-in-one wad that the PS3 has, and can be manually built from Doom BFA. I wanted to do what GZDoom did with NRFTL and have it appear as its own episode, but I couldn't figure out how NRFTL did the conversion from MAP00 to LEVEL00. I had to either give up and have the Master Levels episode replace base Doom 2, or go into the masterlevels.wad and rename all the levels to ML00, which isn't too ideal for a QoL mod that was meant to make things easier and feel more polished :p

There was a little talk of asking the GZDoom devs to one day natively support Master Levels, nice to see a thread about it here.
yum13241
Posts: 781
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: Master Levels Support

Post by yum13241 »

Scuba Steve wrote:Is there a reason GZDoom doesn't have native support for Master levels? Shouldn't there be a doom.id.doom2.master filter and when starting GZDoom, have Master Levels listed as one of the iwad choices?

Use Wadsmoosh.
User avatar
Hellser
Global Moderator
Posts: 2706
Joined: Sun Jun 25, 2006 4:43 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Citadel Station

Re: Master Levels Support

Post by Hellser »

As great as Wadsmoosh is, it's not a be all end all solution. I agree with Scuba Steve here, it would be nice to have an in-engine way of handling the Master Levels.
Post Reply

Return to “Feature Suggestions [GZDoom]”