Obligatory Legacy of Rust/ Nightdive Doom Port thread

If it's not ZDoom, it goes here.
yum13241
Posts: 853
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

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

So you decided to respond to that almost a month later? Just kidding, I'm not trying to attack you in such an ad-hominem-style.

Maybe Sarge wasn't the best example. Download Doom RL Aresenal and see if you understand what's going on. The codebase is indented, the code is mostly neat, but because of the limitations of DECORATE, the only person who can confidently tell you what exactly goes on in any 1 particular class is Yholl (maybe Cutmanmike), even if you were allowed to look at the mod while answering. ZScript makes complext stuff easier. But that's not really the point of this thread.
Professor Hastig wrote: Freeing Doom from hacks is an unattainable dream. There are people out there who seem to exploit every inane quirk of the engine in some way, often achieving things that can be done much better.
Did you not read the part where I said "the hashtag is a fucking joke"?
Even then, we can prevent more baggage from being created by not allowing features to be abused, i.e, that one SEGS hexedit trick Badministrator on DW made a post about.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49188
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Graf Zahl »

yum13241 wrote: Sat Sep 28, 2024 9:15 am Even then, we can prevent more baggage from being created by not allowing features to be abused, i.e, that one SEGS hexedit trick Badministrator on DW made a post about.
What I find most ironic here is not the hacks but the cheap-ass features Boom invented, especially TRANMAP. For years a tiny group of very vocal users has been promising some cool stuff that can be done with it, but so far nothing of this has appeared in a somewhat serious project. The reality is that most mappers do not want to leave hardware rendering behind just for presenting some esoteric effects. Therefore I'm not going to lose any sleep over all that hackery stuff - but I'm also very conservative when it comes to removing hack support that has been inherited from doom.exe.
User avatar
Rachael
Posts: 13835
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Rachael »

To be fair that came from Heretic and Hexen but they actually used it for its intended purpose - as an indexed transparency lookup table. Hardware rendering replaces that and does a far better job with it - and ZDoom already eschewed that method in its much earlier days because even in the fast 8-bit transparency mode it already replaced the table lookup with a fixed point calculation to allow a higher degree of control without a massive cost for performance.

Outside of transparency though - I have never seen a table like that used for any other purpose in a serious project.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49188
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Graf Zahl »

Me neither, but that argument always falls on deaf ears with some people - they rather have a clumsy and inconvenient feature than something straightforward just because you theoretically *CAN* do more with it under the right circumstances. As a result any proposed new standard keeps both TRANMAP and COLORMAP instead of making this mapping friendly and simple.
User avatar
Xterra
Posts: 69
Joined: Thu Feb 24, 2011 3:20 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Win7 SP1 / Tiny10 dualboot
Graphics Processor: nVidia with Vulkan support
Location: The ragged edge of disaster ('Bama)

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Xterra »

yum13241 wrote: Sat Sep 28, 2024 9:15 am So you decided to respond to that almost a month later? Just kidding, I'm not trying to attack you in such an ad-hominem-style.

Maybe Sarge wasn't the best example. Download Doom RL Aresenal and see if you understand what's going on. The codebase is indented, the code is mostly neat, but because of the limitations of DECORATE, the only person who can confidently tell you what exactly goes on in any 1 particular class is Yholl (maybe Cutmanmike), even if you were allowed to look at the mod while answering. ZScript makes complext stuff easier. But that's not really the point of this thread.
Please forgive me, then; I must've misread and misunderstood. I also do not visit these forums often at all.
And I've cracked open DRLA for reference quite a few times and usually understand fairly well what's going on in most weapon and actor code, or at least well enough to understand the jist of it. If I don't, I ask folks here. :-)

Anyway, I'll piss off and let y'all get back on topic.
yum13241
Posts: 853
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

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

Graf wrote: Therefore I'm not going to lose any sleep over all that hackery stuff - but I'm also very conservative when it comes to removing hack support that has been inherited from doom.exe.
Like the Plasma Rifle flash bug. I actually thought this was a bug in GZDoom, lol. (for some reason the SSG got fixed though)
Graf wrote: The reality is that most mappers do not want to leave hardware rendering behind just for presenting some esoteric effects.
wOw! tHe kEvIn cLoUd KnEe InJuRy tExTurE lOoKs mOrE rEaLiStiC wItH tHe wOuNd bEiNg 1% tRaNsPaReNt!

I've always hated transparency in Doom source ports. First thing I turn off, except in ZDoom/Zandronum, where you can't. Seeing plasma balls look white instead of that nice Doom plasma-ball-blue is awful.

Later Doom engine games used it in a way that makes sense, but it always get shoehorned into Doom.
User avatar
Rachael
Posts: 13835
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Rachael »

yum13241 wrote: Tue Oct 01, 2024 1:11 am I've always hated transparency in Doom source ports. First thing I turn off, except in ZDoom/Zandronum, where you can't. Seeing plasma balls look white instead of that nice Doom plasma-ball-blue is awful.
You can try this: r_vanillatrans 1 in the console, and see if it's to your liking
User avatar
zrrion the insect
Posts: 2432
Joined: Thu Jun 25, 2009 1:58 pm
Location: Time Station 1: Moon of Glendale

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by zrrion the insect »

Graf Zahl wrote: Sat Sep 28, 2024 12:52 pmyou theoretically *CAN* do more with it under the right circumstances.
And even then, anything you might want to do with either of these would be better left to hardware shaders, it's not difficult at all to write some zscript that can build whatever sort of LUT you might want with the current game's palette and then have a shader apply that LUT to the screen. The only real hurdles depend on whether or not gzdoom exposes the scene info you'd need like the depth buffer and whatnot. I don't think you could replicate TRANMAP in this way but the only use case I can think of for TRANMAP is to let you do invisible text that shows up if something transparent is in front of it but I can't actually imagine anyone would ever want to do something like that
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49188
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Graf Zahl »

Tell that to the people who have been blocking any sane implementation by favoring this kludge for its perceived grandness.
User avatar
Phredreeke
Posts: 310
Joined: Tue Apr 10, 2018 8:14 am

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Phredreeke »

zrrion the insect wrote: Wed Oct 02, 2024 1:56 pm
Graf Zahl wrote: Sat Sep 28, 2024 12:52 pmyou theoretically *CAN* do more with it under the right circumstances.
And even then, anything you might want to do with either of these would be better left to hardware shaders, it's not difficult at all to write some zscript that can build whatever sort of LUT you might want with the current game's palette and then have a shader apply that LUT to the screen. The only real hurdles depend on whether or not gzdoom exposes the scene info you'd need like the depth buffer and whatnot. I don't think you could replicate TRANMAP in this way but the only use case I can think of for TRANMAP is to let you do invisible text that shows up if something transparent is in front of it but I can't actually imagine anyone would ever want to do something like that
Not a Doom engine game, but how about the "behind the babe" text in Death Row in Duke 3D?
Cacodemon345
Posts: 422
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Cacodemon345 »

The sanest way to do TRANMAP involves programmable blending, which is poorly supported on desktop GPUs. It can be done on Vulkan but AMD still actively refuses to implement any necessary extensions for that on Windows because of the performance impact involved in it and even on other desktop GPUs the performance impact can be felt. It can be done on non-desktop GPUs but Vulkan support there is very piss-poor and the extensions in question are barely available. It can be universally done across all desktop GPU vendors on D3D12 but the performance impact isn't going to cease to exist and for both APIs the support is very recent in terms of GPUs.

It could be done the OIT way but I haven't exactly seen support for it in general based on what I know from discussions in the past, and the examples to do it on Vulkan without interlock aren't exactly good.

Any other method is not exactly sane because of either the need to maintain separate textures similar to the deferred shading approach or the need to maintain a separate framebuffer copy (slow and gross). For some weird reason GooberMan thinks that the approach of glass refraction would be suited for this, yet no hardware renderer for Doom to date is designed to support such a thing IIRC.
yum13241
Posts: 853
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

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

Cacodemo345 wrote: yet no hardware renderer for Doom to date is designed to support such a thing IIRC.
At that point, we may as well just fix the issues that already exist in hardware rendering, i.e, revenants looking shittier than software when they're in a tunnel that they can go through but shouldn't, before we do some crazy RTX levels of Doom.

Return to “Off-Topic”