Jump to content

Midtexture bleeding in Zdoom (port racism ITT)


Koko Ricky

Recommended Posts

How is it a hack when it works in every current/relevant port? Wouldn't the "hack" version be using it in a manner described earlier in this thread: to make a faux floor-over-floor effect?

Share this post


Link to post

It's a hack because it's pretty clearly not an intended feature in the slightest - it's just something that happens because the code aligns that way. Y'know, a glitch.

And anyone who says that sounds negative has clearly never used a duplication glitch.

What makes it distinctly a hack over a glitch, though, is ... well, the fact that you guys clearly regard it as a feature. I'm not really sure if there's much of a difference besides the fact that nobody really regards glitches as features, which I guess makes hacks glitches in the code that aren't regarded as the slightest "cheating" or whatever to use. They're just there.

Why am I so certain that it's a hack and not just a really obscure feature? Because it just makes no sense for it to be a feature. There's no way someone who was working on the code in any way intended for you to split and slightly modify a sector to make it so that the midtex at the old and new sectors' borders won't show through the floor.

It would be one thing if, say, the lower unpegged flag doubled as a "clip midtex" flag, or even a combinations of flags was required for it - provided said combination does make sense when you think about, even if you'd have no way of really predicting that it'd do that until someone told you. In those cases, there'd be a reasonable line of thought, even if it wasn't conveyed well.

Share this post


Link to post
Arctangent said:

The thing about hacks is that they are only negative when the program isn't static. Much like an exploit in a game - as long as there isn't any risk of suddenly being able to not use it, you're free to use them in your strategy, and sometimes they become a very important part of how the game is actually played ( see: a helluva lot of stuff in Super Smash Bros. Melee ).

Which ... means this is kind of problematic when dealing with future compatibility with ports that make their own software renderer, meaning it's entirely possible for the trick to suddenly stop working because by that renderer's logic there's no reason to stop drawing the midtex.

Even if that's so little concern, though, it doesn't change the fact that it's a hack. There's honestly a lot of stuff that would break if you ran them in an advanced port if said port didn't go out of their way to force them to work. Which is where the distinction becomes more important - it's a lot more justified when a source port author decides to stop supporting a hack than one that's definitely a feature of the engine, after all.

Ok, I'm with you, and in some cases, you're right. But, this one isn't in that category. If you stop supporting it, you simply aren't compliant with Doom. That's ok if you're not creating a port that claims to render Doom gameplay, but if you are, you have to support it. Thus, it is a standard feature, not a hack. So, it's a moot point.

Share this post


Link to post

I'm not really sure how you figure that. Do any of the vanilla maps actually use this trick? Stuff like HoMs for deep water effects can at least be justified as exploits that id themselves figured out and decided to keep - plenty of games do that - but I don't think I've ever even seen a case where an actual id or id-sponsored map would look differently if a new renderer only clipped mixtexs at cliffs, not different light levels

... Hell, I'm not even sure if you'd see any difference in Doom or Doom 2 levels if the renderer didn't clip them at different floor levels.

Share this post


Link to post
kb1 said:

Ok, I'm with you, and in some cases, you're right. But, this one isn't in that category. If you stop supporting it, you simply aren't compliant with Doom. That's ok if you're not creating a port that claims to render Doom gameplay, but if you are, you have to support it. Thus, it is a standard feature, not a hack. So, it's a moot point.



No, it's precisely in that category. Despite being well-defined in its functionality it is an unintended side effect of how the renderer organizes its data.

In clear English: The only reason it is necessary is because id forgot to consider the case 'linedef has middle texture' as a visplane separator.

And that essentially makes it a hack to work around an oversight in the engine.

As for the ultimate question: Where's the problem with this hack? Well, there are ports out there which retain full lighting level precision where this difference of 1 unit may actually become visible in certain situations. Which makes this clearly not a side-effect-free way of doing things.

Share this post


Link to post
Graf Zahl said:

No, it's precisely in that category. Despite being well-defined in its functionality it is an unintended side effect of how the renderer organizes its data.

In clear English: The only reason it is necessary is because id forgot to consider the case 'linedef has middle texture' as a visplane separator.

And that essentially makes it a hack to work around an oversight in the engine.

As for the ultimate question: Where's the problem with this hack? Well, there are ports out there which retain full lighting level precision where this difference of 1 unit may actually become visible in certain situations. Which makes this clearly not a side-effect-free way of doing things.

So, ports that don't comply with Doom don't comply with Doom? Gee, I would have never guessed...

Share this post


Link to post
kb1 said:

So, ports that don't comply with Doom don't comply with Doom? Gee, I would have never guessed...

Source ports are only suppose to comply with the IWADS and not vanilla pwads that uses the discovered visual hacks.
I don think ID has ever used the Midtexture Clip in their maps.

Share this post


Link to post
jazzmaster9 said:

Source ports are only suppose to comply with the IWADS and not vanilla pwads that uses the discovered visual hacks.
I don think ID has ever used the Midtexture Clip in their maps.

That is certainly not the view I take. You don't just casually discard +20 years of material. A "Doom port" that could no longer run anything other than the IWADs would no longer be a Doom port in much of a sense.

Share this post


Link to post

It's a pretty big exaggeration to say that you dump +20 years of material by only supporting the stuff vanilla Doom used, though. It's not like the majority of custom levels even use these tricks.

And I don't really see how you dispute this, considering we are talking about every level created in the last +20 years.

Share this post


Link to post

I think trying to support everything that was made before will hold you back a lot. If the goal of the port isn't to be the most faithful thing ever, then you should be able to neglect some of the less important tricks, as long as it helps you to implement whatever it is you want to implement.

Share this post


Link to post

Sigh...

What is it with this discussion and seemingly nobody understanding what is being talked about?

Who says that the clipping on lines with different light levels is a glitch? Nobody!
The glitch is that on lines without any visual difference they are not clipped and that a hacky workaround is needed to make them behave in a sane manner - a workaround that should not be needed in the first place!

Share this post


Link to post
Da Werecat said:

I think trying to support everything that was made before will hold you back a lot. If the goal of the port isn't to be the most faithful thing ever, then you should be able to neglect some of the less important tricks, as long as it helps you to implement whatever it is you want to implement.

This view is ridiculous. Any trick that's neglected makes a particular level suck, with no way to guess it's going to happen, unless you open the wad and inspect each linedef. Geez. If a port doesn't render every map that vanilla does, it ain't a Doom port. Period.

I'll be damned if my port 'neglects unimportant tricks'. Who makes that call. Who has the right to decide what "tricks" (your word) are important. Unbelievable.

Share this post


Link to post

Frankly, if the only thing that keeps a level from sucking is the fact that its midtexs don't bleed through the floor, it ... probably still sucks, regardless of if the port you play it in supports that trick or not. I actually can't think of a way an outright awful level can be saved through this little bit of aesthetics.

Share this post


Link to post
kb1 said:

If a port doesn't render every map that vanilla does, it ain't a Doom port.

I'm tempted to say that this view is ridiculous.

How do you sleep at night knowing that so many Doom ports aren't actually Doom ports?

kb1 said:

Who makes that call.

The port author.

Share this post


Link to post
Da Werecat said:

I'm tempted to say that this view is ridiculous.

How do you sleep at night knowing that so many Doom ports aren't actually Doom ports?

The port author.

How do I sleep? Pretty damn good. I don't play non-conformant ports, except when they host really good non-standard maps. I, as a port author, know what's right, which is not an opinion. It's not my job to correct the mindset of the port authors that don't respect the integrity of certain maps, and it's not my fault, either. I, as a Doom player want my port to be able to play any Doom/Boom/MBF map, as a bare minimum requirement. Why would anyone want less.

It either plays what Doom plays, or it's not a Doom port, and should not be labelled as such, or it's false advertising.

Your additude would allow you to buy a DVD player that only plays half of your DVDs, cause the manufacturer said "Hmmm. It's a pain in the ass to support this older style of DVD, so tough shit, customers.". Yay. It's like ordering a pizza, and it comes without cheese, because the restaurant owner doesn't like cheese. Like I said: Ridiculous. Unbelievable. Trolling, even, maybe?

Keep thinking about it until you agree.

Share this post


Link to post

I think the fact that you think a pizza can't be a pizza unless it has cheese is kind of undercutting your argument by making you look like a person who only accepts things if they're the way you like them.

Maybe not "kind of." Probably definitely, actually.

Share this post


Link to post
Arctangent said:

I think the fact that you think a pizza can't be a pizza unless it has cheese is kind of undercutting your argument by making you look like a person who only accepts things if they're the way you like them.

Maybe not "kind of." Probably definitely, actually.

I suppose pizza was a bad analogy. It's not about my likes, it's about respecting a standard way of doing things. In this case, I'm talking about respecting all vanilla Doom iwads and pwads, and rendering them accurately, including "hacks" and "tricks", at a minimum. This is a requirement for any source port that claims to be a Doom port. Now, I know that ports that do hardware rendering struggle with some Doom structures - I'm not knocking those ports. If they do the best they can, and continue to try to improve, I'm satisfied. Hopefully they list the things they can't render in a readme file, and, maybe show an error message upon loading a map that they cannot completely render, if possible.

Da Werecat said:

Oh god, what the fuck.

And to think that I actually considered discussing this further.

So, you're out? Good. Me too - I've said what I believe. Some will get it, others not. I've done the best I can do.

Share this post


Link to post
kb1 said:

If a port doesn't render every map that vanilla does, it ain't a Doom port. Period.

I'll be damned if my port 'neglects unimportant tricks'. Who makes that call. Who has the right to decide what "tricks" (your word) are important. Unbelievable.


So pretty much 0 percent of ports then since most ports do a damn good job of renedering vanilla hacks.

And who makes that call to neglet hacks?
.. hmm i don't know maybe the guy who makes the port.

Share this post


Link to post
kb1 said:

Some will get it, others not.

The funny thing is that I understand everything you're trying to say.

It's just that I'd rather spend my time on someone else.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...