bradharding / doomretro

The classic, refined DOOM source port. For Windows PC.
https://www.doomretro.com
GNU General Public License v3.0
698 stars 88 forks source link

[Minor Question] The BRGHTMPS Lump #761

Open andrikpowell opened 2 years ago

andrikpowell commented 2 years ago

Hey Brad,

Just a minor question; I noticed that in PWADs for Doom Retro, you can include a BRGHTMPS lump to customise the texture brightmaps for specific WADs.

I just wanted to ask if that was intentional, because both Crispy Doom and Woof seem to use a similar system for doing brightmaps (i.e. selecting specific colours from the palette), but those ports don't allow for custom PWAD brightmap lumps to be used, unlike Doom Retro at the moment.

It would be really cool for those ports to also allow a BRGHTMPS lump in PWADs that use custom textures/switches.

I just ask cuz I currently am using a BRGHTMPS lump in 200 Line Massacre.

bradharding commented 2 years ago

Hi,

There was some discussion a while ago about this here and here, but it didn't continue. I decided to go ahead with my idea. Hi @JNechaevsky, @rfomin and @fabiangreffrath, what do you all think about the BRGHTMPS lump I've implemented, and is it something you'd consider implementing in your ports?

rfomin commented 2 years ago

Sure, I like the idea of configurable brightmaps. I've never edited brightmaps, so I have no opinion on whether BRGHTMPS lump is comfortable to edit. If there is no objections I think we should add it to Crispy/Woof.

JNechaevsky commented 2 years ago

Hey! 🤗

Sure, I'm still all for support this established standard. The only problem is - it is a bit comlpicated for me to port the code from DR (initial PR and later corrections), and the best I can do is to wait for "single-action" PR in Woof.

Also, probably it is worth to make a Wiki page for BRGHTMPS lump with some kind of demo wad. Do we have any free, Creative Commons friendly texture packs somewhere? I can handle demo wad, but can't promise fast result, pre- New Year time at day job is a nightmare. 🤯

rfomin commented 1 year ago

@bradharding @JNechaevsky Sorry for the late reply, been busy with MIDI music. Initial implementation in Woof: https://github.com/fabiangreffrath/woof/pull/846 I used u_scanner.c which is not needed, but I find the potential support for UMAPINFO to be good for any port. 😄 Interested in your comments!

bradharding commented 1 year ago

Thanks for doing this @rfomin (great work on the MIDI changes by you and @ceski-1 BTW)! I see in your implementation you skip over the DOOM1|DOOM2. DR needs this when parsing the single BRGHTMPS lump in its resource wad, but I'll add support for when it's not present as well.

JNechaevsky commented 1 year ago

Looks cool and clean, I'll gladly grab it once it's done. :heart_eyes:

As about DOOM1|DOOM2, I belive we critically need it for inner purposes since SW2STON2 is red in Doom 1 and green in Doom 2 (https://github.com/JNechaevsky/inter-doom/blob/master/src/doom/r_bmaps.c#L464-L466), but for mods probably dont. The only consolidated mod comes to mind is D4Vanilla which provides everything for any game type, but it's rather exception and using COLORMAP trick.

rfomin commented 1 year ago

The only consolidated mod comes to mind is D4Vanilla which provides everything for any game type

Oh, I didn't know that D4Vanilla works with Doom 1, interesting. Thanks, I'll take a look.