From 5e55f863b03d49475c70a1dbc691bea41c08e772 Mon Sep 17 00:00:00 2001 From: Tyler Young Date: Sat, 25 Feb 2023 22:06:12 -0500 Subject: [PATCH] [CLIENT] Disable fog for Vita (for now) --- .gitignore | 1 + Makefile.vita | 2 +- source/gl_rmain.c | 8 +++---- source/gl_sky.c | 2 ++ source/r_alias.c | 20 +++++++++++++++++ source/r_brush.c | 26 ++++++++++++++++++++-- source/r_world.c | 56 ++++++++++++++++++++++++++++++++--------------- 7 files changed, 90 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 07d4bb4..ebcef5f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ assets/vita/eboot.bin *.nacl *.sfo *.bin +*.o diff --git a/Makefile.vita b/Makefile.vita index de1cd21..c084f39 100644 --- a/Makefile.vita +++ b/Makefile.vita @@ -268,7 +268,7 @@ nzp.vpk: nzp.velf mv nzp.elf build/vita/ mv nzp.elf.unstripped.elf build/vita/ mv nzp.velf build/vita/ - mv source/*.o build/vita/ + #mv source/*.o build/vita/ %.velf: %.elf cp $< $<.unstripped.elf diff --git a/source/gl_rmain.c b/source/gl_rmain.c index b3a0402..8a56b52 100644 --- a/source/gl_rmain.c +++ b/source/gl_rmain.c @@ -1166,9 +1166,9 @@ R_RenderScene void R_RenderScene (void) { R_SetupScene (); //johnfitz -- this does everything that should be done once per call to RenderScene - +#ifndef VITA Fog_EnableGFog (); //johnfitz - +#endif Sky_DrawSky (); //johnfitz R_DrawWorld (); @@ -1188,9 +1188,9 @@ void R_RenderScene (void) R_DrawParticles (); QMB_DrawParticles(); - +#ifndef VITA Fog_DisableGFog (); //johnfitz - +#endif R_DrawViewModel (); //johnfitz -- moved here from R_RenderView R_DrawView2Model (); diff --git a/source/gl_sky.c b/source/gl_sky.c index 48b0831..1cf43f6 100644 --- a/source/gl_sky.c +++ b/source/gl_sky.c @@ -1026,5 +1026,7 @@ void Sky_DrawSky (void) glDepthMask(1); glDepthFunc(GL_LEQUAL); } +#ifndef VITA Fog_EnableGFog (); +#endif } diff --git a/source/r_alias.c b/source/r_alias.c index 1229fe7..d078565 100644 --- a/source/r_alias.c +++ b/source/r_alias.c @@ -1191,9 +1191,13 @@ void R_DrawAliasModel (entity_t *e) glBlendFunc (GL_ONE, GL_ONE); glDepthMask(GL_FALSE); glColor3f(entalpha,entalpha,entalpha); +#ifndef VITA Fog_StartAdditive (); +#endif GL_DrawAliasFrame (paliashdr, lerpdata); +#ifndef VITA Fog_StopAdditive (); +#endif glDepthMask(GL_TRUE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); @@ -1254,9 +1258,13 @@ void R_DrawAliasModel (entity_t *e) glDepthMask(GL_FALSE); shading = false; glColor3f(entalpha,entalpha,entalpha); +#ifndef VITA Fog_StartAdditive (); +#endif GL_DrawAliasFrame (paliashdr, lerpdata); +#ifndef VITA Fog_StopAdditive (); +#endif glDepthMask(GL_TRUE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); @@ -1273,9 +1281,13 @@ void R_DrawAliasModel (entity_t *e) glEnable(GL_BLEND); glBlendFunc (GL_ONE, GL_ONE); glDepthMask(GL_FALSE); +#ifndef VITA Fog_StartAdditive (); +#endif GL_DrawAliasFrame (paliashdr, lerpdata); +#ifndef VITA Fog_StopAdditive (); +#endif glDepthMask(GL_TRUE); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -1290,9 +1302,13 @@ void R_DrawAliasModel (entity_t *e) glDepthMask(GL_FALSE); shading = false; glColor3f(entalpha,entalpha,entalpha); +#ifndef VITA Fog_StartAdditive (); +#endif GL_DrawAliasFrame (paliashdr, lerpdata); +#ifndef VITA Fog_StopAdditive (); +#endif glDepthMask(GL_TRUE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); @@ -1331,9 +1347,13 @@ void R_DrawAliasModel (entity_t *e) glDepthMask(GL_FALSE); shading = false; glColor3f(entalpha,entalpha,entalpha); +#ifndef VITA Fog_StartAdditive (); +#endif GL_DrawAliasFrame (paliashdr, lerpdata); +#ifndef VITA Fog_StopAdditive (); +#endif glDepthMask(GL_TRUE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); diff --git a/source/r_brush.c b/source/r_brush.c index 441b576..d2a9b83 100644 --- a/source/r_brush.c +++ b/source/r_brush.c @@ -370,10 +370,14 @@ void R_DrawSequentialPoly (msurface_t *s) else //case 3: texture in one pass, lightmap in second pass using 2x modulation blend func, fog in third pass { //first pass -- texture with no fog +#ifndef VITA Fog_DisableGFog (); +#endif VITA GL_Bind (t->gltexture); DrawGLPoly (s->polys); +#ifndef VITA Fog_EnableGFog (); +#endif rs_brushpasses++; //second pass -- lightmap with black fog, modulate blended @@ -382,7 +386,9 @@ void R_DrawSequentialPoly (msurface_t *s) glDepthMask (GL_FALSE); glEnable (GL_BLEND); glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR); //2x modulate +#ifndef VITA Fog_StartAdditive (); +#endif #ifdef VITA glBegin(GL_TRIANGLE_FAN); #else @@ -395,10 +401,13 @@ void R_DrawSequentialPoly (msurface_t *s) glVertex3fv (v); } glEnd (); +#ifndef VITA Fog_StopAdditive (); +#endif rs_brushpasses++; //third pass -- black geo with normal fog, additive blended +#ifndef VITA if (Fog_GetDensity() > 0) { glBlendFunc(GL_ONE, GL_ONE); //add @@ -409,6 +418,7 @@ void R_DrawSequentialPoly (msurface_t *s) glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); rs_brushpasses++; } +#endif glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable (GL_BLEND); @@ -451,10 +461,14 @@ void R_DrawSequentialPoly (msurface_t *s) else //case 6: texture in one pass, lightmap in a second pass, fog in third pass { //first pass -- texture with no fog +#ifndef VITA Fog_DisableGFog (); +#endif GL_Bind (t->gltexture); DrawGLPoly (s->polys); +#ifndef VITA Fog_EnableGFog (); +#endif rs_brushpasses++; //second pass -- lightmap with black fog, modulate blended @@ -463,7 +477,9 @@ void R_DrawSequentialPoly (msurface_t *s) glDepthMask (GL_FALSE); glEnable (GL_BLEND); glBlendFunc (GL_ZERO, GL_SRC_COLOR); //modulate +#ifndef VITA Fog_StartAdditive (); +#endif #ifdef VITA glBegin(GL_TRIANGLE_FAN); #else @@ -476,9 +492,11 @@ void R_DrawSequentialPoly (msurface_t *s) glVertex3fv (v); } glEnd (); +#ifndef VITA Fog_StopAdditive (); +#endif rs_brushpasses++; - +#ifndef VITA //third pass -- black geo with normal fog, additive blended if (Fog_GetDensity() > 0) { @@ -490,7 +508,7 @@ void R_DrawSequentialPoly (msurface_t *s) glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); rs_brushpasses++; } - +#endif glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable (GL_BLEND); glDepthMask (GL_TRUE); @@ -517,9 +535,13 @@ fullbrights: glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glColor3f (entalpha, entalpha, entalpha); GL_Bind (t->fullbright); +#ifndef VITA Fog_StartAdditive (); +#endif DrawGLPoly (s->polys); +#ifndef VITA Fog_StopAdditive (); +#endif glColor3f(1, 1, 1); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); diff --git a/source/r_world.c b/source/r_world.c index febab07..9517616 100644 --- a/source/r_world.c +++ b/source/r_world.c @@ -1197,24 +1197,32 @@ void R_DrawTextureChains (qmodel_t *model, entity_t *ent, texchain_t chain) //to make fog work with multipass lightmapping, need to do one pass //with no fog, one modulate pass with black fog, and one additive //pass with black geometry and normal fog +#ifndef VITA Fog_DisableGFog (); +#endif R_DrawTextureChains_TextureOnly (model, ent, chain); +#ifndef VITA Fog_EnableGFog (); +#endif glDepthMask (GL_FALSE); glEnable (GL_BLEND); glBlendFunc (GL_DST_COLOR, GL_SRC_COLOR); //2x modulate +#ifndef VITA Fog_StartAdditive (); +#endif R_DrawLightmapChains (); +#ifndef VITA Fog_StopAdditive (); - //if (Fog_GetDensity() > 0) - //{ - //glBlendFunc(GL_ONE, GL_ONE); //add - //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - //glColor3f(0,0,0); - //R_DrawTextureChains_TextureOnly (model, ent, chain); - //glColor3f(1,1,1); - //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - //} + if (Fog_GetDensity() > 0) + { + glBlendFunc(GL_ONE, GL_ONE); //add + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor3f(0,0,0); + R_DrawTextureChains_TextureOnly (model, ent, chain); + glColor3f(1,1,1); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + } +#endif glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable (GL_BLEND); glDepthMask (GL_TRUE); @@ -1239,24 +1247,32 @@ void R_DrawTextureChains (qmodel_t *model, entity_t *ent, texchain_t chain) //to make fog work with multipass lightmapping, need to do one pass //with no fog, one modulate pass with black fog, and one additive //pass with black geometry and normal fog +#ifndef VITA Fog_DisableGFog (); +#endif R_DrawTextureChains_TextureOnly (model, ent, chain); +#ifndef VITA Fog_EnableGFog (); +#endif glDepthMask (GL_FALSE); glEnable (GL_BLEND); glBlendFunc(GL_ZERO, GL_SRC_COLOR); //modulate +#ifndef VITA Fog_StartAdditive (); +#endif R_DrawLightmapChains (); +#ifndef VITA Fog_StopAdditive (); - //if (Fog_GetDensity() > 0) - //{ - //glBlendFunc(GL_ONE, GL_ONE); //add - //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - //glColor3f(0,0,0); - //R_DrawTextureChains_TextureOnly (model, ent, chain); - //glColor3f(1,1,1); - //glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); - //} + if (Fog_GetDensity() > 0) + { + glBlendFunc(GL_ONE, GL_ONE); //add + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor3f(0,0,0); + R_DrawTextureChains_TextureOnly (model, ent, chain); + glColor3f(1,1,1); + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + } +#endif glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable (GL_BLEND); glDepthMask (GL_TRUE); @@ -1273,9 +1289,13 @@ fullbrights: glBlendFunc (GL_ONE, GL_ONE); glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glColor3f (entalpha, entalpha, entalpha); +#ifndef VITA Fog_StartAdditive (); +#endif R_DrawTextureChains_Glow (model, ent, chain); +#ifndef VITA Fog_StopAdditive (); +#endif glColor3f (1, 1, 1); glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);