I'm not sure about !shader.isSky as in the discord's conv they are talking about !issky and I don't know from where that comes from as it's not on jk2mv code.
it causes sky to be drawn in front of transparent elemtns
which ruins stuff like speed ghosts
or applied ent alpha
...
basically the place where SS_FOG is applied to stuff
but it shouldnt be applied to sky
Edit:
Additional context:
A: only one !issky check is needed
B: there is no issky in jk2mv code
A: well issky or sky, same thing
A: the check should be whether its a sky shader thats all
It seems that the following should be enough, said person A
if ( stage == 0 && !shader.isSky ) {
A: this is how it looks for me
A: sky, at least in my fork, is a skyParms_t struct
A: issky is a qboolean
A: so openjk has a "fix" but it doesnt reference the qboolean issky but the sky struct. maybe it works by accident
A: right. it should be only !issky probably. maybe it still works with !sky because by default that struct evaluates to 0
Hello,
Someone on JKCommunity's discord pointed out there might be a problem witht he following line:
It appear that the fix should be something like that:
I'm not sure about
!shader.isSky
as in the discord's conv they are talking about!issky
and I don't know from where that comes from as it's not on jk2mv code.The explaination is the following:
Edit:
Additional context:
It seems that the following should be enough, said person
A
I think OpenJK fixed it this way https://github.com/JACoders/OpenJK/blob/master/codemp/rd-vanilla/tr_shader.cpp#L3185