Master Levels Support

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

Moderator: GZDoom Developers

Master Levels Support

Postby Scuba Steve » Mon Feb 01, 2021 8:38 am

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?
Scuba Steve
 
Joined: 27 Mar 2004

Re: Master Levels Support

Postby Rachael » Mon Feb 01, 2021 8:48 am

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.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Master Levels Support

Postby Gez » Mon Feb 01, 2021 9:29 am

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.
Gez
 
 
 
Joined: 06 Jul 2007

Re: Master Levels Support

Postby Scuba Steve » Mon Feb 01, 2021 2:37 pm

Eternity supports Master levels natively. Couldn't GZDoom rename the maps like it does for NRFTL and just add a Master Levels Episode?
Scuba Steve
 
Joined: 27 Mar 2004

Re: Master Levels Support

Postby Blzut3 » Sun Feb 07, 2021 1:47 pm

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.)
Blzut3
Pronounced: B-l-zut
 
 
 
Joined: 24 Nov 2004
Github ID: Blzut3
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
Graphics Processor: ATI/AMD with Vulkan Support

Re: Master Levels Support

Postby Scuba Steve » Mon Feb 08, 2021 7:03 pm

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.
Scuba Steve
 
Joined: 27 Mar 2004

Re: Master Levels Support

Postby krutomisi » Mon Feb 08, 2021 9:21 pm

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
User avatar
krutomisi
 
Joined: 11 Jan 2021

Re: Master Levels Support

Postby Scuba Steve » Mon Feb 08, 2021 11:06 pm

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.
Scuba Steve
 
Joined: 27 Mar 2004

Re: Master Levels Support

Postby Rachael » Tue Feb 09, 2021 2:55 am

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
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Master Levels Support

Postby Rachael » Tue Feb 09, 2021 6:10 am

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 allExpand view
// 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 allExpand view
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
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Master Levels Support

Postby Graf Zahl » Tue Feb 09, 2021 6:29 am

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to Feature Suggestions

Who is online

Users browsing this forum: No registered users and 0 guests