This is an automated email from the git hooks/post-receive script. smcv pushed a commit to annotated tag 1.5a in repository iortcw.
commit 9a4aa66c95717333a0ddd2b92fc317d1b37e2d4c Author: MAN-AT-ARMS <[email protected]> Date: Tue Jul 5 19:15:29 2016 -0400 All: Some fixes for portal skies --- MP/code/cgame/cg_view.c | 264 +++++++++++++++++++++++------------------------ MP/code/rend2/tr_local.h | 5 - MP/code/rend2/tr_main.c | 82 --------------- MP/code/rend2/tr_shade.c | 6 -- MP/code/rend2/tr_sky.c | 2 - SP/code/rend2/tr_local.h | 5 - SP/code/rend2/tr_main.c | 88 ---------------- SP/code/rend2/tr_shade.c | 5 - SP/code/rend2/tr_sky.c | 2 - 9 files changed, 131 insertions(+), 328 deletions(-) diff --git a/MP/code/cgame/cg_view.c b/MP/code/cgame/cg_view.c index 25d89c3..a8495dd 100644 --- a/MP/code/cgame/cg_view.c +++ b/MP/code/cgame/cg_view.c @@ -1327,10 +1327,6 @@ void CG_DrawSkyBoxPortal( void ) { float f; static qboolean foginited = qfalse; // only set the portal fog values once - if ( !cg_skybox.integer ) { - return; - } - if ( !( cstr = (char *)CG_ConfigString( CS_SKYBOXORG ) ) || !strlen( cstr ) ) { // no skybox in this map return; @@ -1345,166 +1341,168 @@ void CG_DrawSkyBoxPortal( void ) { backuprefdef = cg.refdef; - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); - } - cg.refdef.vieworg[0] = atof( token ); + if ( cg_skybox.integer ) { + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); + } + cg.refdef.vieworg[0] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); - } - cg.refdef.vieworg[1] = atof( token ); + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); + } + cg.refdef.vieworg[1] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); - } - cg.refdef.vieworg[2] = atof( token ); + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); + } + cg.refdef.vieworg[2] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); - } + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring\n" ); + } - // setup fog the first time, ignore this part of the configstring after that - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog state\n" ); - } else { - vec4_t fogColor; - int fogStart, fogEnd; - - if ( atoi( token ) ) { // this camera has fog - if ( !foginited ) { - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[0]\n" ); - } - fogColor[0] = atof( token ); + // setup fog the first time, ignore this part of the configstring after that + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog state\n" ); + } else { + vec4_t fogColor; + int fogStart, fogEnd; + + if ( atoi( token ) ) { // this camera has fog + if ( 1 ) { + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[0]\n" ); + } + fogColor[0] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[1]\n" ); - } - fogColor[1] = atof( token ); + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[1]\n" ); + } + fogColor[1] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[2]\n" ); - } - fogColor[2] = atof( token ); + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + CG_Error( "CG_DrawSkyBoxPortal: error parsing skybox configstring. No fog[2]\n" ); + } + fogColor[2] = atof( token ); - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - fogStart = 0; - } else { - fogStart = atoi( token ); - } + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + fogStart = 0; + } else { + fogStart = atoi( token ); + } - token = COM_ParseExt( &cstr, qfalse ); - if ( !token || !token[0] ) { - fogEnd = 0; - } else { - fogEnd = atoi( token ); - } + token = COM_ParseExt( &cstr, qfalse ); + if ( !token || !token[0] ) { + fogEnd = 0; + } else { + fogEnd = atoi( token ); + } - trap_R_SetFog( FOG_PORTALVIEW, fogStart, fogEnd, fogColor[0], fogColor[1], fogColor[2], 1.1 ); - foginited = qtrue; - } - } else { - if ( !foginited ) { - trap_R_SetFog( FOG_PORTALVIEW, 0,0,0,0,0,0 ); // init to null - foginited = qtrue; + trap_R_SetFog( FOG_PORTALVIEW, fogStart, fogEnd, fogColor[0], fogColor[1], fogColor[2], 1.1 ); + foginited = qtrue; + } + } else { + if ( !foginited ) { + trap_R_SetFog( FOG_PORTALVIEW, 0,0,0,0,0,0 ); // init to null + foginited = qtrue; + } } } - } -//----(SA) end + //----(SA) end - if ( cg.predictedPlayerState.pm_type == PM_INTERMISSION ) { - // if in intermission, use a fixed value - fov_x = 90; - } else { - // user selectable - if ( ( cgs.dmflags & DF_FIXED_FOV ) || cg_fixedAspect.integer ) { - // dmflag to prevent wide fov for all clients + if ( cg.predictedPlayerState.pm_type == PM_INTERMISSION ) { + // if in intermission, use a fixed value fov_x = 90; } else { - fov_x = cg_fov.value; - if ( fov_x < 1 ) { - fov_x = 1; - } else if ( fov_x > 160 ) { - fov_x = 160; + // user selectable + if ( ( cgs.dmflags & DF_FIXED_FOV ) || cg_fixedAspect.integer ) { + // dmflag to prevent wide fov for all clients + fov_x = 90; + } else { + fov_x = cg_fov.value; + if ( fov_x < 1 ) { + fov_x = 1; + } else if ( fov_x > 160 ) { + fov_x = 160; + } } - } - // account for zooms - if ( cg.zoomval ) { - zoomFov = cg.zoomval; // (SA) use user scrolled amount - - if ( zoomFov < 1 ) { - zoomFov = 1; - } else if ( zoomFov > 160 ) { - zoomFov = 160; - } - } else { - zoomFov = lastfov; - } + // account for zooms + if ( cg.zoomval ) { + zoomFov = cg.zoomval; // (SA) use user scrolled amount - // do smooth transitions for the binocs - if ( cg.zoomedBinoc ) { // binoc zooming in - f = ( cg.time - cg.zoomTime ) / (float)ZOOM_TIME; - if ( f > 1.0 ) { - fov_x = zoomFov; + if ( zoomFov < 1 ) { + zoomFov = 1; + } else if ( zoomFov > 160 ) { + zoomFov = 160; + } } else { - fov_x = fov_x + f * ( zoomFov - fov_x ); + zoomFov = lastfov; } - lastfov = fov_x; - } else if ( cg.zoomval ) { // zoomed by sniper/snooper - fov_x = cg.zoomval; - lastfov = fov_x; - } else { // binoc zooming out - f = ( cg.time - cg.zoomTime ) / (float)ZOOM_TIME; - if ( f <= 1.0 ) { - fov_x = zoomFov + f * ( fov_x - zoomFov ); + + // do smooth transitions for the binocs + if ( cg.zoomedBinoc ) { // binoc zooming in + f = ( cg.time - cg.zoomTime ) / (float)ZOOM_TIME; + if ( f > 1.0 ) { + fov_x = zoomFov; + } else { + fov_x = fov_x + f * ( zoomFov - fov_x ); + } + lastfov = fov_x; + } else if ( cg.zoomval ) { // zoomed by sniper/snooper + fov_x = cg.zoomval; + lastfov = fov_x; + } else { // binoc zooming out + f = ( cg.time - cg.zoomTime ) / (float)ZOOM_TIME; + if ( f <= 1.0 ) { + fov_x = zoomFov + f * ( fov_x - zoomFov ); + } } } - } - if ( cg.weaponSelect == WP_SNOOPERSCOPE ) { - cg.refdef.rdflags |= RDF_SNOOPERVIEW; - } else { - cg.refdef.rdflags &= ~RDF_SNOOPERVIEW; - } - - if ( cg.snap->ps.persistant[PERS_HWEAPON_USE] ) { - fov_x = 55; - } - - if ( cg_fixedAspect.integer ) { - // Based on LordHavoc's code for Darkplaces - // http://www.quakeworld.nu/forum/topic/53/what-does-your-qw-look-like/page/30 - const float baseAspect = 0.75f; // 3/4 - const float aspect = (float)cg.refdef.width/(float)cg.refdef.height; - const float desiredFov = fov_x; + if ( cg.weaponSelect == WP_SNOOPERSCOPE ) { + cg.refdef.rdflags |= RDF_SNOOPERVIEW; + } else { + cg.refdef.rdflags &= ~RDF_SNOOPERVIEW; + } - fov_x = atan2( tan( desiredFov*M_PI / 360.0f ) * baseAspect*aspect, 1 )*360.0f / M_PI; - } + if ( cg.snap->ps.persistant[PERS_HWEAPON_USE] ) { + fov_x = 55; + } - cg.refdef.time = cg.time; + if ( cg_fixedAspect.integer ) { + // Based on LordHavoc's code for Darkplaces + // http://www.quakeworld.nu/forum/topic/53/what-does-your-qw-look-like/page/30 + const float baseAspect = 0.75f; // 3/4 + const float aspect = (float)cg.refdef.width/(float)cg.refdef.height; + const float desiredFov = fov_x; + + fov_x = atan2( tan( desiredFov*M_PI / 360.0f ) * baseAspect*aspect, 1 )*360.0f / M_PI; + } - x = cg.refdef.width / tan( fov_x / 360 * M_PI ); - fov_y = atan2( cg.refdef.height, x ); - fov_y = fov_y * 360 / M_PI; + x = cg.refdef.width / tan( fov_x / 360 * M_PI ); + fov_y = atan2( cg.refdef.height, x ); + fov_y = fov_y * 360 / M_PI; - cg.refdef.fov_x = fov_x; - cg.refdef.fov_y = fov_y; + cg.refdef.fov_x = fov_x; + cg.refdef.fov_y = fov_y; + } cg.refdef.rdflags |= RDF_SKYBOXPORTAL; + cg.refdef.time = cg.time; + // draw the skybox trap_R_RenderScene( &cg.refdef ); diff --git a/MP/code/rend2/tr_local.h b/MP/code/rend2/tr_local.h index 4c5b425..7f8264b 100644 --- a/MP/code/rend2/tr_local.h +++ b/MP/code/rend2/tr_local.h @@ -2811,11 +2811,6 @@ GL FOG extern glfog_t glfogsettings[NUM_FOGS]; // [0] never used (FOG_NONE) extern glfogType_t glfogNum; // fog type to use (from the fog_t enum list) -extern qboolean fogIsOn; - -extern void R_FogOff( void ); -extern void R_FogOn( void ); - extern void R_SetFog( int fogvar, int var1, int var2, float r, float g, float b, float density ); extern int skyboxportal; diff --git a/MP/code/rend2/tr_main.c b/MP/code/rend2/tr_main.c index 941b119..edb2453 100644 --- a/MP/code/rend2/tr_main.c +++ b/MP/code/rend2/tr_main.c @@ -58,83 +58,6 @@ surfaceType_t entitySurface = SF_ENTITY; // fog stuff glfog_t glfogsettings[NUM_FOGS]; glfogType_t glfogNum = FOG_NONE; -qboolean fogIsOn = qfalse; - - -/* -================= -R_Fog (void) -================= -*/ -void R_Fog( glfog_t *curfog ) { - - if ( !r_wolffog->integer ) { - R_FogOff(); - return; - } - - if ( !curfog->registered ) { //----(SA) - R_FogOff(); - return; - } - - //----(SA) assme values of '0' for these parameters means 'use default' - if ( !curfog->density ) { - curfog->density = 1; - } - if ( !curfog->hint ) { - curfog->hint = GL_DONT_CARE; - } - if ( !curfog->mode ) { - curfog->mode = GL_LINEAR; - } - //----(SA) end - - R_FogOn(); -} - -// Ridah, allow disabling fog temporarily -void R_FogOff( void ) { - if ( !fogIsOn ) { - return; - } - //qglDisable( GL_FOG ); - fogIsOn = qfalse; -} - -void R_FogOn( void ) { - if ( fogIsOn ) { - return; - } - - if ( r_uiFullScreen->integer ) { // don't fog in the menu - R_FogOff(); - return; - } - - if ( !r_wolffog->integer ) { - return; - } - -// if(backEnd.viewParms.isGLFogged) { -// if(!(backEnd.viewParms.glFog.registered)) -// return; -// } - - if ( backEnd.refdef.rdflags & RDF_SKYBOXPORTAL ) { // don't force world fog on portal sky - if ( !( glfogsettings[FOG_PORTALVIEW].registered ) ) { - return; - } - } else if ( !glfogNum ) { - return; - } - - //qglEnable( GL_FOG ); - fogIsOn = qtrue; -} -// done. - - //----(SA) /* @@ -2295,8 +2218,6 @@ void R_DebugGraphics( void ) { return; } - R_FogOff(); // moved this in here to keep from /always/ doing the fog state change - R_IssuePendingRenderCommands(); GL_BindToTMU(tr.whiteImage, TB_COLORMAP); @@ -2349,10 +2270,7 @@ void R_RenderView( viewParms_t *parms ) { R_SortDrawSurfs( tr.refdef.drawSurfs + firstDrawSurf, numDrawSurfs - firstDrawSurf ); // draw main system development information (surface outlines, etc) - R_FogOff(); R_DebugGraphics(); - R_FogOn(); - } diff --git a/MP/code/rend2/tr_shade.c b/MP/code/rend2/tr_shade.c index c029882..24421c8 100644 --- a/MP/code/rend2/tr_shade.c +++ b/MP/code/rend2/tr_shade.c @@ -1060,8 +1060,6 @@ static void ProjectPshadowVBOGLSL( void ) { } } -extern qboolean fogIsOn; - /* =================== RB_FogPass @@ -1084,12 +1082,8 @@ static void RB_FogPass( int wolfFog ) { return; } - if (!fogIsOn) - return; - if (wolfFog) { - // from R_Fog(), altered slightly if ( backEnd.projection2D ) { return; } diff --git a/MP/code/rend2/tr_sky.c b/MP/code/rend2/tr_sky.c index f97dd7d..550ee11 100644 --- a/MP/code/rend2/tr_sky.c +++ b/MP/code/rend2/tr_sky.c @@ -1076,8 +1076,6 @@ void RB_DrawSun( float scale, shader_t *shader ) { qglDepthRange( 0.0, 1.0 ); } -extern void R_Fog( glfog_t *curfog ); - /* ================ RB_StageIteratorSky diff --git a/SP/code/rend2/tr_local.h b/SP/code/rend2/tr_local.h index 6148c31..38bb85a 100644 --- a/SP/code/rend2/tr_local.h +++ b/SP/code/rend2/tr_local.h @@ -2841,11 +2841,6 @@ GL FOG extern glfog_t glfogsettings[NUM_FOGS]; // [0] never used (FOG_NONE) extern glfogType_t glfogNum; // fog type to use (from the fog_t enum list) -extern qboolean fogIsOn; - -extern void R_FogOff( void ); -extern void R_FogOn( void ); - extern void R_SetFog( int fogvar, int var1, int var2, float r, float g, float b, float density ); extern int skyboxportal; diff --git a/SP/code/rend2/tr_main.c b/SP/code/rend2/tr_main.c index 7cc2b2a..b0d9e0f 100644 --- a/SP/code/rend2/tr_main.c +++ b/SP/code/rend2/tr_main.c @@ -58,89 +58,6 @@ surfaceType_t entitySurface = SF_ENTITY; // fog stuff glfog_t glfogsettings[NUM_FOGS]; glfogType_t glfogNum = FOG_NONE; -qboolean fogIsOn = qfalse; - - -/* -================= -R_Fog (void) -================= -*/ -void R_Fog( glfog_t *curfog ) { - - if ( !r_wolffog->integer ) { - R_FogOff(); - return; - } - - if ( !curfog->registered ) { //----(SA) - R_FogOff(); - return; - } - - //----(SA) assme values of '0' for these parameters means 'use default' - if ( !curfog->density ) { - curfog->density = 1; - } - if ( !curfog->hint ) { - curfog->hint = GL_DONT_CARE; - } - if ( !curfog->mode ) { - curfog->mode = GL_LINEAR; - } - //----(SA) end - - - R_FogOn(); -} - -// Ridah, allow disabling fog temporarily -void R_FogOff( void ) { - if ( !fogIsOn ) { - return; - } - //qglDisable( GL_FOG ); - fogIsOn = qfalse; -} - -void R_FogOn( void ) { - if ( fogIsOn ) { - return; - } - -// if(r_uiFullScreen->integer) { // don't fog in the menu -// R_FogOff(); -// return; -// } - - if ( backEnd.projection2D ) { // no fog in 2d - R_FogOff(); - return; - } - - if ( !r_wolffog->integer ) { - return; - } - -// if(backEnd.viewParms.isGLFogged) { -// if(!(backEnd.viewParms.glFog.registered)) -// return; -// } - - if ( backEnd.refdef.rdflags & RDF_SKYBOXPORTAL ) { // don't force world fog on portal sky - if ( !( glfogsettings[FOG_PORTALVIEW].registered ) ) { - return; - } - } else if ( !glfogNum ) { - return; - } - - //qglEnable( GL_FOG ); - fogIsOn = qtrue; -} -// done. - - //----(SA) /* @@ -2344,8 +2261,6 @@ void R_DebugGraphics( void ) { return; } - R_FogOff(); // moved this in here to keep from /always/ doing the fog state change - R_IssuePendingRenderCommands(); GL_BindToTMU(tr.whiteImage, TB_COLORMAP); @@ -2398,10 +2313,7 @@ void R_RenderView( viewParms_t *parms ) { R_SortDrawSurfs( tr.refdef.drawSurfs + firstDrawSurf, numDrawSurfs - firstDrawSurf ); // draw main system development information (surface outlines, etc) - R_FogOff(); R_DebugGraphics(); - R_FogOn(); - } void R_RenderDlightCubemaps(const refdef_t *fd) diff --git a/SP/code/rend2/tr_shade.c b/SP/code/rend2/tr_shade.c index e099f04..f600fb0 100644 --- a/SP/code/rend2/tr_shade.c +++ b/SP/code/rend2/tr_shade.c @@ -1054,7 +1054,6 @@ static void ProjectPshadowVBOGLSL( void ) { } } -extern qboolean fogIsOn; /* =================== @@ -1078,12 +1077,8 @@ static void RB_FogPass( int wolfFog ) { return; } - if (!fogIsOn) - return; - if (wolfFog) { - // from R_Fog(), altered slightly if ( backEnd.projection2D ) { return; } diff --git a/SP/code/rend2/tr_sky.c b/SP/code/rend2/tr_sky.c index ff23bdd..71c6d7e 100644 --- a/SP/code/rend2/tr_sky.c +++ b/SP/code/rend2/tr_sky.c @@ -1073,8 +1073,6 @@ void RB_DrawSun( float scale, shader_t *shader ) { qglDepthRange( 0.0, 1.0 ); } -extern void R_Fog( glfog_t *curfog ); - /* ================ RB_StageIteratorSky -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/iortcw.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

