JACoders / OpenJK

Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software
GNU General Public License v2.0
1.99k stars 607 forks source link

Cloak Item Bug #893

Open ghost opened 7 years ago

ghost commented 7 years ago

Reporting a bug? Please make sure you've given the following information - thanks!

Operating system and version: Windows 10 64 Bit

Is this for single player or multiplayer? Multiplayer

Description of the bug (and if possible, steps to reproduce the bug): CG_rendertotexturefx 1 does not display the cloak item correctly when cg_shadows is set to 2, this displays the unrendered shader. The cloak without this on also displays as red.

http://images.akamai.steamusercontent.com/ugc/108479918417213570/60D44321E9865D5200F4F6439D9912883CB61448/

What did you expect to happen instead?

Normal cloak appearance with shader or without red shading.

ensiform commented 7 years ago

Wonder if a recent change did this because I've never seen the red cloak issue. However cg_renderToTexture 1 does need to be on like the person in your screenshot suggests or the refraction effect will not work. Also a good possibility there's just a conflict with the more expensive shadows and the rendering of those post process effects.

ensiform commented 7 years ago

I just checked actually and can't reproduce your issue with cg_renderToTextureFX 0 or 1 and cg_shadows 1 2 or 3.

Are you certain this is OpenJK related an not a client side mod you're using? Or a custom pk3 conflicting with things up? Or do you map and have the shaders from the radiant pack installed in your base folder which can fuck up the game's shaders because the radiant shader pack is missing many in-game critical ones.

ghost commented 7 years ago

That's what I meant, the expensive shadows seem to conflict with cg_rendertotexturefx 1 and it displays that cloak. As for the PK3's, had a buddy of mine test the cloak too, same build same red colouring issue. No radiant shaders present.

ensiform commented 7 years ago

Minus the red, thats actually the intended look of cloak when you have cg_shadows 2. Two things cannot occupy the stencil buffer at once so there is a compromise in the client mod (that exists in base's version of the client mod too).

The cgamex86.dll code (client side mod) explicitly states this:

if (cg_shadows.integer != 2 && cgs.glconfig.stencilBits >= 4 && cg_renderToTextureFX.integer)
{
    trap->R_SetRefractionProperties(1.0f, 0.0f, qfalse, qfalse); //don't need to do this every frame.. but..
    legs.customShader = 2; //crazy "refractive" shader
    trap->R_AddRefEntityToScene( &legs );
    legs.customShader = 0;
}
else
{ //stencil buffer's in use, sorry
    legs.renderfx = 0;//&= ~(RF_RGB_TINT|RF_ALPHA_FADE);
    legs.shaderRGBA[0] = legs.shaderRGBA[1] = legs.shaderRGBA[2] = legs.shaderRGBA[3] = 255;
    legs.customShader = cgs.media.cloakedShader;
    trap->R_AddRefEntityToScene( &legs );
    legs.customShader = 0;
}

For me it looks like a normal color not red, so I don't know what is causing the red (for you) just yet.

20161126180428_1

Most likely some mod is changing gfx/effects/cloakedShader, gfx/effects/chrome2.jpg or the entity is still somehow using an RGB tint from the entity somehow. I'm assuming one of the first two since my character in that screenshot is using an orange tint but that doesn't appear and the above code shows it skips tint (sets back to 255 255 255 aka white).