Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
doomkr

Skybox problem in Heretic

Recommended Posts

I don't know why but my replaced skybox have a weird yellowish line on top and I converted skybox texture to doom gfx format heretic colour

chocolate-heretic 2019-12-16 16-30-42-04.png

Share this post


Link to post

In that case I'm a bit at a loss.  It looks similar to the tutti-frutti error that can display in vanilla if the tiling point of the sky becomes visible.  Heretic skies should tile at a point that's normally hidden behind the level's walls.

 

A look at the WAD in question might be enlightening.

 

 

Share this post


Link to post

Something might have gone wrong with the conversion...?  The sky patches in HERETIC.WAD list as 52.26Kb in my copy of SLADE, not 53.26.  Maybe try re-inserting and re-converting the sky and see if it might've been a one-time error.

 

If that doesn't change anything, check if you redefined SKY1 in the TEXTURE1 listing in any way?  And whether the problem happens across all ports or only some?

Share this post


Link to post

I cannot see anything wrong with your sky image, but then I have not made a map for Heretic in quite some time, so who knows ...

 

So, I made a very simple map with GZDBBF

 

Spoiler

xCDjEE1.png

 

and ran it with the original sky


 

Spoiler

 

w9aGyuO.png

 

hF6aWfv.png

 

 

and then with your sky image


 

Spoiler

 

nMeXQCa.png

 

4P5Q9XR.png

 

 

and no line across the sky.

 

Then as a final test I ran Heretic with the new sky


 

Spoiler

 

UjxhWPx.png

 

jSQLUDD.png

 

 

The only negative would be that the stars do not tile very well.

 

I should mention that I ran the maps with GZDoom hardware mode.

Edited by Kappes Buur

Share this post


Link to post

Me I use chocolate-heretic... hmmm what weird in gzdoom work you.

I tested it in zdoom too and skybox looks fine too :/

Share this post


Link to post

Is the new sky image in a separate pwad, or in the heretic iwad?

 

If it is in a pwad, try using -merge to load it instead of -file.

Share this post


Link to post
1 hour ago, Alper002 said:

What does the texture entry look like in TEXTURE1? Could there be anything there that could hint at the issue?

Here how looks

Captura.PNG

Share this post


Link to post
1 hour ago, andrewj said:

Is the new sky image in a separate pwad, or in the heretic iwad?

 

If it is in a pwad, try using -merge to load it instead of -file.

Didn't work

Share this post


Link to post

Yeah my skybox is 256x200 but in game looks with that shitty yellow line, the 256x128 is default sky you see there

Share this post


Link to post

Yeah, you should not have duplicates of SKY1 in the texture list, to make sure that the correct one is loaded. (It will load the first one with the matching name in the texture list.)

 

Also the sky texture should be 256x128, just like the original sky texture definitions in Heretic.

Spoiler

bi2oSzu.png

 

Share this post


Link to post

I'll take a crack at it ...

 

As is,

LANCELOT.WAD displays in chocolate-heretic with the familiar line

 

Spoiler

OZKFBS8.png

 

and in GZDOOM like this

 

Spoiler

mDCw3NS.png

 

and in LZDOOM like this

 

Spoiler

ClrTcEJ.png

 

obviously there is something wrong with the sky image, so I loaded the pwad into Slade3 and low and behold the TEXTURE1 editor shows this

 

Spoiler

bNW0Q9O.png

 

whereupon I corrected the sizing, image size and offsets, to this

 

Spoiler

M5wjt5a.png

 

After this correction

chocolate-heretic still shows the line across the sky but in both, GZDOOM and LZDOOM, the sky shows correctly. Therefore, my conclusion is that there is something very wrong with the programming of chocolate-heretic. So, for now, use either GZDOOM or LZDOOM for your heretic pwad.

 

edit:

I also checked BLASPHEMER with chocolate-heretic with the same result, a line across the sky.

 

Spoiler

6OjJdGP.png

 

Since I have no interest in ever using chocolate-heretic for my gameplay, I leave it up to somebody else to report this as a bug report.

Edited by Kappes Buur

Share this post


Link to post

Let's not give up just yet!

 

I wasn't sure if a weird Chocolate bug was at play, but no, the behavior Chocolate exhibits is accurate emulation of a vanilla bug so bug-reporting it to the Chocolate devs would be a waste of your and their time.  It is the tutti-frutti effect like I initially suspected, but it's a weird way of triggering it.  The Blasphemer screenshot is typical to how it usually appears in Heretic, i.e. it's normally hidden behind the walls and only shows if a sky ceiling is lowered.  The line shouldn't be appearing so high and visibly in the sky without something else being wrong.

 

What is going on appears to be a SLADE bug.  Remember I said the texture lump size seemed weird.  A sky patch for Heretic should be 53512 bytes.  I rolled back to an older version of SLADE I had kept around (3.1.1.5) and re-inserted the texture and it seems to work.  Current version of SLADE is corrupting the sky patches somehow, in a way that ZDoom ports are just shrugging off but that matters to vanilla/chocolate apparently.  Your problem sky patch was 54536 bytes, larger than it should be.

 

The fact that the sizing/offsets in the texture definitions were wrong surely didn't help, but weren't the root cause of the problem it would appear.  Typically if you're inserting a new sky (unless you're doing one of those four-patch 360-degree skies) you only need to insert a replacement patch and not change the existing texture definition.  You also had some other corruption in your texture definitions that could have caused you problems down the line, I'm not sure why, but I attempted to clean those up as well.

LANCELOT-fixed.7z

Share this post


Link to post
44 minutes ago, ETTiNGRiNDER said:

What is going on appears to be a SLADE bug.  Remember I said the texture lump size seemed weird.  A sky patch for Heretic should be 53512 bytes.  I rolled back to an older version of SLADE I had kept around (3.1.1.5) and re-inserted the texture and it seems to work.  Current version of SLADE is corrupting the sky patches somehow, in a way that ZDoom ports are just shrugging off but that matters to vanilla/chocolate apparently.

 

Interesting. I guess I have the explanation, and the culprit is, obviously, @Linguica. :p

 

I'm kidding, but first, take a look at this topic:

 

So here's what's happening: vanilla Doom has a weird column renderer that doesn't handle spans longer than 128 gracefully. To solve this problem, when images are taller than 128, they're split into spans of 128. Heretic has skies that are taller than 128, but to render them, it uses a weird hack: the texture is still defined as being only 128-texel-tall, however instead of calling the regular ColumnRenderer function when drawing skies, it integrates some tweaked code that basically duplicates the normal column renderer but draws up to 200 texels in each span instead of looking at span dimensions.

 

The result is that the yellow line you get is actually caused by the definition for the new span of 72 texels starting at offset 128. Look carefully at the screenshots with the yellow line: it's actually two lines, one on top of a bright orange (corresponding to color 128 in the Heretic palette) and another just below of a dark brown (corresponding to color 72). The Heretic column renderer just continues on beyond the "official" length of the spans and reads as pixel colors the metadata for the second span in the column.

 

ZDoom-based ports don't suffer from this issue because they draw the skies normally instead of hacking around. (In fact there's code to fix the texture size, so ZDoom hacks around the hack.) It's plausible that the texture is defined to be only 128-tall in Heretic so that it doesn't cause problems when used on a wall as a regular texture instead of as a sky texture.

 

And SLADE 3.1.1.5 was released in January 2017, while support for the vanilla-compatible tall patches was added in February 2017, which is why 3.1.1.5 is the last version that can create vanilla Heretic skies.

Share this post


Link to post
9 minutes ago, Gez said:

 

Interesting. I guess I have the explanation, and the culprit is, obviously, @Linguica. :p

 

I'm kidding, but first, take a look at this topic:

 

So here's what's happening: vanilla Doom has a weird column renderer that doesn't handle spans longer than 128 gracefully. To solve this problem, when images are taller than 128, they're split into spans of 128. Heretic has skies that are taller than 128, but to render them, it uses a weird hack: the texture is still defined as being only 128-texel-tall, however instead of calling the regular ColumnRenderer function when drawing skies, it integrates some tweaked code that basically duplicates the normal column renderer but draws up to 200 texels in each span instead of looking at span dimensions.

 

The result is that the yellow line you get is actually caused by the definition for the new span of 72 texels starting at offset 128. Look carefully at the screenshots with the yellow line: it's actually two lines, one on top of a bright orange (corresponding to color 128 in the Heretic palette) and another just below of a dark brown (corresponding to color 72). The Heretic column renderer just continues on beyond the "official" length of the spans and reads as pixel colors the metadata for the second span in the column.

 

ZDoom-based ports don't suffer from this issue because they draw the skies normally instead of hacking around. (In fact there's code to fix the texture size, so ZDoom hacks around the hack.) It's plausible that the texture is defined to be only 128-tall in Heretic so that it doesn't cause problems when used on a wall as a regular texture instead of as a sky texture.

 

And SLADE 3.1.1.5 was released in January 2017, while support for the vanilla-compatible tall patches was added in February 2017, which is why 3.1.1.5 is the last version that can create vanilla Heretic skies.

God, really thanks a lot, in nutshell was fault by slade versión right? Btw I included you on credits

Share this post


Link to post
22 minutes ago, Gez said:

The result is that the yellow line you get is actually caused by the definition for the new span of 72 texels starting at offset 128. Look carefully at the screenshots with the yellow line: it's actually two lines, one on top of a bright orange (corresponding to color 128 in the Heretic palette) and another just below of a dark brown (corresponding to color 72). The Heretic column renderer just continues on beyond the "official" length of the spans and reads as pixel colors the metadata for the second span in the column.

Huh, so it's not quite the same thing as the classic tutti-frutti I take it?

Share this post


Link to post

It's the same basic explanation: garbage caused by reading as texels what isn't actually texel data.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×